Every route the API serves. {orgID} accepts a UUID or slug; {repoID} is a
UUID only.
|
Path |
Notes |
| GET |
/readyz |
Readiness + database ping. Use for external checks. |
| GET |
/healthz |
Liveness. Internal probes only. |
| GET |
/api/v1/plans |
The plan catalogue |
| POST |
/api/v1/billing/webhook |
Billing provider callback, signature-verified |
Reference →
|
Path |
Permission |
| GET |
/api/v1/users/me |
authenticated |
| PATCH |
/api/v1/users/me |
authenticated |
| POST |
/api/v1/auth/session |
authenticated |
| GET |
/api/v1/search |
authenticated (scoped to your orgs) |
| GET |
/api/v1/notifications |
authenticated |
| POST |
/api/v1/notifications/{id}/read |
authenticated |
| POST |
/api/v1/invitations/accept |
authenticated |
| GET |
/api/v1/users/me/invitations |
authenticated |
| POST |
/api/v1/invitations/{invID}/accept |
authenticated |
| GET |
/api/v1/users/me/shared-repositories |
authenticated |
Reference →
|
Path |
Permission |
| GET |
/api/v1/organizations |
authenticated |
| POST |
/api/v1/organizations |
authenticated |
| GET |
/api/v1/organizations/{orgID} |
organization.read |
| PATCH |
/api/v1/organizations/{orgID} |
organization.update |
| DELETE |
/api/v1/organizations/{orgID} |
organization.delete |
| GET |
/api/v1/organizations/{orgID}/members |
members.read |
| PATCH |
/api/v1/organizations/{orgID}/members/{userID} |
members.remove |
| DELETE |
/api/v1/organizations/{orgID}/members/{userID} |
members.remove |
| POST |
/api/v1/organizations/{orgID}/leave |
organization.read |
| GET |
/api/v1/organizations/{orgID}/invitations |
members.read |
| POST |
/api/v1/organizations/{orgID}/invitations |
members.invite |
| POST |
/api/v1/organizations/{orgID}/invitations/{invID}/link |
members.invite |
| DELETE |
/api/v1/organizations/{orgID}/invitations/{invID} |
members.invite |
| GET |
/api/v1/organizations/{orgID}/usage |
usage.read |
| GET |
/api/v1/organizations/{orgID}/usage/series |
usage.read |
| GET |
/api/v1/organizations/{orgID}/activity |
repositories.read |
| GET |
/api/v1/organizations/{orgID}/dashboard |
usage.read |
| GET |
/api/v1/organizations/{orgID}/recommendations |
usage.read |
| GET |
/api/v1/organizations/{orgID}/artifacts |
repositories.read |
| GET |
/api/v1/organizations/{orgID}/repositories |
repositories.read |
| POST |
/api/v1/organizations/{orgID}/repositories |
repositories.create |
|
Path |
Permission |
| GET |
/api/v1/organizations/{orgID}/storage-groups |
storage.read |
| POST |
/api/v1/organizations/{orgID}/storage-groups |
storage.manage |
| GET |
/api/v1/organizations/{orgID}/storage-groups/{groupID} |
storage.read |
| PATCH |
/api/v1/organizations/{orgID}/storage-groups/{groupID} |
storage.manage |
| DELETE |
/api/v1/organizations/{orgID}/storage-groups/{groupID} |
storage.manage |
Reference → · Not reachable by token scopes — session roles only.
|
Path |
Permission |
| GET |
/api/v1/organizations/{orgID}/tokens |
tokens.create |
| POST |
/api/v1/organizations/{orgID}/tokens |
tokens.create |
| DELETE |
/api/v1/organizations/{orgID}/tokens/{tokenID} |
tokens.revoke |
| GET |
/api/v1/organizations/{orgID}/webhooks |
organization.update |
| POST |
/api/v1/organizations/{orgID}/webhooks |
organization.update |
| PATCH |
/api/v1/organizations/{orgID}/webhooks/{webhookID} |
organization.update |
| DELETE |
/api/v1/organizations/{orgID}/webhooks/{webhookID} |
organization.update |
| GET |
/api/v1/organizations/{orgID}/webhooks/{webhookID}/deliveries |
organization.update |
| GET |
/api/v1/organizations/{orgID}/audit |
audit.read |
| GET |
/api/v1/organizations/{orgID}/storage/connections |
storage.read |
| POST |
/api/v1/organizations/{orgID}/storage/connections |
storage.manage |
| GET |
/api/v1/organizations/{orgID}/storage/connections/{connID} |
storage.read |
| PATCH |
/api/v1/organizations/{orgID}/storage/connections/{connID} |
storage.manage |
| POST |
/api/v1/organizations/{orgID}/storage/connections/{connID}/test |
storage.manage |
| DELETE |
/api/v1/organizations/{orgID}/storage/connections/{connID} |
storage.manage |
| GET |
/api/v1/organizations/{orgID}/billing |
billing.read |
| POST |
/api/v1/organizations/{orgID}/billing/checkout |
billing.update |
| POST |
/api/v1/organizations/{orgID}/billing/portal |
billing.update |
| POST |
/api/v1/organizations/{orgID}/billing/confirm |
billing.update |
| POST |
/api/v1/organizations/{orgID}/billing/byos-addon |
billing.update |
Reference → · All paths prefixed /api/v1/repositories/{repoID}.
|
Path |
Permission |
| GET |
/ |
repository.pull |
| PATCH |
/ |
repository.update |
| DELETE |
/ |
repository.admin |
| GET |
/usage |
repository.pull |
| GET |
/objects |
repository.pull |
| GET |
/transfers |
repository.pull |
| GET |
/connect |
repository.pull |
| GET |
/overview |
repository.pull |
| GET |
/tree |
repository.pull |
| GET |
/file |
repository.pull |
| GET |
/file/history |
repository.pull |
| GET |
/commits |
repository.pull |
| GET |
/commits/{sha} |
repository.pull |
| GET |
/branches |
repository.pull |
| GET |
/releases |
repository.pull |
| GET |
/releases/{tag} |
repository.pull |
| PATCH |
/releases/{tag} |
repository.update |
| GET |
/artifacts/{oid} |
repository.pull |
| GET |
/artifacts/{oid}/timeline |
repository.pull |
| GET |
/graph |
repository.pull |
| POST |
/graph/edges |
repository.update |
| DELETE |
/graph/edges/{edgeID} |
repository.update |
| GET |
/snapshots |
repository.pull |
| POST |
/snapshots |
repository.push |
| GET |
/health |
repository.pull |
| GET |
/recommendations |
repository.pull |
| POST |
/recommendations/{recID}/dismiss |
repository.update |
| GET |
/activity |
repository.pull |
| GET |
/storage/series |
repository.pull |
| GET |
/storage/folders |
repository.pull |
| GET |
/storage/summary |
repository.pull |
| GET |
/members |
repository.members.manage |
| POST |
/members |
repository.members.manage |
| DELETE |
/members/{userID} |
repository.members.manage |
| GET |
/invitations |
repository.members.manage |
| POST |
/invitations |
repository.members.manage |
| DELETE |
/invitations/{invID} |
repository.members.manage |
Reference → · All require repository.push.
|
Path |
| GET |
/api/v1/repositories/{repoID}/index/state |
| POST |
/api/v1/repositories/{repoID}/index/sessions |
| POST |
/api/v1/repositories/{repoID}/index/sessions/{sessionID}/commits |
| POST |
/api/v1/repositories/{repoID}/index/sessions/{sessionID}/tree |
| POST |
/api/v1/repositories/{repoID}/index/sessions/{sessionID}/finalize |
Uploads → · Downloads →
|
Path |
Permission |
| POST |
/api/v1/repositories/{repoID}/uploads |
repository.push |
| POST |
/api/v1/repositories/{repoID}/uploads/{sessionID}/objects |
repository.push |
| POST |
/api/v1/repositories/{repoID}/uploads/{sessionID}/objects/{oid}/complete |
repository.push |
| POST |
/api/v1/repositories/{repoID}/uploads/{sessionID}/finalize |
repository.push |
| POST |
/api/v1/repositories/{repoID}/downloads/authorize |
repository.pull |
Reference →
|
Path |
Permission |
| POST |
/api/v1/repositories/{repoID}/lfs/objects/batch |
repository.pull (+ push for uploads) |
| POST |
/api/v1/repositories/{repoID}/lfs/finalize |
repository.push |
| POST |
/api/v1/repositories/{repoID}/lfs/transfers |
repository.pull |
| GET |
/api/v1/repositories/{repoID}/lfs/* |
repository.pull |
| HEAD |
/api/v1/repositories/{repoID}/lfs/* |
repository.pull |
| PUT |
/api/v1/repositories/{repoID}/lfs/* |
repository.push |
Documented in the SDK contract; these return 404 (or 405) today.
|
Path |
Instead use |
| GET |
/api/v1/resolve?uri=cavs://… |
repository + oid |
| GET |
/api/v1/artifacts/{id} |
/repositories/{repoID}/artifacts/{oid} |
| GET |
/api/v1/artifacts/{id}/versions |
/repositories/{repoID}/artifacts/{oid}/timeline |
| POST |
/api/v1/repositories/{repoID}/lfs/verify |
the CAVS agent, or check /objects |
| — |
/api/v1/repositories/{repoID}/runs… |
/graph/edges |
| — |
/api/v1/organizations/{orgID}/service-accounts… |
cavs_ci_ tokens |