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

# Response format

> The envelope, conventions and pagination used by every endpoint

## The envelope

Every response is JSON with the same three fields.

```json Success theme={"system"}
{
  "status": true,
  "data": { "tags": [] },
  "error": null
}
```

```json Error theme={"system"}
{
  "status": false,
  "data": null,
  "error": "Key name is required"
}
```

| Field | Meaning |
| - | - |
| `status` | `true` when the request worked, `false` when it did not |
| `data` | The result, or `null` on an error |
| `error` | A message you can show to a person, or `null` on success |

## Check `status`, not only the HTTP code

Errors the API handles itself, such as an invalid parameter or something that was not found, come back with HTTP `200` and `status` set to `false`. Read `status` on every response.

See [Errors](https://docs.reachhunt.ai/developer-api/errors.md) for every status code and the messages you'll see.

## Conventions

* Field names are camelCase and IDs are strings.
* Timestamps are ISO 8601 in UTC, such as `2026-10-17T14:05:00.000Z`.
* A value that does not apply is `null`. Every documented field is always present.
* `platform` is `x` or `linkedin`. A `platformId` is the ID the network gives the person and always comes with a `platform`.

## Pagination

Lists that can grow long are paged in one of two ways. Both take `limit`, from 1 to 100, and return 50 items when you leave it out. A `limit` outside that range is an error.

**Cursor**

Used for conversations, messages and requests. The response has `items` and `nextCursor`, and conversations and requests also return `total`. Pass `nextCursor` back as `cursor`, with the same filters, to read the next page. `nextCursor` is `null` on the last page.

A cursor only works with the filters it was issued for. If you change a filter, start again without a cursor.

**Page**

Used for lead lists, leads, campaigns, campaign targets and templates. The response has `items`, `page`, `limit`, `total` and `totalPages`. Pass `page`, starting at 1, to read another page.

Short lists, such as tags and statuses, are not paged. They return everything.


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