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

# Quickstart

> Make your first authenticated request and read a contact.

<Steps>
  <Step title="Get a token">
    Tokens are created by an administrator of your Sailer workspace — anyone
    with the **Configuration** permission. Ask them for one scoped to what you
    plan to build; see [Authentication](/guides/authentication) for the scope
    list.

    A token looks like `sk_live_AbC123.xYz789...`. It is shown **once**, at
    creation, and stored only as a hash — so put it somewhere safe. A lost token
    cannot be recovered, only replaced.
  </Step>

  <Step title="Confirm it works">
    `GET /v1/me` describes the token itself. It is the cheapest way to check
    that authentication is wired up correctly.

    ```bash theme={null}
    curl https://api.chatsailer.com/v1/me \
      -H "Authorization: Bearer $SAILER_API_TOKEN"
    ```

    The response tells you which workspace the token belongs to and which scopes
    it carries. There is no tenant header to set: the workspace is implied by
    the token.
  </Step>

  <Step title="Read some contacts">
    ```bash theme={null}
    curl "https://api.chatsailer.com/v1/contacts?limit=5" \
      -H "Authorization: Bearer $SAILER_API_TOKEN"
    ```

    ```json theme={null}
    {
      "data": [
        {
          "object": "contact",
          "id": "cont_...",
          "first_name": "Ana",
          "last_name": "Ribeiro",
          "email": "ana@example.com",
          "phone": "+5511999999999",
          "status": "active",
          "custom_fields": { "segment": "enterprise", "annual_revenue": null },
          "created_at": "2026-08-14T12:04:11Z",
          "updated_at": "2026-08-29T09:31:52Z"
        }
      ],
      "meta": { "limit": 5, "has_more": true },
      "links": { "next": "https://api.chatsailer.com/v1/contacts?limit=5&cursor=..." }
    }
    ```

    Follow `links.next` to page through the rest. See
    [Pagination](/guides/pagination).
  </Step>

  <Step title="Create one">
    ```bash theme={null}
    curl -X POST https://api.chatsailer.com/v1/contacts \
      -H "Authorization: Bearer $SAILER_API_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{"first_name": "Bruno", "email": "bruno@example.com"}'
    ```

    This needs the `contacts:write` scope. If your token lacks it you get a 403
    naming exactly what is missing — see [Errors](/guides/errors).
  </Step>
</Steps>

## Next

<CardGroup cols={2}>
  <Card title="Authentication" icon="key" href="/guides/authentication">
    Scopes, and the two limits worth knowing up front.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference">
    Every endpoint, with a playground.
  </Card>
</CardGroup>
