Skip to main content

API Keys / Tokens

POST/v1/orgs/{org_id}/tokens/admin

Create Admin Token

Create an org-level admin token.

Admin tokenscope: org:adminoperation_id: tokens.createAdmin

Authentication

Create via POST /v1/orgs/{org_id}/tokens/admin. Org-wide scope — keep tightly held.

SDK install

pip install znyx-sdknpm install @znyx/sdk

Path parameters

NameTypeRequiredDescription
org_id#pathstringrequired

Header parameters

NameTypeRequiredDescription
X-API-Key#headerstring | nulloptional
authorization#headerstring | nulloptional

Request bodyrequired

FieldTypeRequiredDescription
expires_in_daysintegeroptional

Responses

StatusDescription
201Successful Response
422Validation Error

Response schema

idrequiredinteger
key_prefixrequiredstring
key_typerequiredstring
org_idstring | null
project_idstring | null
environment_idstring | null
scopesstring[]
is_activerequiredboolean
expires_atstring | null
created_atrequiredstring
raw_keyrequiredstring

Errors & what triggers them

CodeTriggerFix
403Caller is not an org admin.
404project_id or environment_id does not belong to this org.
409A runtime token for this (project, environment) already exists.Use POST /v1/orgs/{org_id}/tokens/{key_id}/rotate to get a fresh raw value.

Request

curl -X POST 'https://api.znyx.ai/v1/orgs/00000000-0000-0000-0000-000000000000/tokens/admin' \
  -H 'Authorization: Bearer $ZNYX_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "expires_in_days": 90
}'

Response

application/json

Successful Response

{
  "id": 0,
  "key_prefix": "string",
  "key_type": "string",
  "org_id": null,
  "project_id": null,
  "environment_id": null,
  "scopes": [
    "string"
  ],
  "is_active": false,
  "expires_at": null,
  "created_at": "string",
  "raw_key": "string"
}

Schema: object