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

# Making requests

> Base URL, pagination schemes, filtering, and token introspection.

## Base URL & headers

```
https://app.solya.app/api/...
```

Send JSON and your bearer token:

```bash theme={null}
curl https://app.solya.app/api/brands \
  -H "Authorization: Bearer solya_sa_…" \
  -H "Content-Type: application/json"
```

## Pagination

Solya uses **two pagination schemes** depending on the endpoint family. Always check the
endpoint in the **API Reference** tab for which one applies.

<Tabs>
  <Tab title="Page-based (most endpoints)">
    Query parameters: `page` (1-indexed) and `pageSize`.

    ```bash theme={null}
    curl "https://app.solya.app/api/collections?page=1&pageSize=20" \
      -H "Authorization: Bearer solya_sa_…"
    ```

    Response envelope:

    ```json theme={null}
    { "data": [ /* … */ ], "total": 8, "page": 1, "pageSize": 20 }
    ```
  </Tab>

  <Tab title="Offset-based (data-platform)">
    Query parameters: `limit` and `offset`.

    ```bash theme={null}
    curl "https://app.solya.app/api/data-platform/tagging-rules?limit=50&offset=0" \
      -H "Authorization: Bearer solya_sa_…"
    ```

    Response envelope:

    ```json theme={null}
    { "items": [ /* … */ ], "limit": 50, "offset": 0 }
    ```
  </Tab>
</Tabs>

## Filtering & search

List endpoints accept query parameters to filter results (for example `q` for text
search on catalog endpoints, plus domain-specific filters like `variantId` or date
ranges). The exact parameters for each endpoint are documented in the **API Reference**
tab, generated from the live OpenAPI spec.

## Token introspection

Use `GET /api/auth/whoami` to verify a token and read its organization and effective
permissions — see [Authentication](/en/developers/authentication#check-who-you-are).

## Rate limiting

The application does not currently enforce request rate limits at the API layer. Limits
may be applied by infrastructure in front of the API, so write clients defensively:
honor standard HTTP semantics and back off on `429` responses if you receive them. See
[Error codes](/en/developers/error-codes).
