Skip to main content

Plane API

Welcome to the Plane API documentation. The Plane API provides a comprehensive REST interface to interact with your Plane workspace programmatically.

Base URL

All API requests are made to:
For self-hosted instances, replace your-instance.plane.so with your domain.

API Versioning

The current API version is v1. The version is included in the URL path:
  • Production API: /api/v1/
  • Legacy API: /api/ (deprecated)

Request Format

The Plane API accepts JSON-encoded request bodies. All requests must include the following headers:

Response Format

All responses are returned as JSON. Successful responses return a 200 or 201 status code along with the requested data.

Error Handling

Errors are returned with appropriate HTTP status codes and a JSON body:

Common Error Codes

Rate Limiting

API requests are rate-limited to ensure fair usage and system stability.

Default Limits

  • API Key: 60 requests per minute (configurable via API_KEY_RATE_LIMIT)
  • Service Token: 300 requests per minute

Rate Limit Headers

Every API response includes rate limit information in the headers:
Number of requests remaining in the current window
Unix timestamp when the rate limit resets

Handling Rate Limits

When you exceed the rate limit, you’ll receive a 429 Too Many Requests response:
Implement exponential backoff in your application to handle rate limits gracefully.

Pagination

List endpoints support pagination to manage large datasets. Use the following query parameters:
integer
default:"100"
Number of items to return per page (max: 100)
integer
default:"0"
Number of items to skip

Example

Filtering and Sorting

Many list endpoints support filtering and sorting:
Search term to filter results
string
Field name to sort by (prefix with - for descending)

Example

Field Expansion

Some endpoints support field expansion to include related objects in the response:
string
Comma-separated list of fields to expand (e.g., assignees,labels)

Example

Timestamps

All timestamps are returned in ISO 8601 format with UTC timezone:

UUIDs

Plane uses UUIDs (v4) for resource identifiers:

Next Steps

Authentication

Learn how to authenticate your API requests

Work Items

Manage issues and tasks in your projects

Projects

Create and manage projects

Workspaces

Access workspace information