External API v1 Overview
The External API v1 provides a RESTful API for integrations, accessible at /api/v1/.
Authentication
Uses X-API-Key header with API tokens:
bash
curl -H "X-API-Key: plane_api_xxxxx" https://app.plane.so/api/v1/workspaces/slug/projects/Pagination
Cursor-based pagination: ?cursor=value:offset:is_prev
json
{
"next_cursor": "2024-01-01T00:00:00Z:0:0",
"prev_cursor": null,
"results": [...]
}Rate Limiting
Limited to 60 requests/minute per API key.
Key Endpoints
| Endpoint | Method | Description |
|---|---|---|
/api/v1/workspaces/ | GET | List workspaces |
/api/v1/workspaces/{slug}/projects/ | GET | List projects |
/api/v1/workspaces/{slug}/projects/{id}/issues/ | GET | List issues |
/api/v1/workspaces/{slug}/projects/{id}/cycles/ | GET | List cycles |
/api/v1/workspaces/{slug}/projects/{id}/modules/ | GET | List modules |
/api/v1/workspaces/{slug}/projects/{id}/states/ | GET | List states |
/api/v1/workspaces/{slug}/projects/{id}/intake-issues/ | GET | List intake issues |
Error Responses
json
{ "error": "Error message", "status_code": 400 }