Management APIs

Limits

Organization plan limits

OpenAPIapi.spice.ai/openapi.json

Get organization limits

GET/v1/limits

Returns the current plan limits for the authenticated organization, including resource limits when private compute is enabled.

Header parameters

NameTypeRequiredDescription
AuthorizationstringYes

Bearer <token>. Authentication lists the tokens it accepts.

X-Org-NamestringNo

The organization to act on, by handle. Omit it to act on the organization the credential is bound to; sending it blank is a 400, not the same as omitting it. A user credential may name any organization its owner belongs to; a machine credential is pinned to its own. A portal session token is bound to none, so it must send this header on every route but GET /v1/orgs (400 org_assertion_required otherwise).

  • Pattern: ^[A-Za-z0-9._-]{1,255}$

Example request

curl "https://api.spice.ai/v1/limits" \
  -H "Authorization: Bearer <token>"

Responses

  • 200OK

    Organization limits

    application/json

    • appsinteger

      Maximum number of apps (-1 means unlimited)

    • replicasinteger

      Maximum replicas per app (-1 means unlimited)

    • spicepodsinteger

      Maximum spicepods per app (-1 means unlimited)

    • usersinteger

      Maximum organization members (-1 means unlimited)

    • api_rpsinteger

      API requests per second limit (-1 means unlimited)

    • request_timeout_secsinteger

      Request timeout in seconds

    • sql_query_timeout_secsinteger

      SQL query timeout in seconds

    • sql_concurrent_queriesinteger

      Maximum concurrent SQL queries (-1 means unlimited)

    • resourcesobject | null

      Resource limits for private compute; null when private compute is not enabled

      2 properties
      • max_cpuinteger

        Maximum vCPUs per container

      • max_memory_giinteger

        Maximum memory in Gi per container

  • 401Unauthorized

    Unauthorized

  • 403Forbidden

    Insufficient scope

  • 404Not Found

    Organization not found

Get organization limits

GET/v1/orgs/{orgId}/limits

The org is orgId in the path. Returns the current plan limits for the authenticated organization, including resource limits when private compute is enabled.

Path parameters

NameTypeRequiredDescription
orgIdintegerYes

The org id from GET /v1/orgs

  • Minimum: 1

Header parameters

NameTypeRequiredDescription
AuthorizationstringYes

Bearer <token>. Authentication lists the tokens it accepts.

X-Org-NamestringNo

When present, X-Org-Name must name the same org as orgId. Otherwise the request returns org_path_mismatch (400).

  • Pattern: ^[A-Za-z0-9._-]{1,255}$

Example request

curl "https://api.spice.ai/v1/orgs/<orgId>/limits" \
  -H "Authorization: Bearer <token>"

Responses

  • 200OK

    Organization limits

    application/json

    • appsinteger

      Maximum number of apps (-1 means unlimited)

    • replicasinteger

      Maximum replicas per app (-1 means unlimited)

    • spicepodsinteger

      Maximum spicepods per app (-1 means unlimited)

    • usersinteger

      Maximum organization members (-1 means unlimited)

    • api_rpsinteger

      API requests per second limit (-1 means unlimited)

    • request_timeout_secsinteger

      Request timeout in seconds

    • sql_query_timeout_secsinteger

      SQL query timeout in seconds

    • sql_concurrent_queriesinteger

      Maximum concurrent SQL queries (-1 means unlimited)

    • resourcesobject | null

      Resource limits for private compute; null when private compute is not enabled

      2 properties
      • max_cpuinteger

        Maximum vCPUs per container

      • max_memory_giinteger

        Maximum memory in Gi per container

  • 400Bad Request

    orgId is not a valid org id (invalid_org_id), or X-Org-Name does not name that org (org_path_mismatch).

  • 401Unauthorized

    Unauthorized

  • 403Forbidden

    Insufficient scope. The caller is not a member of the org (org_forbidden). A machine credential named a different org (org_assertion_mismatch). The org is deleted (org_deleted).

  • 404Not Found

    Organization not found