> For the complete documentation index, see [llms.txt](https://help.rhythms.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.rhythms.ai/connectivity/api-reference/get-access-to-the-rhythms-rest-api.md).

# Get access to the Rhythms REST API

The Rhythms REST API lets you read and write OKR data from your own systems — BI tools, data warehouses, HR and planning systems, or scripts. Access is by API token: request one from Rhythms support, then call `https://api.rhythms.ai/rest/v2/…` with the token in the `Authorization` header. The full endpoint reference lives at [apidocs.rhythms.ai/rest/v2](https://apidocs.rhythms.ai/rest/v2).

## Check whether you need the API at all

Rhythms has built-in options that cover most reporting and integration needs without code:

* **Documents and Layouts** pull live data from your OKRs and connectors and refresh as your team checks in. For most reporting and review use cases this is faster than building a custom integration.
* **Connectors and auto-updates** bring data from other apps into Rhythms — Key Results and Initiatives that update themselves from Linear, Google Sheets, Salesforce and so on. See [How to Set Up Auto-Updates](/connectivity/connectors/set-up-automatic-updates-from-a-connector.md).
* **Rhythms MCP** gives AI tools such as Claude, ChatGPT and Cursor natural-language access to your workspace with each person's own permissions. See [Use Rhythms from Claude, ChatGPT or Cursor](/connectivity/use-rhythms-from-claude-chatgpt-or-cursor.md).

Use the REST API when you need Rhythms data inside a system of your own, or when you need to create or update OKRs, check-ins, teams or users in bulk from an external source.

## Request an API token

API tokens are issued by Rhythms support; there is no self-serve token page in the app today. Contact support and include:

* your workspace name;
* whether the token should belong to a **Rhythms Admin** or to a **Member**, and for a Member their name and email address;
* a sentence on what the integration will do, so support can advise on the right scope.

Every token belongs to one user account, and the API applies that user's permissions to every request. A token for a Rhythms Admin can read and manage the whole workspace; a token for a Member sees and edits only what that person can see and edit in Rhythms. Choose the owner accordingly — a token tied to a dedicated admin account keeps running when an individual leaves.

Tokens look like `tokp_` followed by 48 hexadecimal characters, for example `tokp_1abc23c45d…`. Treat a token like a password: store it in a secrets manager and never commit it to source control. Tokens do not expire on their own. Ask support to revoke a token if it is exposed or when the integration is retired.

A token stops working if its user is deactivated in Rhythms or the workspace is closed; requests then return `401`.

## Make your first request

Send the token as a Bearer token:

{% code collapsedlinecount="10" %}

```
curl -H "Authorization: Bearer tokp_1abc23c45d..." \
     -H "Accept: application/json" \
     "https://api.rhythms.ai/rest/v2/objectives?limit=1"
```

{% endcode %}

A missing or invalid token returns `401` with `{ "error": "Invalid Authorization header" }`. A `403` means the token is valid but its user is not allowed to perform that action in Rhythms.

## What you can read and write

| Resource    | Path                   | Operations                        |
| ----------- | ---------------------- | --------------------------------- |
| Objectives  | `/rest/v2/objectives`  | List, get, create, update, delete |
| Key Results | `/rest/v2/key_results` | List, get, create, update, delete |
| Initiatives | `/rest/v2/initiatives` | List, get, create, update, delete |
| Check-ins   | `/rest/v2/checkins`    | List, get, create, update, delete |
| Labels      | `/rest/v2/labels`      | List, get, create, update, delete |
| Teams       | `/rest/v2/teams`       | List, get, create, update, delete |
| Users       | `/rest/v2/users`       | List, get, create, update         |

Goal records include their owners, teams, labels, parents, current metric and status, so a single list call is usually enough for a report. Field-level details, filters and request bodies are in [Rhythms REST API v2](/connectivity/api-reference/rhythms-rest-api-v2.md) and in the live docs, where you can send test requests with your token and load the API definition into an AI coding assistant such as Cursor.

## Frequently asked questions

**Can I create a token myself in Settings?** Not yet. Tokens are issued and revoked by Rhythms support.

**Are there rate limits?** Rhythms does not publish fixed per-token limits today. Keep polling modest — page with `limit=100` and use `count=true` rather than walking every page — and handle a `429` response with a back-off, because the API reserves it.

**Can a token belong to a Guest?** A Guest's token has a Guest's permissions, which in Rhythms are read-only, so it cannot create or update anything.

**Which environment does the token work in?** Production only, at `https://api.rhythms.ai`. A token is bound to the workspace it was issued for.

## Related articles

* [Rhythms REST API v2](/connectivity/api-reference/rhythms-rest-api-v2.md)
* [Use Rhythms from Claude, ChatGPT or Cursor](/connectivity/use-rhythms-from-claude-chatgpt-or-cursor.md)
* [How to Set Up Auto-Updates](/connectivity/connectors/set-up-automatic-updates-from-a-connector.md)
* [Rhythms OKR Roles and Permissions](/workspace-settings-and-administration/team-users-and-access/okr-roles-and-permissions.md)
* [Troubleshooting and Support](/workspace-settings-and-administration/troubleshooting-and-support.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.rhythms.ai/connectivity/api-reference/get-access-to-the-rhythms-rest-api.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
