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

# Quickstart

> Make your first authenticated Spritz API call in minutes.

This guide walks through your first authenticated request to the Spritz API. By the
end you'll have confirmed your credentials work and read back the authenticated user.

## Prerequisites

* A Spritz integrator account and credentials. See [Authentication](/guides/authentication)
  for how each credential type works and which one fits your integration.
* A REST client (`curl`, Postman, or your language's HTTP library).

<Note>
  Don't have credentials yet? [Get in touch](https://help.spritz.finance/en/) to set up
  an integrator account and start in the [sandbox](/guides/sandbox).
</Note>

<Note>
  The API base URL is `https://platform.spritz.finance`. All endpoints are versioned
  under `/v1`.
</Note>

The [API Reference](/api-reference) is generated from the deployed production contract.
For client generation or environment-specific validation, use the canonical
[production OpenAPI](https://platform.spritz.finance/openapi.json) or
[sandbox OpenAPI](https://sandbox.spritz.finance/openapi.json) directly.

<Tip>
  These docs are machine-readable. `/llms.txt` indexes every page, any page is available
  as markdown by appending `.md` to its URL (for example
  `/guides/use-cases/off-ramp.md`), and the OpenAPI spec doubles as the source for
  generated clients — all three are handy things to hand to a coding agent.
</Tip>

<Note>
  We publish an `api-client` package, and we'd rather you didn't use it right now: it's
  a mix of the older and current APIs, and that seam causes more confusion than it saves.
  Build against the REST API documented here, and generate typed clients from the OpenAPI
  spec if you want them — that stays in sync with reality. The one thing the package repo
  is good for: it contains working TypeScript for HMAC request signing, so if you're
  fighting `401`s, read that code as a reference implementation. Copy the signing logic;
  don't take the dependency.
</Note>

## Make your first call

`GET /v1/integrator` returns your integrator profile — the simplest way to confirm your
credentials work, and it needs no user:

```bash theme={null}
curl https://platform.spritz.finance/v1/integrator \
  -H "X-Integrator-Key: $SPRITZ_INTEGRATOR_KEY" \
  -H "X-Timestamp: $TIMESTAMP_MS" \
  -H "X-Signature: $SIGNATURE"   # see Authentication for signing
```

Once you're acting for a user, `GET /v1/users/me` reads the authenticated user:

<CodeGroup>
  ```bash curl theme={null}
  curl https://platform.spritz.finance/v1/users/me \
    -H "Authorization: Bearer $SPRITZ_TOKEN"
  ```

  ```ts TypeScript theme={null}
  const res = await fetch("https://platform.spritz.finance/v1/users/me", {
    headers: { Authorization: `Bearer ${process.env.SPRITZ_TOKEN}` },
  });

  const user = await res.json();
  ```
</CodeGroup>

A successful response returns `200 OK`. If the credential is missing or invalid you'll
get a `401` [problem response](/guides/errors).

## Next steps

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/guides/authentication">
    Understand HMAC signing and integrator tokens.
  </Card>

  <Card title="Off-ramp to fiat" icon="arrow-right-from-bracket" href="/guides/use-cases/off-ramp">
    Convert stablecoins and other tokens to fiat and settle to a bank account.
  </Card>

  <Card title="Handle errors" icon="triangle-exclamation" href="/guides/errors">
    Parse RFC 9457 problem responses consistently.
  </Card>

  <Card title="Receive webhooks" icon="bell" href="/guides/webhooks">
    Track settlement and status changes asynchronously.
  </Card>
</CardGroup>
