Skip to main content

Cycles API

Cycles represent time-boxed iterations or sprints in Plane projects. This API allows you to create, manage, and track cycles and their associated work items.

Endpoints

List Cycles

GET
Retrieve all cycles in a project.

Path Parameters

string
required
Workspace slug identifier
uuid
required
Project UUID

Example Request

Response

Create Cycle

POST
Create a new cycle in a project.
Cycles must be enabled for the project (cycle_view: true) before creating cycles.

Path Parameters

string
required
Workspace slug identifier
uuid
required
Project UUID

Request Body

string
required
Cycle name
string
Cycle description
datetime
required
Cycle start date and time (converted to project timezone)
datetime
required
Cycle end date and time (cannot be before start_date)
uuid
User ID of cycle owner (defaults to current user)
string
Timezone for the cycle (e.g., “America/New_York”)
string
External integration source
string
External system identifier

Example Request

Response

Get Cycle

GET
Retrieve a specific cycle by ID.

Path Parameters

string
required
Workspace slug identifier
uuid
required
Project UUID
uuid
required
Cycle UUID

Example Request

Update Cycle

PATCH
Update a cycle’s properties.

Example Request

Delete Cycle

DELETE
Delete a cycle permanently.

Example Request

Cycle Issues

List Cycle Issues

GET
Retrieve all work items assigned to a cycle.

Example Request

Add Issues to Cycle

POST
Assign work items to a cycle in bulk.

Request Body

array
required
Array of issue UUIDs to add to the cycle

Example Request

Remove Issue from Cycle

DELETE
Remove a work item from a cycle.

Example Request

Transfer Issues Between Cycles

POST
Move all issues from one cycle to another.

Request Body

uuid
required
Target cycle UUID to transfer issues to

Example Request

Cycle Archive

Archive Cycle

POST
Archive a cycle to remove it from active cycle lists.

Example Request

List Archived Cycles

GET
Retrieve all archived cycles in a project.

Example Request

Unarchive Cycle

DELETE
Restore an archived cycle.

Example Request

Cycle Response Fields

uuid
Unique cycle identifier
string
Cycle name
string
Cycle description
datetime
Cycle start date and time (UTC)
datetime
Cycle end date and time (UTC)
uuid
User ID of cycle owner
integer
Total number of work items in the cycle
integer
Number of completed work items
integer
Number of started work items
integer
Number of unstarted work items
integer
Number of backlog work items
integer
Number of cancelled work items
float
Total story point estimates
float
Completed story point estimates
float
Started story point estimates
datetime
Cycle creation timestamp
datetime
Last update timestamp

Validation Rules

  • Project Cycles Enabled: Cycles must be enabled for the project (cycle_view: true)
  • Date Range: start_date cannot exceed end_date
  • Timezone Conversion: Dates are automatically converted to UTC based on project timezone
  • Owner: If not specified, defaults to the current authenticated user

Error Responses

Cycles Not Enabled

Invalid Date Range

Project Not Found