atrixANALYTICS
REST APIReference

Token API (/v1)

Programmatic endpoints, authenticated with a Bearer token (a personal access token atx_pat_… or an OAuth token atx_oat_…).

Generated from the Atrix Analytics — control plane API OpenAPI document, version 0.1.0. 22 operations. The raw document is at /openapi.json.

GET /v1/me

The calling token, its user, and its effective scopes.

Auth: Bearer token.

StatusBodyNotes
200V1MeResponse
401ErrorBody

GET /v1/orgs

The org this token belongs to (org:read).

Auth: Bearer token with org:read.

StatusBodyNotes
200OrgList
401ErrorBody
403ErrorBody

GET /v1/orgs/{org_id}

Auth: Bearer token with org:read.

ParameterInTypeRequiredDescription
org_idpathstring (uuid)yes
StatusBodyNotes
200OrgDto
403ErrorBody
404ErrorBody

GET /v1/orgs/{org_id}/projects

Auth: Bearer token with projects:read.

ParameterInTypeRequiredDescription
org_idpathstring (uuid)yes
StatusBodyNotes
200ProjectList
404ErrorBody

POST /v1/orgs/{org_id}/projects

Create a project (projects:write). ?dry_run=true validates and returns the plan.

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
org_idpathstring (uuid)yes
dry_runqueryboolean
Idempotency-Keyheaderstring | null

Request body (application/json): CreateProjectRequest

FieldTypeRequiredDescription
currencystring | nullISO 4217, default USD.
namestringyes
regionstringyesRegion code. Fixed for the life of the project. Only live regions are accepted.
timezonestring | nullIANA zone, default UTC.

GET /v1/projects

Projects this token can read (projects:read).

Auth: Bearer token with projects:read.

StatusBodyNotes
200ProjectList
401ErrorBody

GET /v1/projects/{project_id}

Auth: Bearer token with projects:read.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
StatusBodyNotes
200ProjectDto
403ErrorBody
404ErrorBody

PATCH /v1/projects/{project_id}

Rename (projects:write).

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
dry_runqueryboolean
Idempotency-Keyheaderstring | null

Request body (application/json): RenameRequest

FieldTypeRequiredDescription
namestringyes
StatusBodyNotes
200ProjectDto
403ErrorBody
404ErrorBody

DELETE /v1/projects/{project_id}

Soft-delete and revoke every key (projects:write).

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
dry_runqueryboolean
Idempotency-Keyheaderstring | null
StatusBodyNotes
200DryRundry_run
204—
403ErrorBody
404ErrorBody

GET /v1/projects/{project_id}/catalog/codegen

The tracking plan for atrix codegen (Bearer token with catalog:read).

Auth: Bearer token.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes

GET /v1/projects/{project_id}/environments

Auth: Bearer token with projects:read.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
StatusBodyNotes
200EnvironmentList
404ErrorBody

GET /v1/projects/{project_id}/integrations

Auth: Bearer token with projects:read.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
StatusBodyNotes
200IntegrationList
403ErrorBody
404ErrorBody

POST /v1/projects/{project_id}/integrations

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
Idempotency-Keyheaderstring | null

Request body (application/json): CreateIntegrationRequest

FieldTypeRequiredDescription
configobject | null
namestring | null
providerstringyesstripe
secretstring | nullStripe: the endpoint's signing secret (whsec_…). RevenueCat: the Authorization header value configured in its dashboard. App Store and Google Play take none.

GET /v1/projects/{project_id}/integrations/{integration_id}

Auth: Bearer token with projects:read.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
integration_idpathstring (uuid)yes
StatusBodyNotes
200IntegrationDto
403ErrorBody
404ErrorBody

PATCH /v1/projects/{project_id}/integrations/{integration_id}

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
integration_idpathstring (uuid)yes
Idempotency-Keyheaderstring | null

Request body (application/json): UpdateIntegrationRequest

FieldTypeRequiredDescription
configobject | null
namestring | null
secretstring | nullReplace the stored secret (rotation).
statusstring | nullactive

DELETE /v1/projects/{project_id}/integrations/{integration_id}

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
integration_idpathstring (uuid)yes
StatusBodyNotes
204—
403ErrorBody
404ErrorBody

POST /v1/projects/{project_id}/integrations/{integration_id}/rotate-token

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
integration_idpathstring (uuid)yes
Idempotency-Keyheaderstring | null
StatusBodyNotes
200IntegrationDto
403ErrorBody
404ErrorBody

GET /v1/projects/{project_id}/keys

Auth: Bearer token with projects:read.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
StatusBodyNotes
200KeyList
404ErrorBody

POST /v1/projects/{project_id}/keys/{key_id}/revoke

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
key_idpathstring (uuid)yes
dry_runqueryboolean
Idempotency-Keyheaderstring | null
StatusBodyNotes
200KeyDto
404ErrorBody

POST /v1/projects/{project_id}/keys/{key_id}/rotate

Auth: Bearer token with projects:write.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes
key_idpathstring (uuid)yes
dry_runqueryboolean
Idempotency-Keyheaderstring | null

Request body (application/json): RotateKeyRequest

FieldTypeRequiredDescription
keep_oldbooleanKeep the old key working (revoke it later). Default: revoke it now.
StatusBodyNotes
200RotateKeyResponse
404ErrorBody
409ErrorBody

POST /v1/projects/{project_id}/query

Validate a Query IR and get the region request to run it (query:read). The control plane returns a query:read region token and the region endpoint; results never pass through it.

Auth: Bearer token with query:read.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes

Request body (application/json): V1QueryRequest

FieldTypeRequiredDescription
environmentstring | nullproduction
include_sqlbooleanAsk the region to include the compiled SQL in its answer.
queryobjectyesA Query IR v1 document (packages/contracts/schemas/query-ir.schema.json).
refreshbooleanBypass the region's result cache.

POST /v1/projects/{project_id}/region-token

Region token carrying the token's regional scopes (∩ the owner's role), optionally narrowed.

Auth: Bearer token.

ParameterInTypeRequiredDescription
project_idpathstring (uuid)yes

Request body (application/json): RegionTokenRequest

FieldTypeRequiredDescription
environmentstring | nullproduction
scopesstring[] | nullNarrow further. Omit for every regional scope you hold.

On this page