> ## Documentation Index
> Fetch the complete documentation index at: https://docs.syrto.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> A custom, per-client REST API for Syrto's financial data on Italian companies.

<Info>
  The Syrto API is a bespoke, per-client offering. Syrto provisions a dedicated API for an organization on request, for specific use cases - it is not a self-serve public product. This section applies only if Syrto has set up an API for your organization. To request one, contact sales.
</Info>

The Syrto API is a REST layer over Syrto's financial database. Each organization gets its own API, tailored to its use case: the available endpoints, their pricing, and their response shapes are configured per client. Your own [OpenAPI schema](/api/openapi) - fetched with your API key - is the authoritative reference for exactly what your API exposes.

The pages in this section document the conventions shared by every Syrto API (authentication, the response envelope, errors, rate limits, versioning) and walk through example endpoints that illustrate the kind of resources Syrto can provision.

## Base URL

```
https://api.syrto.ai
```

All endpoints are served over HTTPS. Your API key determines which organization's API you reach and which endpoints you can call - see [Authentication](/api/authentication).

## Your endpoints

Because endpoints are configured per client, there is no single fixed list. The endpoints provisioned for your organization are described in [your own schema](/api/openapi), which you can fetch and preview with your API key.

The [example endpoints](/api/endpoints/company-financials) below show the kind of resources Syrto commonly exposes - your API may include some, all, or bespoke variants of them:

<CardGroup cols={2}>
  <Card title="Company financials" icon="chart-line" href="/api/endpoints/company-financials">
    A financial snapshot for a single company by tax ID.
  </Card>

  <Card title="Credit report" icon="file-shield" href="/api/endpoints/company-credit-report">
    A full credit report - identity, risk indicators, ownership, officers, and recent financials.
  </Card>

  <Card title="Company profile" icon="building" href="/api/endpoints/company-profile">
    A company profile that adapts to size: peers for large companies, a deeper risk view for smaller ones.
  </Card>

  <Card title="Company report" icon="file-invoice" href="/api/endpoints/company-report">
    A comprehensive report with multi-year financial statements, branches, and beneficial owners.
  </Card>
</CardGroup>

## Response envelope

Every successful response is a JSON object with two top-level fields: `data` and `meta`.

```json theme={null}
{
  "data": { "...": "endpoint-specific resource" },
  "meta": {
    "requestId": "req_018f9c2e7b7a7c3e9a1b2c3d4e5f6a7b",
    "endpoint": "company-financials",
    "usage": { "quantity": 5, "unit": "credits" }
  }
}
```

<ResponseField name="data" type="object">
  The endpoint's resource. On a `200` response `data` is always present and non-null - a request that matches no company returns [`404 not_found`](/api/errors) instead, never a `200` with an empty body.
</ResponseField>

<ResponseField name="meta" type="object">
  Metadata about the call:

  * `requestId` - a unique id for the request (`req_` followed by a UUID). Quote it in support requests.
  * `endpoint` - the endpoint slug that served the request.
  * `usage` - the usage measure recorded for the call, as `{ quantity, unit }`.
</ResponseField>

## Response headers

Alongside the JSON body, responses carry a few headers:

| Header                                                              | On                        | Description                                         |
| ------------------------------------------------------------------- | ------------------------- | --------------------------------------------------- |
| `X-Request-Id`                                                      | every response            | The request id, matching `meta.requestId`.          |
| `X-Syrto-Endpoint`                                                  | success                   | The endpoint slug that served the request.          |
| `X-Usage-Quantity`                                                  | success                   | The usage quantity recorded for the call.           |
| `X-Usage-Unit`                                                      | success                   | The usage unit (e.g. `credits` or `calls`).         |
| `X-RateLimit-Limit` / `X-RateLimit-Remaining` / `X-RateLimit-Reset` | every call to an endpoint | Your current [rate-limit](/api/rate-limits) budget. |
| `Retry-After`                                                       | `429` / `503`             | Seconds to wait before retrying, when applicable.   |

## Quickstart

Once Syrto has provisioned your API and you have a key, call one of your endpoints (the exact path depends on your schema):

```bash theme={null}
curl -H "Authorization: Bearer $SYRTO_API_KEY" \
  https://api.syrto.ai/companies/01654010345/financials
```

A successful call returns `200` with a `{ data, meta }` body. If the key is missing or invalid you get `401`; if no company matches, `404`. See [Errors](/api/errors) for the full list.

## Support

* **Email:** [support@syrto.ai](mailto:support@syrto.ai)
* **Website:** [syrto.ai](https://www.syrto.ai)
