Projects
A project gives one team, product, or environment its own budget, routing policy, compression, guardrails, vendor controls, and spend reporting.
Create a project
In Projects, click Add project and fill in Project details (name, org-unique slug, description), Budget (skippable), and Routing (org default or a project policy). All are editable later:
Scoping requests to a project
Use a project API key when you control the key but not the body (Claude Code, Cursor), and the header when one service sends several projects’ traffic on one organization key.
For a hard limit, use the key or the header (how budgets are enforced).
When methods combine:
- A project API key locks its project: a header or body value naming another project returns
400 project_mismatch; a match is accepted - With an organization key, a body
project_idwins over the header for attribution and routing, but the budget check uses the header’s project - Combining a project with an Embedded Routing
customerreturns400 customer_project_conflict
A project request uses the project’s routing policy, or the org default when it has none.
Tags
For tag-based routing, send tags as key-value pairs in the request’s tags body field. Define each pair for your organization first; GET /v1/tags lists the available pairs. Tag rules on a project’s Routing tab select a different strategy when all pairs in a rule match. Extra request tags don’t prevent a match, and the first matching rule wins.
Deactivating a project
Setting is_active to false through the Projects API doesn’t stop traffic; it drops guardrail overrides and blocks new project API keys. To stop traffic, disable or delete the keys or set a hard limit.