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

# Conventions

> Errors, streaming, pagination, and rate limits: the behaviors that hold across every Summation API endpoint.

These hold across the whole API. Per-operation details live in the [endpoint pages](/api-reference/projects/list-projects).

## Errors

Errors follow a problem-details shape: `type`, `title`, `status`, `detail`, `code`, and `request_id`.

Always log the `request_id`: it joins your failure to server-side traces, and support will ask for it.

## Streaming

Streaming endpoints (chat, report generation, verification, imports) return server-sent events. Send:

```text theme={null}
Accept: text/event-stream
```

Long-running operations take roughly 15–60 seconds. Set client timeouts to at least 120 seconds.

## Pagination

Pagination fields are documented per-operation in the OpenAPI contract. Preserve the cursors and page fields an operation hands back rather than assuming a page shape.

## Rate limits

Rate limiting returns `429`. Retry with jitter and respect any retry headers.

## Reading and writing the same keys

Request bodies take snake\_case or connector-prefixed lowercase keys; responses render them camelCase. **Reading a key off a `GET` and sending it straight back will fail.** See [Connectors](/features/connectors#add-a-data-connection) for the concrete case.
