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

Key Results

Operations

Labels

Operations

Objectives

Operations

Teams

Operations

List teams

Request

Retrieves all teams via REST API

This endpoint supports filtering and pagination through query parameters. Available ransackable attributes: uuid, display_name, parent_uuid, status, name, is_org, parent_uuid.

Available ransackable associations and their attributes:

  • team_memberships: team_memberships_uuid, team_memberships_user_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 team

Request

Creates a new team with the specified attributes, owners, and members

Bodyapplication/json
teamobjectrequired
team.​display_namestringrequired

Team display name

team.​descriptionstring

Team description

Default null
team.​parent_uuidstring

Parent team UUID

Default null
team.​owner_uuidsArray of strings

Array of user UUIDs to be team owners in the format ["uuid-1", "uuid-2"]

Default []
team.​member_uuidsArray of strings

Array of user UUIDs to be team members in the format ["uuid-1", "uuid-2"]

Default []

Responses

Success

Body*/*
uuidstringrequired

Uuid

parent_uuidstring

Parent uuid

Default null
display_namestringrequired

Display name

is_orgbooleanrequired

Is org

Default "false"
descriptionstring

Description

Default null
pathstring

Path

Default null
statusstringrequired

Status

Default "active"
depthnumber

Depth

Default "0"
viva_goals_team_idstring

Viva goals team

Default null

Get a specific team

Request

Retrieves detailed information about a specific team by its UUID

Path
idstringrequired

Team UUID

Responses

Success

Body*/*
uuidstringrequired

Uuid

parent_uuidstring

Parent uuid

Default null
display_namestringrequired

Display name

is_orgbooleanrequired

Is org

Default "false"
descriptionstring

Description

Default null
pathstring

Path

Default null
statusstringrequired

Status

Default "active"
depthnumber

Depth

Default "0"
viva_goals_team_idstring

Viva goals team

Default null

Update a team

Request

Updates an existing team with the specified attributes, owners, and members

Path
idstringrequired

Team UUID

Bodyapplication/json
teamobjectrequired
team.​display_namestring

Team display name

team.​descriptionstring

Team description

team.​parent_uuidstring

Parent team UUID

team.​statusstring

Team status

Enum"active""archived"
team.​owner_uuidsArray of strings

Array of user UUIDs to be team owners in the format ["uuid-1", "uuid-2"]

team.​member_uuidsArray of strings

Array of user UUIDs to be team members in the format ["uuid-1", "uuid-2"]

Responses

Success

Body*/*
uuidstringrequired

Uuid

parent_uuidstring

Parent uuid

Default null
display_namestringrequired

Display name

is_orgbooleanrequired

Is org

Default "false"
descriptionstring

Description

Default null
pathstring

Path

Default null
statusstringrequired

Status

Default "active"
depthnumber

Depth

Default "0"
viva_goals_team_idstring

Viva goals team

Default null

Delete a team

Request

Deletes a team if it has no active sub-teams or OKR relationships

Path
idstringrequired

Team UUID

Responses

Success

Body*/*
uuidstringrequired

Uuid

parent_uuidstring

Parent uuid

Default null
display_namestringrequired

Display name

is_orgbooleanrequired

Is org

Default "false"
descriptionstring

Description

Default null
pathstring

Path

Default null
statusstringrequired

Status

Default "active"
depthnumber

Depth

Default "0"
viva_goals_team_idstring

Viva goals team

Default null

Users

Operations