Skip to content

AI API Key

API keys for accessing inference deployments.

Read more

create-ai-api-key

Create AI API Key

POST /ai/api-key

Create a new AI API key

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
namestringyesHuman-readable name for the AI API key
scopestringyesKey scope: ‘public’ for all deployments, or a specific deployment UUID
Example
{
  "name": "string",
  "scope": "string"
}

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
created-atstringCreation timestamp

ISO 8601 date-time.
idstringAI API key ID

Must be a valid UUID.
namestringHuman-readable name for the AI API key
org-uuidstringOrganization UUID that owns this key

Must be a valid UUID.
scopestringKey scope: ‘public’ for all deployments, or a specific deployment UUID
updated-atstringLast update timestamp

ISO 8601 date-time.
Example output
{
  "created-at": "2024-01-01T12:00:00Z",
  "id": "string",
  "name": "string",
  "org-uuid": "string",
  "scope": "string",
  "updated-at": "2024-01-01T12:00:00Z"
}

400: 400

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

403: 403

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for create-ai-api-key: golang | Python | Java

CLI: exo api create-ai-api-key

get-ai-api-key

Get AI API Key

GET /ai/api-key/{id}

Get AI API key metadata

Path parameters

NameInDescription
idpathMust be a valid UUID.

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
created-atstringCreation timestamp

ISO 8601 date-time.
idstringAI API key ID

Must be a valid UUID.
namestringHuman-readable name for the AI API key
org-uuidstringOrganization UUID that owns this key

Must be a valid UUID.
scopestringKey scope: ‘public’ for all deployments, or a specific deployment UUID
updated-atstringLast update timestamp

ISO 8601 date-time.
Example output
{
  "created-at": "2024-01-01T12:00:00Z",
  "id": "string",
  "name": "string",
  "org-uuid": "string",
  "scope": "string",
  "updated-at": "2024-01-01T12:00:00Z"
}

403: 403

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for get-ai-api-key: golang | Python | Java

CLI: exo api get-ai-api-key

reveal-ai-api-key

Reveal AI API Key

GET /ai/api-key/{id}/reveal

Reveal AI API key plaintext value

Path parameters

NameInDescription
idpathMust be a valid UUID.

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
valuestringPlaintext AI API key value
Example output
{
  "value": "string"
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for reveal-ai-api-key: golang | Python | Java

CLI: exo api reveal-ai-api-key

update-ai-api-key

Update AI API Key

PATCH /ai/api-key/{id}

Update AI API key name and/or scope

Path parameters

NameInDescription
idpathMust be a valid UUID.

Request body

Content-Type: application/json

PropertyTypeRequiredDescription
namestringnoHuman-readable name for the AI API key
scopestringnoKey scope: ‘public’ for all deployments, or a specific deployment UUID
Example
{
  "name": "string",
  "scope": "string"
}

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
created-atstringCreation timestamp

ISO 8601 date-time.
idstringAI API key ID

Must be a valid UUID.
namestringHuman-readable name for the AI API key
org-uuidstringOrganization UUID that owns this key

Must be a valid UUID.
scopestringKey scope: ‘public’ for all deployments, or a specific deployment UUID
updated-atstringLast update timestamp

ISO 8601 date-time.
Example output
{
  "created-at": "2024-01-01T12:00:00Z",
  "id": "string",
  "name": "string",
  "org-uuid": "string",
  "scope": "string",
  "updated-at": "2024-01-01T12:00:00Z"
}

400: 400

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

403: 403

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for update-ai-api-key: golang | Python | Java

CLI: exo api update-ai-api-key

delete-ai-api-key

Delete AI API Key

DELETE /ai/api-key/{id}

Delete AI API key

Path parameters

NameInDescription
idpathMust be a valid UUID.

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
idstringOperation ID

Must be a valid UUID.
messagestringOperation message
reasonstringOperation failure reason

Allowed values: incorrect, unknown, unavailable, forbidden, busy, fault, partial, not-found, interrupted, unsupported, conflict.
referenceReferenceRelated resource reference
statestringOperation status

Allowed values: failure, pending, success, timeout.
Example output
{
  "id": "string",
  "message": "string",
  "reason": "incorrect",
  "reference": {
    "command": "string",
    "id": "string",
    "link": "string"
  },
  "state": "failure"
}

403: 403

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for delete-ai-api-key: golang | Python | Java

CLI: exo api delete-ai-api-key


Other Operations

list-ai-api-keys

List AI API Keys

GET /ai/api-key

List AI API keys for an organization

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
ai-api-keysarray of AI API key list entry
Example output
{
  "ai-api-keys": [
    {
      "created-at": "2024-01-01T12:00:00Z",
      "id": "string",
      "name": "string",
      "org-uuid": "string",
      "scope": "string",
      "updated-at": "2024-01-01T12:00:00Z"
    }
  ]
}

403: 403

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for list-ai-api-keys: golang | Python | Java

CLI: exo api list-ai-api-keys

rotate-ai-api-key

Rotate AI API Key

POST /ai/api-key/{id}/rotate

Rotate AI API key value

Path parameters

NameInDescription
idpathMust be a valid UUID.

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
valuestringPlaintext AI API key value
Example output
{
  "value": "string"
}

403: 403

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for rotate-ai-api-key: golang | Python | Java

CLI: exo api rotate-ai-api-key

get-user-org-consumption-quota

Get Organization Consumption Quota

GET /ai/quota

Get per-org Unit Of Measurement (UOM) consumption quota (UOM/min). Null means unlimited. UOM represents weighted units across different AI workloads (e.g., tokens for LLMs, minutes for TTS, pages for OCR).

Responses

200: 200

Content-Type: application/json

PropertyTypeDescription
quota-uom-per-minuteintegernull
Example output
{
  "quota-uom-per-minute": 0
}

404: 404

Content-Type: application/json

PropertyTypeDescription
detailstring
errorsarray of Errors
instancestringMust be a valid URI reference.
statusintegerMin: 100. Max: 599.
titlestring
typestringMust be a valid URI reference.
Example output
{
  "detail": "string",
  "errors": [
    {
      "detail": "string",
      "location": "string",
      "path": "string",
      "pointer": "string"
    }
  ],
  "instance": "string",
  "status": 0,
  "title": "string",
  "type": "string"
}

SDK reference for get-user-org-consumption-quota: golang | Python | Java

CLI: exo api get-user-org-consumption-quota

Last updated on