Skip to content

Rhythms REST API (v2)

The official REST API for Rhythms - designed for third-party integrations, mobile apps, and external tooling. This API follows REST conventions and provides clean, predictable endpoints for managing OKRs (Objectives, Key Results, and Initiatives).

Base URL

https://api.rhythms.ai

All REST API v2 endpoints are prefixed with /rest/v2/

Response Format

All responses use JSON format with consistent error handling and pagination. Successful responses include requested data, while error responses provide detailed troubleshooting information.

Error Handling

The API uses standard HTTP status codes with detailed JSON error messages.

Perfect for building integrations, mobile apps, reporting dashboards, and automation workflows.

Authentication

All API endpoints require authentication using Bearer token authorization. Include this header with every request:

  • Authorization: Bearer token for your account access

Getting API Credentials: Contact support at support@rhythms.ai to obtain your access token.

Rate Limiting

Standard rate limits apply to all endpoints to ensure fair usage and optimal performance for all users.

If you need higher limits for your integration, please contact our support team at support@rhythms.ai with details about your use case.

Pagination

List endpoints support pagination using query parameters:

  • page: Page number (default: 1)
  • limit: Items per page (default: 20, max: 100)

Response includes pagination metadata in the pagy object with next indicating the next page number (or null if no more pages).

Servers
https://api.rhythms.ai/

Checkins

Operations

List checkins

Request

Retrieves all checkins via REST API

This endpoint supports filtering and pagination through query parameters. Available ransackable attributes: uuid, checkinable_type, checkinable_uuid, checkin_date, created_at, status, value, source_type.

Query
pagenumber

Page number for pagination (default: 1)

Default 1
per_pagenumber

Number of records per page (default: 20, max: 100)

Default 20
limitnumber

Alias for per_page - number of records per page

Default 20
limit_maxnumber

Maximum number of records per page (overrides limit if not set)

Default null

Responses

Bad Request - Invalid parameters or malformed request

Create a new checkin

Request

Creates a new checkin for a goal with optional value, status, and note

Bodyapplication/json
checkinable_typestringrequired

Type of goal

Enum"Okrs::Objective""Okrs::KeyResult""Okrs::Initiative"
checkinable_uuidstringrequired

UUID of the goal being checked in

valuenumber

Checkin value

Default null
statusstring

Checkin status

Default "not_started"
Enum"not_started""in_progress""on_track""behind""at_risk""closed""postponed"
notestring

Checkin note

Default null
checkin_datestring

Checkin date (YYYY-MM-DD)

timezone_offsetnumberrequired

Timezone offset in minutes

scorenumber

Score (only for closed status)

progress_modestring

Progress mode for the goal

Enum"manual""rollup""integration"

Responses

Success

Body*/*
uuidstringrequired

Uuid

checkinable_uuidstringrequired

Checkinable uuid

checkinable_typestringrequired

Checkinable type

metric_uuidstring

Metric uuid

Default null
valuenumber

Value

Default null
progressnumber

Progress

Default null
scorenumber

Score

Default null
checkin_datestringrequired

Checkin date

statusstring

Status

Default "not_started"
notestring

Note

Default null
creator_uuidstringrequired

Creator uuid

source_infoobjectrequired

Source info

Default "{}"
source_info.​property name*anyadditional property

Get a specific checkin

Request

Retrieves detailed information about a specific checkin by its UUID

Path
idstringrequired

Checkin UUID

Responses

Success

Body*/*
uuidstringrequired

Uuid

checkinable_uuidstringrequired

Checkinable uuid

checkinable_typestringrequired

Checkinable type

metric_uuidstring

Metric uuid

Default null
valuenumber

Value

Default null
progressnumber

Progress

Default null
scorenumber

Score

Default null
checkin_datestringrequired

Checkin date

statusstring

Status

Default "not_started"
notestring

Note

Default null
creator_uuidstringrequired

Creator uuid

source_infoobjectrequired

Source info

Default "{}"
source_info.​property name*anyadditional property

Update a checkin

Request

Updates an existing checkin with the specified attributes

Path
idstringrequired

Checkin UUID

Bodyapplication/json
valuenumber

Checkin value

statusstring

Checkin status

Enum"not_started""in_progress""on_track""behind""at_risk""closed""postponed"
notestring

Checkin note

scorenumber

Score (only for closed status)

Responses

Success

Body*/*
uuidstringrequired

Uuid

checkinable_uuidstringrequired

Checkinable uuid

checkinable_typestringrequired

Checkinable type

metric_uuidstring

Metric uuid

Default null
valuenumber

Value

Default null
progressnumber

Progress

Default null
scorenumber

Score

Default null
checkin_datestringrequired

Checkin date

statusstring

Status

Default "not_started"
notestring

Note

Default null
creator_uuidstringrequired

Creator uuid

source_infoobjectrequired

Source info

Default "{}"
source_info.​property name*anyadditional property

Delete a checkin

Request

Deletes a checkin

Path
idstringrequired

Checkin UUID

Responses

Success

Body*/*
uuidstringrequired

Uuid

checkinable_uuidstringrequired

Checkinable uuid

checkinable_typestringrequired

Checkinable type

metric_uuidstring

Metric uuid

Default null
valuenumber

Value

Default null
progressnumber

Progress

Default null
scorenumber

Score

Default null
checkin_datestringrequired

Checkin date

statusstring

Status

Default "not_started"
notestring

Note

Default null
creator_uuidstringrequired

Creator uuid

source_infoobjectrequired

Source info

Default "{}"
source_info.​property name*anyadditional property

Initiatives

Operations

Key Results

Operations

Labels

Operations

Objectives

Operations

Teams

Operations

Users

Operations