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

# Introduction

Some behaviours are not specific to a single endpoint: they follow the same syntax and the same rules across the whole API. This section documents those shared mechanisms once, so that the API Reference pages can stay focused on what is specific to each endpoint.

## What belongs here

A guide in this section describes a mechanism that:

<CardGroup cols={2}>
  <Card title="Is shared" icon="arrows-to-circle">
    It works the same way on every endpoint that supports it.
  </Card>

  <Card title="Is opt-in per endpoint" icon="list-check">
    Each endpoint declares whether it supports it, and with which keys.
  </Card>
</CardGroup>

Anything that applies to *every* request — authentication, versioning, error format, rate limits — is covered in [Getting Started](/guides-and-resources/first-steps) and [Core concepts](/guides-and-resources/error-handling) instead.

<Note>This section grows with the API.</Note>

## How to read these guides

Each guide describes the **syntax** of a mechanism: the shape of the request properties, the accepted values, and the errors returned when something is wrong.

The **API Reference page of the endpoint you are calling** declares how the endpoint opts into the mechanism: whether it is supported at all, which keys are available, and which value types they expect. On those points, the endpoint page wins over a guide.

The guide remains the authority on the shared behaviour itself — the syntax, the values accepted at runtime, and the restrictions the reference schemas do not express. An order object, for example, always needs an explicit `direction` even though the schemas list it as optional, and a few endpoints accept a single order only. Restrictions of that kind are called out in the guide that documents the mechanism.

## Available guides

<CardGroup cols={2}>
  <Card title="Filters" icon="filter" href="/guides-and-resources/filters">
    Narrow down the results returned by `.list` endpoints.
  </Card>

  <Card title="Order" icon="sort" href="/guides-and-resources/order">
    Sort the results deterministically, with one or several keys.
  </Card>

  <Card title="Pagination" icon="list" href="/guides-and-resources/pagination">
    Iterate over large collections with cursor-based pagination.
  </Card>
</CardGroup>

## Combining filters, order and pagination

On a `.list` endpoint that supports all three, `filters`, `orders` and `pagination` are independent and combine freely in the same JSON body. Like every tipee API call, requests are `POST` with a JSON body (see [First steps](/guides-and-resources/first-steps)):

Filters are applied first, the remaining entries are sorted, and pagination then walks through that sorted result — which is why explicit `orders` are recommended as soon as you paginate.

```
POST https://<instance>.tipee.net/api/directory/resources.list

Accept: application/json
Content-Type: application/json
Authorization: Bearer <YOUR_API_KEY>
Tipee-Version: <version>
```

```json theme={null}
{
  "kind_id": "872815618512410358",
  "filters": [
    {
      "key": "resource.text",
      "value": {
        "attribute": "last_name",
        "operator": "starts_with",
        "value": "Dup"
      }
    }
  ],
  "orders": [
    {
      "key": "resource.attribute",
      "attribute": "last_name",
      "direction": "asc"
    }
  ],
  "pagination": {
    "limit": 50,
    "next_token": null
  }
}
```
