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

# REST API

> Read and triage responses, read surveys and metrics, erase personal data, and subscribe to new responses over HTTPS.

The REST API gives your own code access to your Usertick data. With it, your code can list and filter responses, change their status, type, urgency and assignees, add notes, read surveys and metrics, pause and resume surveys, erase a respondent's data, and subscribe a URL to new responses, status changes, urgent feedback, theme spikes or a workflow's Zapier step. API keys, which your own code uses to call the API, are available on the Pro plan and above. Apps such as Zapier call the API on the Starter plan and above.

```text theme={null}
Base URL: https://app.usertick.com/api/public/v1
```

## Make a first request

After you create an API key under **Settings → Developers → API keys**, call `GET /me` to check that the key works:

```bash theme={null}
curl "https://app.usertick.com/api/public/v1/me" \
  -H "Authorization: Bearer utk_live_your_key_here"
```

```json theme={null}
{
  "organization": { "id": "3c9e4e1a-5b7d-4f20-9a61-0c2d8e4f6a10", "name": "Usertick" },
  "user": null,
  "credential": {
    "kind": "api_key",
    "id": "0d6f1c2a-3b4c-4d5e-8f60-718293a4b5c6",
    "name": "Ops script",
    "scopes": ["responses:read", "responses:write"]
  },
  "rateLimits": { "perMinute": 120, "organizationPerMinute": 600 }
}
```

The same key then lists the newest responses:

```bash theme={null}
curl "https://app.usertick.com/api/public/v1/responses?limit=10" \
  -H "Authorization: Bearer utk_live_your_key_here"
```

## How the API behaves

* **Plain JSON.** A successful call returns the resource itself, or a list as `{ "data": [...], "nextCursor": "..." }`, without a `{ success, data }` wrapper. See [Pagination](https://docs.usertick.com/developers/api/pagination.md).
* **Times** are RFC 3339 in UTC with milliseconds, such as `2026-09-30T10:00:00.000Z`. A time in a query without an offset is read as UTC. A `to` given as a date alone, such as `to=2026-10-14`, includes that whole UTC day.
* **Every key is present.** An empty value is `null` instead of a missing key. New fields can appear over time, so your code should ignore the ones it doesn't know.
* **Errors** carry a stable `code`, plus an `errors` list for invalid fields. See [Errors](https://docs.usertick.com/developers/api/errors.md).
* **Every HTTP response** has an `X-Request-Id` header. Include it when you contact support.
* **Rate limits** are 120 requests per minute per credential and 600 per organization. See [Rate limits](https://docs.usertick.com/developers/api/rate-limits.md).
* **POST requests** take an `Idempotency-Key` header, so a retried request doesn't run twice. See [Idempotency](https://docs.usertick.com/developers/api/idempotency.md).
* **Retention.** The API reads responses only as far back as your plan keeps them, the same as the dashboard.

## Guides

> [card] [Authentication](https://docs.usertick.com/developers/api/authentication.md)
>
> API keys, scopes, expiry, rotation and usage.

> [card] [The Response resource](https://docs.usertick.com/developers/api/response-object.md)
>
> One shape for every response the API returns and every webhook delivers.

> [card] [Pagination](https://docs.usertick.com/developers/api/pagination.md)
>
> Cursors, page sizes and syncing with updatedSince.

> [card] [Errors](https://docs.usertick.com/developers/api/errors.md)
>
> The error envelope and every code.

> [card] [Erase personal data](https://docs.usertick.com/developers/api/erasure.md)
>
> Delete one response or everything one person sent.

> [card] [Metrics](https://docs.usertick.com/developers/api/metrics.md)
>
> Counts, NPS, CSAT, CES, series and breakdowns.

## The API reference

Every endpoint has its own page under **API reference**. Each page lists the scopes the endpoint needs, its parameters, its HTTP responses and its error codes. **Try it** on a page sends a real request with the key you paste in.

| Area | Endpoints |
| - | - |
| Account | [Get the current credential](https://docs.usertick.com/developers/api/reference/get-me.md) |
| Surveys | [List](https://docs.usertick.com/developers/api/reference/list-surveys.md), [get](https://docs.usertick.com/developers/api/reference/get-survey.md), [pause](https://docs.usertick.com/developers/api/reference/pause-survey.md) and [resume](https://docs.usertick.com/developers/api/reference/resume-survey.md) surveys, [list sites](https://docs.usertick.com/developers/api/reference/list-sites.md) |
| Responses | [List](https://docs.usertick.com/developers/api/reference/list-responses.md), [list recent](https://docs.usertick.com/developers/api/reference/list-recent-responses.md), [get](https://docs.usertick.com/developers/api/reference/get-response.md) and [update](https://docs.usertick.com/developers/api/reference/update-response.md) responses, [the analysis tree](https://docs.usertick.com/developers/api/reference/list-themes.md), [members](https://docs.usertick.com/developers/api/reference/list-members.md), [files](https://docs.usertick.com/developers/api/reference/get-attachment.md) |
| Notes | [List](https://docs.usertick.com/developers/api/reference/list-comments.md), [add](https://docs.usertick.com/developers/api/reference/add-comment.md), [edit](https://docs.usertick.com/developers/api/reference/edit-comment.md) and [delete](https://docs.usertick.com/developers/api/reference/delete-comment.md) notes |
| Erasure | [Erase a response](https://docs.usertick.com/developers/api/reference/delete-response.md), [erase a respondent](https://docs.usertick.com/developers/api/reference/erase-respondent.md), [follow the job](https://docs.usertick.com/developers/api/reference/get-job.md) |
| Metrics | [Summary](https://docs.usertick.com/developers/api/reference/get-metrics-summary.md), [time series](https://docs.usertick.com/developers/api/reference/get-metrics-time-series.md), [breakdown](https://docs.usertick.com/developers/api/reference/get-metrics-breakdown.md) |
| Webhooks | [List](https://docs.usertick.com/developers/api/reference/list-webhooks.md), [subscribe](https://docs.usertick.com/developers/api/reference/subscribe-webhook.md) and [unsubscribe](https://docs.usertick.com/developers/api/reference/unsubscribe-webhook.md), [deliveries](https://docs.usertick.com/developers/api/reference/list-deliveries.md), [resend](https://docs.usertick.com/developers/api/reference/resend-delivery.md), [workflow Zapier steps](https://docs.usertick.com/developers/api/reference/list-zapier-steps.md) |

## Other ways to reach your data

* **Webhooks** send each new or analyzed response, and the [AI events](https://docs.usertick.com/developers/webhooks/events.md#ai-events), to your URL as they happen. See [Webhooks](https://docs.usertick.com/developers/webhooks/overview.md).
* **The MCP server** lets AI assistants such as Claude, ChatGPT, Cursor and Claude Code work with your surveys, responses, metrics and webhooks. Each person signs in and chooses what the assistant may do. See [MCP server](https://docs.usertick.com/developers/mcp.md).
* **Zapier** connects Usertick to other apps without code. See [Zapier](https://docs.usertick.com/integrations/zapier.md).


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