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

# Rate limits and request IDs

> 60 requests per minute per key, Retry-After, and X-Request-Id on every response.

## Rate limits

Each PMS credential may make **60 requests per minute**. The limit is per key, so two keys of your PMS don't share it.

`GET /v1/health` needs no key, so it is limited **per client IP** instead, also 60 per minute.

Over the limit, Tatallo answers `429` with the code `rate_limited` and a `Retry-After` header: the number of seconds until the next minute starts. Wait that long, then continue.

```http theme={null}
HTTP/1.1 429 Too Many Requests
Retry-After: 23
X-Request-Id: c2b7e1d4-8a3f-4e6b-9d2c-7f1a5e9b3c08

{"error":{"code":"rate_limited","message":"Too many requests. Retry after the number of seconds in Retry-After.","request_id":"c2b7e1d4-8a3f-4e6b-9d2c-7f1a5e9b3c08"}}
```

Pace a full sync of a large portfolio with `limit=100`: one request returns up to 100 properties.

## Request IDs

Every response carries an `X-Request-Id` header, errors and `429`s included. It is always a UUID, and an error's `request_id` holds the same value.

To correlate requests end to end, send your own UUID in `X-Request-Id`: Tatallo echoes a well-formed UUID back unchanged. Anything else is replaced by a UUID Tatallo generates, so the header always parses the same way.

```bash theme={null}
curl -s -i "$TATALLO_BASE_URL/v1/me" \
  -H "Authorization: Bearer $TATALLO_API_KEY" \
  -H "X-Request-Id: 2f1c6d3a-9b7e-4c55-8e21-0d4a6b9f7c13"
```

Quote the request ID whenever you contact [support](https://tatallo-docs.mintlify.site/platform/support.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.