Projects & logs
Manage projects and environments, and read request logs.
Base path /api/v1/project.
See Workspaces & projects for the concepts.
List projects
GET /api/v1/projectSession callers should send x-tenant to name the workspace. API-key callers are
already scoped.
Create a project
POST /api/v1/project{
"name": "Payments API",
"slug": "payments-api",
"environments": ["production", "staging"]
}Slugs are unique per workspace, not globally. A duplicate returns 409.
Get a project environment
GET /api/v1/project/{project_env}curl "https://apikee.example.com/api/v1/project/payments-api-production" \
-H "x-api-key: apikee_..."Update
PUT /api/v1/project/{project_env}Rename the project, adjust its environments, or change settings.
Delete
DELETE /api/v1/project/{project_env}Guarded: deleting an environment that still has clients returns 412 rather than
cascading. Remove or move the clients first — an accidental cascade here would
revoke live credentials.
Request logs
GET /api/v1/project/{project_env}/logsEvery validation attempt, accepted or rejected, with credentials redacted. Each entry names which of the eight checks failed, which is what makes it useful for answering "why is this consumer getting 403?".
Supports pagination. See Analytics & logs.
Request signing keys
An environment can carry a PEM public key, which turns on request signing: the SDK must then sign each validation call with the matching private key, and signed requests are held to a five-minute replay window.
The key is set and read through the project surface. Supply the private half to the
SDK as privateKey.

