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

# General information

> Authentication, pagination, result order and rate limiting for the poll&roll REST API.

The poll\&roll REST API lets you access your surveys, their quotas, their sample sources and the fieldwork progress programmatically. All requests are made on the following base URL:

```
https://app.pollandroll.com/api/v1
```

## Authentication

Every request must supply an **identifier** and a **token** in the HTTP headers.

<ParamField header="Authorization-ID" type="integer" required>
  Your identifier (e.g. `12456`).
</ParamField>

<ParamField header="Authorization-Token" type="string" required>
  Your secret token (e.g. `aa8f06f5864a58c09f0c5a60aa47650133a459dcc9c21504677914623e152674872786eb1b871c96c7fa87b3b800967f40b419a2abca4ff30acc73544f93dfb9`).
</ParamField>

<Warning>
  Your token is secret. Do not distribute it on the client side (browser, mobile app) and do not publish it in a code repository.
</Warning>

<RequestExample>
  ```bash cURL theme={null}
  curl https://app.pollandroll.com/api/v1/surveys \
    -H "Authorization-ID: 12456" \
    -H "Authorization-Token: aa8f06f5864a58c09f0c5a60aa47650133a459dcc9c21504677914623e152674..."
  ```
</RequestExample>

## Pagination

All list endpoints (`index`) are paginated. A `pagination` object is returned at the end of the response:

```json theme={null}
"pagination": {
  "current_page": 1,
  "next_page": 2,
  "prev_page": null,
  "total_pages": 105,
  "total_count": 2088
}
```

Use the `page` query parameter to page through the results.

<ParamField query="page" type="integer">
  The number of the requested page (e.g. `https://app.pollandroll.com/api/v1/surveys?page=2`).
</ParamField>

## Order

Records in lists are sorted by their `created_at` field, in **descending** order (most recent first).

## Rate limiting

To guarantee fair use and the stability of the API, a rate cap applies to all endpoints. The default limit is **60 requests per minute**. Beyond that, the API returns a `429 Too Many Requests` response.

<Tip>
  Best practices:

  * Set up an **exponential backoff** or add delays when handling `429` errors.
  * Monitor your request rate to avoid reaching the limit.
  * Contact support if you need a higher limit for your application.
</Tip>


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