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:your-instance.plane.so with your domain.
API Versioning
The current API version isv1. 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 a200 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
| Status Code | Description |
|---|---|
400 | Bad Request - Invalid parameters or validation error |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource does not exist |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error - Something went wrong |
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:X-RateLimit-Remaining
Number of requests remaining in the current window
X-RateLimit-Reset
Unix timestamp when the rate limit resets
Handling Rate Limits
When you exceed the rate limit, you’ll receive a429 Too Many Requests response:
Pagination
List endpoints support pagination to manage large datasets. Use the following query parameters:Number of items to return per page (max: 100)
Number of items to skip
Example
Filtering and Sorting
Many list endpoints support filtering and sorting:Search term to filter results
Field name to sort by (prefix with
- for descending)Example
Field Expansion
Some endpoints support field expansion to include related objects in the response: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
