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

Initiatives

Operations

List initiatives

Request

Retrieves all initiatives via REST API

This endpoint supports filtering and pagination through query parameters. Available ransackable attributes: uuid, type, current_status, uuid, status, last_checkin_date, time_period_uuid.

Available ransackable associations and their attributes:

  • time_period: time_period_uuid, time_period_name
  • owners: owners_uuid, owners_display_name, owners_status, owners_manager_uuid, owners_license_type, owners_display_name, owners_status, owners_manager_uuid, owners_license_type
  • labels: labels_uuid, labels_name, labels_parent_uuid, labels_is_group
  • ancestors: ancestors_uuid, ancestors_type, ancestors_current_status, ancestors_uuid, ancestors_status, ancestors_last_checkin_date, ancestors_time_period_uuid
  • teams: teams_uuid, teams_display_name, teams_parent_uuid, teams_status, teams_name, teams_is_org, teams_parent_uuid
  • links_as_child: links_as_child_uuid, links_as_child_ancestor_uuid
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 initiative

Request

Creates a new initiative with the provided attributes

Bodyapplication/json
titlestringrequired

Goal title

descriptionstring

Goal description

Default null
time_period_uuidstringrequired

Time period UUID

start_datestring

Start date (YYYY-MM-DD)

end_datestring

End date (YYYY-MM-DD)

goal_typestring

Goal type

Default "aspirational"
Enum"aspirational""committed"
visibilitystring

Goal visibility

Default "public"
Enum"public""limited"
team_uuidsArray of strings

Array of team UUIDs

Default []
owner_uuidsArray of strings

Array of owner UUIDs

Default []
labelsArray of strings

Array of label names

Default []
delegate_uuidstring

Delegate user UUID

Default null
checkin_due_daysnumber

Checkin due days override

metricobject
parentsArray of strings

Array of parent goals

Default []
visible_entitiesArray of strings

Visible entities for limited visibility

Default []

Responses

Success

Body*/*
uuidstringrequired

Uuid

typestringrequired

Type

titlestringrequired

Title

descriptionstring

Description

Default null
start_datestringrequired

Start date

end_datestringrequired

End date

goal_typestringrequired

Goal type

Default "aspirational"
time_period_uuidstringrequired

Time period uuid

current_metric_uuidstring

Current metric uuid

Default null
creator_uuidstringrequired

Creator uuid

viva_goals_external_idstring

Viva goals external

Default null
last_checkin_datestring

Last checkin date

Default null
scorenumber

Score

Default null
current_progressnumber

Current progress

Default null
current_valuenumber

Current value

Default null
current_statusstringrequired

Current status

Default "not_started"
statusstringrequired

Status

Default "published"
source_uuidstring

Source uuid

Default null
source_typestring

Source type

Default null
pathstring

Path

Default null
searchable_contentstring

Searchable content

Default null
progress_modestringrequired

Progress mode

Default "manual"
value_updated_atstring

Value updated at

Default null
status_updated_atstring

Status updated at

Default null
value_updated_by_uuidstring

Value updated by uuid

Default null
status_updated_by_uuidstring

Status updated by uuid

Default null
visibilitystringrequired

Visibility

Default "public"
checkin_due_daysnumber

Checkin due days

Default null
delegate_uuidstring

Delegate uuid

Default null
ai_rollup_enabledbooleanrequired

Ai rollup enabled

Default "false"
data_sources_countnumberrequired

Data sources count

Default "0"

Get a specific initiative

Request

Retrieves detailed information about a specific initiative by its UUID

Path
idstringrequired

Initiative UUID

Responses

Success

Body*/*
uuidstringrequired

Uuid

typestringrequired

Type

titlestringrequired

Title

descriptionstring

Description

Default null
start_datestringrequired

Start date

end_datestringrequired

End date

goal_typestringrequired

Goal type

Default "aspirational"
time_period_uuidstringrequired

Time period uuid

current_metric_uuidstring

Current metric uuid

Default null
creator_uuidstringrequired

Creator uuid

viva_goals_external_idstring

Viva goals external

Default null
last_checkin_datestring

Last checkin date

Default null
scorenumber

Score

Default null
current_progressnumber

Current progress

Default null
current_valuenumber

Current value

Default null
current_statusstringrequired

Current status

Default "not_started"
statusstringrequired

Status

Default "published"
source_uuidstring

Source uuid

Default null
source_typestring

Source type

Default null
pathstring

Path

Default null
searchable_contentstring

Searchable content

Default null
progress_modestringrequired

Progress mode

Default "manual"
value_updated_atstring

Value updated at

Default null
status_updated_atstring

Status updated at

Default null
value_updated_by_uuidstring

Value updated by uuid

Default null
status_updated_by_uuidstring

Status updated by uuid

Default null
visibilitystringrequired

Visibility

Default "public"
checkin_due_daysnumber

Checkin due days

Default null
delegate_uuidstring

Delegate uuid

Default null
ai_rollup_enabledbooleanrequired

Ai rollup enabled

Default "false"
data_sources_countnumberrequired

Data sources count

Default "0"

Update an initiative

Request

Updates an existing initiative with the specified attributes

Path
idstringrequired

Initiative UUID

Bodyapplication/json
titlestring

Goal title

descriptionstring

Goal description

goal_typestring

Goal type

Enum"aspirational""committed"
visibilitystring

Goal visibility

Enum"public""limited"
current_statusstring

Current status

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

Start date (YYYY-MM-DD)

end_datestring

End date (YYYY-MM-DD)

time_period_uuidstring

Time period UUID

team_uuidsArray of strings

Array of team UUIDs

owner_uuidsArray of strings

Array of owner UUIDs

labelsArray of strings

Array of label names

delegate_uuidstring

Delegate user UUID

checkin_due_daysnumber

Checkin due days override

progress_modestring

Progress mode

Enum"manual""rollup""integration"
parentsArray of strings

Array of parent goals

Default []
visible_entitiesArray of strings

Visible entities for limited visibility

Default []

Responses

Success

Body*/*
uuidstringrequired

Uuid

typestringrequired

Type

titlestringrequired

Title

descriptionstring

Description

Default null
start_datestringrequired

Start date

end_datestringrequired

End date

goal_typestringrequired

Goal type

Default "aspirational"
time_period_uuidstringrequired

Time period uuid

current_metric_uuidstring

Current metric uuid

Default null
creator_uuidstringrequired

Creator uuid

viva_goals_external_idstring

Viva goals external

Default null
last_checkin_datestring

Last checkin date

Default null
scorenumber

Score

Default null
current_progressnumber

Current progress

Default null
current_valuenumber

Current value

Default null
current_statusstringrequired

Current status

Default "not_started"
statusstringrequired

Status

Default "published"
source_uuidstring

Source uuid

Default null
source_typestring

Source type

Default null
pathstring

Path

Default null
searchable_contentstring

Searchable content

Default null
progress_modestringrequired

Progress mode

Default "manual"
value_updated_atstring

Value updated at

Default null
status_updated_atstring

Status updated at

Default null
value_updated_by_uuidstring

Value updated by uuid

Default null
status_updated_by_uuidstring

Status updated by uuid

Default null
visibilitystringrequired

Visibility

Default "public"
checkin_due_daysnumber

Checkin due days

Default null
delegate_uuidstring

Delegate uuid

Default null
ai_rollup_enabledbooleanrequired

Ai rollup enabled

Default "false"
data_sources_countnumberrequired

Data sources count

Default "0"

Delete an initiative

Request

Deletes an initiative and optionally its hierarchy

Path
idstringrequired

Initiative UUID

Bodyapplication/json
including_immediate_objectivesboolean

Include immediate objectives in deletion

Default false
including_immediate_initiativesboolean

Include immediate initiatives in deletion

Default false
including_immediate_key_resultsboolean

Include immediate key results in deletion

Default false
delete_hierarchyboolean

Delete entire hierarchy

Default false

Responses

Success

Body*/*
uuidstringrequired

Uuid

typestringrequired

Type

titlestringrequired

Title

descriptionstring

Description

Default null
start_datestringrequired

Start date

end_datestringrequired

End date

goal_typestringrequired

Goal type

Default "aspirational"
time_period_uuidstringrequired

Time period uuid

current_metric_uuidstring

Current metric uuid

Default null
creator_uuidstringrequired

Creator uuid

viva_goals_external_idstring

Viva goals external

Default null
last_checkin_datestring

Last checkin date

Default null
scorenumber

Score

Default null
current_progressnumber

Current progress

Default null
current_valuenumber

Current value

Default null
current_statusstringrequired

Current status

Default "not_started"
statusstringrequired

Status

Default "published"
source_uuidstring

Source uuid

Default null
source_typestring

Source type

Default null
pathstring

Path

Default null
searchable_contentstring

Searchable content

Default null
progress_modestringrequired

Progress mode

Default "manual"
value_updated_atstring

Value updated at

Default null
status_updated_atstring

Status updated at

Default null
value_updated_by_uuidstring

Value updated by uuid

Default null
status_updated_by_uuidstring

Status updated by uuid

Default null
visibilitystringrequired

Visibility

Default "public"
checkin_due_daysnumber

Checkin due days

Default null
delegate_uuidstring

Delegate uuid

Default null
ai_rollup_enabledbooleanrequired

Ai rollup enabled

Default "false"
data_sources_countnumberrequired

Data sources count

Default "0"

Key Results

Operations

Labels

Operations

Objectives

Operations

Teams

Operations

Users

Operations