API
HTTP route catalog
Implemented methods, paths, authorization gates and idempotency
This catalog lists implemented /api/v1 HTTP handlers, including the provider-only Stripe callback. Paths use UUID placeholders. A listed scope is the entry gate, not the whole permission decision: project access, workspace resources, actor permissions, data grants, policy and plugin contracts can impose additional checks.
Use the resource guides for lifecycle and request examples. “No shared-header guarantee” means the route does not use the common HTTP idempotency helper; it may have resource-specific conflict/reconciliation behavior. Do not assume retries are harmless.
Download the route inventory. This is a route inventory, not an OpenAPI schema or SDK.
Workspace and administration
| Method | Path | Entry gate | Idempotency |
|---|---|---|---|
GET | /api/v1/api-keys | org:manage | No shared-header guarantee |
POST | /api/v1/api-keys | org:manage | No shared-header guarantee |
DELETE | /api/v1/api-keys/{keyId} | org:manage | No shared-header guarantee |
PATCH | /api/v1/api-keys/{keyId} | org:manage | No shared-header guarantee |
GET | /api/v1/api-limits | org:manage | No shared-header guarantee |
PUT | /api/v1/api-limits | org:manage | No shared-header guarantee |
POST | /api/v1/billing/checkout | org:manage | No shared-header guarantee |
POST | /api/v1/billing/downgrade | org:manage | No shared-header guarantee |
GET | /api/v1/billing/invoices | org:manage | No shared-header guarantee |
POST | /api/v1/billing/portal | org:manage | No shared-header guarantee |
POST | /api/v1/billing/stripe-webhook | Stripe signature | No shared-header guarantee |
GET | /api/v1/members | org:manage | No shared-header guarantee |
GET | /api/v1/members/{userId}/read-permissions | org:manage | No shared-header guarantee |
PUT | /api/v1/members/{userId}/read-permissions | org:manage | No shared-header guarantee |
GET | /api/v1/members/{userId}/write-permissions | org:manage | No shared-header guarantee |
PUT | /api/v1/members/{userId}/write-permissions | org:manage | No shared-header guarantee |
GET | /api/v1/organization | org:read | No shared-header guarantee |
GET | /api/v1/pricing | Public | No shared-header guarantee |
GET | /api/v1/projects | projects:read | No shared-header guarantee |
POST | /api/v1/projects | projects:write | Shared header |
DELETE | /api/v1/projects/{projectId} | projects:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId} | projects:read | No shared-header guarantee |
PATCH | /api/v1/projects/{projectId} | projects:write | No shared-header guarantee |
GET | /api/v1/query-executions | org:manage | No shared-header guarantee |
GET | /api/v1/semantic-api | org:manage | No shared-header guarantee |
PUT | /api/v1/semantic-api | org:manage | No shared-header guarantee |
GET | /api/v1/source-write-settings | org:manage | No shared-header guarantee |
PUT | /api/v1/source-write-settings | org:manage | No shared-header guarantee |
GET | /api/v1/usage | org:manage | No shared-header guarantee |
GET | /api/v1/usage/alerts | org:manage | No shared-header guarantee |
PUT | /api/v1/usage/alerts | org:manage | No shared-header guarantee |
GET | /api/v1/usage/billing | org:manage | No shared-header guarantee |
GET | /api/v1/usage/operations | org:manage | No shared-header guarantee |
GET | /api/v1/usage/operations/{operationId}/charges | org:manage | No shared-header guarantee |
GET | /api/v1/usage/rates | org:manage | No shared-header guarantee |
GET | /api/v1/write-policies | policy:read | No shared-header guarantee |
POST | /api/v1/write-policies | policy:propose | No shared-header guarantee |
GET | /api/v1/write-policies/{policyId} | policy:read | No shared-header guarantee |
PATCH | /api/v1/write-policies/{policyId} | policy:approve / policy:manage | No shared-header guarantee |
POST | /api/v1/write-policies/{policyId}/bind | policy:read + pipelines:write | No shared-header guarantee |
Data endpoints
| Method | Path | Entry gate | Idempotency |
|---|---|---|---|
GET | /api/v1/data-endpoints | endpoints:read | No shared-header guarantee |
POST | /api/v1/data-endpoints | endpoints:write | Shared header |
DELETE | /api/v1/data-endpoints/{endpointId} | endpoints:write | No shared-header guarantee |
GET | /api/v1/data-endpoints/{endpointId} | endpoints:read | No shared-header guarantee |
PATCH | /api/v1/data-endpoints/{endpointId} | endpoints:write | No shared-header guarantee |
POST | /api/v1/data-endpoints/{endpointId}/check | endpoints:read | No shared-header guarantee |
GET | /api/v1/data-endpoints/{endpointId}/records | data:read | No shared-header guarantee |
GET | /api/v1/data-endpoints/{endpointId}/schema | endpoints:read | No shared-header guarantee |
GET | /api/v1/data-endpoints/{endpointId}/source-write-grants | org:manage | No shared-header guarantee |
POST | /api/v1/data-endpoints/{endpointId}/source-write-grants | org:manage | No shared-header guarantee |
DELETE | /api/v1/data-endpoints/{endpointId}/source-write-grants/{grantId} | org:manage | No shared-header guarantee |
GET | /api/v1/data-endpoints/{endpointId}/source-write-policy | org:manage | No shared-header guarantee |
PUT | /api/v1/data-endpoints/{endpointId}/source-write-policy | org:manage | No shared-header guarantee |
POST | /api/v1/data-endpoints/{endpointId}/source-writes | data:write | Required header |
GET | /api/v1/data-endpoints/{endpointId}/source-writes/{operationId} | data:write | No shared-header guarantee |
POST | /api/v1/data-endpoints/{endpointId}/source-writes/{operationId}/recover | data:write | No shared-header guarantee |
POST | /api/v1/data-endpoints/{endpointId}/validate | endpoints:read | No shared-header guarantee |
Actions and changes
| Method | Path | Entry gate | Idempotency |
|---|---|---|---|
GET | /api/v1/projects/{projectId}/action-requests/{requestId} | projects:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/action-requests/{requestId}/execute | data:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/action-requests/{requestId}/reconcile | data:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/action-requests/{requestId}/review | policy:approve | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/actions | projects:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/actions | policy:manage | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/actions/{actionId} | projects:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/actions/{actionId}/requests | data:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/changes/ack | data:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/changes/dead-letters | data:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/changes/dead-letters | data:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/changes/fail | data:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/changes/pull | data:read | No shared-header guarantee |
Integrations
| Method | Path | Entry gate | Idempotency |
|---|---|---|---|
GET | /api/v1/projects/{projectId}/integrations/corrections | ontologies:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/integrations/corrections/{correctionId}/ack | ontologies:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/integrations/observations | ontologies:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/integrations/status | ontologies:read | No shared-header guarantee |
Ontology and queries
| Method | Path | Entry gate | Idempotency |
|---|---|---|---|
GET | /api/v1/projects/{projectId}/ontology | ontologies:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/compile | ontologies:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/constraints | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/definitions | ontologies:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/definitions | ontologies:write | Shared header |
DELETE | /api/v1/projects/{projectId}/ontology/definitions/{definitionId} | ontologies:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/definitions/{definitionId} | ontologies:read | No shared-header guarantee |
PUT | /api/v1/projects/{projectId}/ontology/definitions/{definitionId} | ontologies:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/definitions/{definitionId}/branches | ontologies:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/definitions/{definitionId}/branches | ontologies:write | Shared header |
GET | /api/v1/projects/{projectId}/ontology/definitions/{definitionId}/compare | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/definitions/{definitionId}/versions | ontologies:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/definitions/{definitionId}/versions | ontologies:write | Shared header |
POST | /api/v1/projects/{projectId}/ontology/definitions/{definitionId}/versions/{versionId}/activate | ontologies:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/imports | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/links | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/queries | queries:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/queries | queries:write | Shared header |
DELETE | /api/v1/projects/{projectId}/ontology/queries/{queryId} | queries:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/queries/{queryId} | queries:read | No shared-header guarantee |
PUT | /api/v1/projects/{projectId}/ontology/queries/{queryId} | queries:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/queries/{queryId}/execute | queries:execute | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/queries/{queryId}/releases | queries:read | No shared-header guarantee |
PATCH | /api/v1/projects/{projectId}/ontology/queries/{queryId}/releases | queries:publish | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/queries/{queryId}/releases | queries:publish | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/read-bindings | bindings:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/read-bindings | bindings:write | Shared header |
DELETE | /api/v1/projects/{projectId}/ontology/read-bindings/{bindingId} | bindings:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/read-bindings/{bindingId} | bindings:read | No shared-header guarantee |
PUT | /api/v1/projects/{projectId}/ontology/read-bindings/{bindingId} | bindings:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/shapes | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/sparql | sparql:query / sparql:update and semantic mode | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/ontology/sparql | sparql:query / sparql:update and semantic mode | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/terms | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/versions | ontologies:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/ontology/{term}/records | data:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/queries/{queryId}/execute | queries:execute | No shared-header guarantee |
DELETE | /api/v1/projects/{projectId}/queries/{queryId}/jobs/{jobId} | queries:execute | No shared-header guarantee |
Pipelines and runs
| Method | Path | Entry gate | Idempotency |
|---|---|---|---|
GET | /api/v1/projects/{projectId}/pipelines | pipelines:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/pipelines | pipelines:write | Shared header |
DELETE | /api/v1/projects/{projectId}/pipelines/{pipelineId} | pipelines:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/pipelines/{pipelineId} | pipelines:read | No shared-header guarantee |
PATCH | /api/v1/projects/{projectId}/pipelines/{pipelineId} | pipelines:write | No shared-header guarantee |
PUT | /api/v1/projects/{projectId}/pipelines/{pipelineId} | pipelines:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/pipelines/{pipelineId}/branches | pipelines:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/pipelines/{pipelineId}/branches | pipelines:write | Shared header |
GET | /api/v1/projects/{projectId}/pipelines/{pipelineId}/compare | pipelines:read | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/pipelines/{pipelineId}/draft | pipelines:read | No shared-header guarantee |
PUT | /api/v1/projects/{projectId}/pipelines/{pipelineId}/draft | pipelines:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/pipelines/{pipelineId}/draft/mutate | pipelines:write | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/pipelines/{pipelineId}/draft/validate | pipelines:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/pipelines/{pipelineId}/execute | pipelines:execute | Shared header |
GET | /api/v1/projects/{projectId}/pipelines/{pipelineId}/versions | pipelines:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/pipelines/{pipelineId}/versions | pipelines:write | Shared header |
POST | /api/v1/projects/{projectId}/pipelines/{pipelineId}/versions/{versionId}/activate | pipelines:write | No shared-header guarantee |
GET | /api/v1/projects/{projectId}/runs | runs:read | No shared-header guarantee |
POST | /api/v1/projects/{projectId}/runs | pipelines:execute | Shared header |
GET | /api/v1/projects/{projectId}/runs/{runId} | runs:read | No shared-header guarantee |