Authentication & Keys
All API requests require a Bearer token in the Authorization header.
curl -H "Authorization: Bearer cyp_pub_xxxxxxxxxxxxxxxxxxxx" \
https://projects.cyrus365.com/api/v1/projects
API Key Types
There are two types of API keys, both using the cyp_pub_ prefix:
| Type | Created In | Access Scope |
|---|---|---|
| User-level | Settings → API Keys | All projects the key owner can access |
| Project-level | Project Settings → API tab | Single project only |
User-Level Keys
Created from Settings → API Keys in your dashboard. Access is based on the key owner's permissions across all their projects. Supports all scopes including projects.read, projects.write, and the wildcard * scope.
Project-Level Keys
Created from a project's Settings → API tab by project Owners or Admins. These keys are scoped to a single project with restricted scopes:
- •Cannot use
projects.read,projects.write, or wildcard*scopes - •Settings-created project keys work as the project owner's identity, so long-running automations keep working even if the creating admin is later removed
Project-level keys are ideal for CI/CD pipelines, Slack integrations, or any automation that only needs access to one project.
Scopes
Scopes control what an API key can access. Assign scopes when creating a key.
| Scope | Description | Project-Level? |
|---|---|---|
projects.read | List and view projects | User-level only |
projects.write | Create and update projects | User-level only |
tasks.read | List and view tasks (includes subtasks) | Yes |
tasks.write | Create, update, delete tasks | Yes |
comments.read | View task comments | Yes |
comments.write | Create comments | Yes |
sprints.read | List sprints | Yes |
sprints.write | Create and manage sprints | Yes |
groups.read | List groups (columns) | Yes |
groups.write | Create and manage groups | Yes |
members.read | List project members | Yes |
tags.read | List tags | Yes |
tags.write | Create project tags | Yes |
calendar.read | View calendar events | Yes |
calendar.write | Manage calendar events | Yes |
activity.read | View task activity logs | Yes |
webhooks.manage | Manage webhook subscriptions | Yes |
projects.read, projects.write, and the wildcard *).
Rate Limits
Rate limits are based on your organization's pricing plan and apply to all PUBLIC-tier API keys:
| Plan | Rate Limit |
|---|---|
| FREE | 60 req/min |
| PRO | 300 req/min |
| FOUNDER | 300 req/min |
| ENTERPRISE | 1,200 req/min |