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

# Quickstart

> Get a Croma Legal API key and list your processes in three steps.

<Steps>
  <Step title="Get an API key">
    Keys are created in the Croma Legal dashboard at
    [legal.usecroma.com](https://legal.usecroma.com): open **Desarrolladores**
    and then **Claves de API**. Keys belong to your **organization**, look like
    `croma_live_…`, and are shown once at creation, so copy the key before
    leaving the page.

    <Note>
      Key management is enabled per user by Croma. If you don't see the
      **Claves de API** tab, ask your Croma contact to enable it for your
      account. See [Authentication](/legal/authentication) for details.
    </Note>
  </Step>

  <Step title="List your processes">
    Every endpoint lives under `https://api.legal.usecroma.com/v1` and takes
    the key in an `Authorization: Bearer` header. Filters are query parameters.

    <CodeGroup>
      ```bash cURL theme={"dark"}
      curl "https://api.legal.usecroma.com/v1/processes?status=TRACKING&page_size=5" \
        -H "Authorization: Bearer $CROMA_LEGAL_API_KEY"
      ```

      ```ts TypeScript theme={"dark"}
      const url = new URL("https://api.legal.usecroma.com/v1/processes");
      url.searchParams.set("status", "TRACKING");
      url.searchParams.set("page_size", "5");

      const res = await fetch(url, {
        headers: { Authorization: `Bearer ${process.env.CROMA_LEGAL_API_KEY}` },
      });

      const { data, next_cursor, has_more } = await res.json();
      ```

      ```python Python theme={"dark"}
      import os, requests

      res = requests.get(
          "https://api.legal.usecroma.com/v1/processes",
          headers={"Authorization": f"Bearer {os.environ['CROMA_LEGAL_API_KEY']}"},
          params={"status": "TRACKING", "page_size": 5},
      )
      body = res.json()
      ```
    </CodeGroup>
  </Step>

  <Step title="Read the response">
    List endpoints return the rows under `data` plus a cursor for the next
    page:

    ```json theme={"dark"}
    {
      "data": [
        {
          "id": "3f1c2a44-9b1e-4c5a-8d2f-6a7b8c9d0e1f",
          "registration_number": "11001400300120240012300",
          "plaintiff_name": "BANCO EJEMPLO S.A.",
          "defendant_name": "CLIENTE DE EJEMPLO",
          "office": "JUZGADO 001 CIVIL MUNICIPAL DE BOGOTÁ",
          "status": "TRACKING",
          "registration_date": "2024-03-12T00:00:00.000Z",
          "last_discovery_date": "2026-08-20T09:14:33.000Z",
          "defendant_id": "1234567890"
        }
      ],
      "next_cursor": "5",
      "has_more": true
    }
    ```

    Pass `next_cursor` back as `cursor` to get the following page (see
    [Pagination & filters](/legal/pagination)). Rate-limit state and a request
    id come back as response headers:

    ```
    X-RateLimit-Limit: 1000
    X-RateLimit-Remaining: 999
    X-RateLimit-Reset: 2026-08-22T09:14:33.000Z
    X-Request-Id: req_8f3c…
    ```
  </Step>
</Steps>

## Go further

A few calls you will reach for next. Each accepts the radicado or the
internal `id` wherever a process is addressed.

```bash theme={"dark"}
# One case, fully enriched, by radicado
curl "https://api.legal.usecroma.com/v1/processes/11001400300120240012300" \
  -H "Authorization: Bearer $CROMA_LEGAL_API_KEY"

# Everything recorded since your last sync, across all cases
curl "https://api.legal.usecroma.com/v1/actions?since=2026-08-20T00:00:00Z&since_mode=discovered" \
  -H "Authorization: Bearer $CROMA_LEGAL_API_KEY"

# Portfolio KPIs, grouped by month
curl "https://api.legal.usecroma.com/v1/analytics?granularity=month&days=365" \
  -H "Authorization: Bearer $CROMA_LEGAL_API_KEY"

# The full portfolio as a CSV download
curl -X POST "https://api.legal.usecroma.com/v1/exports" \
  -H "Authorization: Bearer $CROMA_LEGAL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "entity": "processes", "format": "csv" }'
```

## Next steps

<CardGroup cols={2}>
  <Card title="Pagination & filters" icon="list" href="/legal/pagination">
    Cursors, page sizes, date semantics and how to build an incremental sync.
  </Card>

  <Card title="API Reference" icon="code" href="/legal/api-reference/overview">
    Every endpoint with its parameters, response fields and a playground.
  </Card>

  <Card title="Exports" icon="file-arrow-down" href="/legal/exports">
    Pull the complete dataset as CSV or JSONL instead of paging.
  </Card>

  <Card title="MCP server" icon="plug" href="/legal/mcp-server">
    Point Claude, ChatGPT or your own agent at the same data.
  </Card>
</CardGroup>
