Management APIs / Projects

Get a project

GEThttps://api.spice.ai/v1/projects/{projectId}

Returns details for a specific project, including its configuration.

Authorizations

  • AuthorizationstringRequired

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

Path parameters

  • projectIdintegerRequired

    The ID of the project

Header parameters

  • X-Org-Namestring

    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}$

Responses

200Project details with configurationapplication/json
  • idinteger

  • namestring

  • kindstring

    Resolved project hosting model

    • Allowed values: managed, standalone, byoc
  • descriptionstring

  • visibilitystring

    • Allowed values: public, private
  • created_atstring (date-time)

  • cluster_namestring | null

    Resolved dedicated cluster name; null for projects not assigned to a dedicated cluster.

  • endpointstring | null

    The data-plane endpoint the project connects to, or null before a standalone instance is attached.

  • production_branchstring

  • api_keystringDeprecated

    Deprecated. Use the API Keys endpoints instead.

  • tagsmap of string

  • forked_fromobject | null

    The project this project was forked from, while that project is live in the same organization. Null for a project that was not created as a fork.

    2 properties
    • idintegerRequired

      ID of the source project

    • namestringRequired

      Name of the source project

  • paused_atstring (date-time) | null

    Timestamp when the project was paused; null while running

  • configobject

    10 properties
    • spicepodobject

    • image_tagstring

      Runtime image tag

    • update_channelstring | null

      Update channel for the runtime, or null when Spice operates this project's runtime updates.

      • Allowed values: stable, preview, nightly
    • versionstring

      Semver range for the runtime version (e.g. 1.x, 2.x)

    • replicasinteger

    • resourcesobject | null

      Resource requests and limits for the project container

      2 properties
      • limitsobject

        3 properties
        • cpustring

          Whole-number vCPU limit, or '-' for no CPU limit

        • memorystring

          Memory limit in Gi (for example, 16Gi)

        • ephemeral-storagestring

      • requestsobject

        2 properties
        • cpustring

          CPU request. Minimum 100 millicores (for example, 100m or 0.1).

        • memorystring

          Memory request. Minimum 192Mi.

    • executorobject | null

      Executor container configuration

      3 properties
      • replicasinteger

        Number of executor replicas

      • resourcesobject

        Resource requests and limits for the executor container

        2 properties
        • limitsobject

          3 properties
          • cpustring

            Whole-number vCPU limit, or '-' for no CPU limit

          • memorystring

            Memory limit in Gi (for example, 16Gi)

          • ephemeral-storagestring

        • requestsobject

          2 properties
          • cpustring

            CPU request. Minimum 100 millicores (for example, 100m or 0.1).

          • memorystring

            Memory request. Minimum 192Mi.

      • storage_size_gbnumber | null

    • regionstring | null

      Server-resolved region; null before a standalone instance is attached.

    • storage_size_gbnumber | null

    • storage_claim_size_gbnumberDeprecated

      Deprecated. Use storage_size_gb instead.

401Unauthorized

403Insufficient scope

404Project not found

500Internal server error

curl "https://api.spice.ai/v1/projects/<projectId>" \
  -H "Authorization: Bearer <token>"
{
  "id": 0,
  "name": "string",
  "kind": "managed",
  "description": "string",
  "visibility": "public",
  "created_at": "2026-01-01T00:00:00Z",
  "cluster_name": "string",
  "endpoint": "string",
  "production_branch": "string",
  "api_key": "string",
  "tags": {},
  "forked_from": {
    "id": 0,
    "name": "string"
  },
  "paused_at": "2026-01-01T00:00:00Z",
  "config": {
    "spicepod": {},
    "image_tag": "string",
    "update_channel": "stable",
    "version": "string",
    "replicas": 0,
    "resources": {
      "limits": {
        "cpu": "string",
        "memory": "string",
        "ephemeral-storage": "string"
      },
      "requests": {
        "cpu": "string",
        "memory": "string"
      }
    },
    "executor": {
      "replicas": 0,
      "resources": {
        "limits": {
          "cpu": "string",
          "memory": "string",
          "ephemeral-storage": "string"
        },
        "requests": {
          "cpu": "string",
          "memory": "string"
        }
      },
      "storage_size_gb": 0
    },
    "region": "string",
    "storage_size_gb": 0,
    "storage_claim_size_gb": 0
  }
}

application/json

GEThttps://api.spice.ai/v1/orgs/{orgId}/projects/{projectId}

The org is orgId in the path. Returns details for a specific project, including its configuration.

Authorizations

  • AuthorizationstringRequired

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

Path parameters

  • orgIdintegerRequired

    The org id from GET /v1/orgs

    • Minimum: 1
  • projectIdintegerRequired

    The ID of the project

Header parameters

  • X-Org-Namestring

    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}$

Responses

200Project details with configurationapplication/json
  • idinteger

  • namestring

  • kindstring

    Resolved project hosting model

    • Allowed values: managed, standalone, byoc
  • descriptionstring

  • visibilitystring

    • Allowed values: public, private
  • created_atstring (date-time)

  • cluster_namestring | null

    Resolved dedicated cluster name; null for projects not assigned to a dedicated cluster.

  • endpointstring | null

    The data-plane endpoint the project connects to, or null before a standalone instance is attached.

  • production_branchstring

  • api_keystringDeprecated

    Deprecated. Use the API Keys endpoints instead.

  • tagsmap of string

  • forked_fromobject | null

    The project this project was forked from, while that project is live in the same organization. Null for a project that was not created as a fork.

    2 properties
    • idintegerRequired

      ID of the source project

    • namestringRequired

      Name of the source project

  • paused_atstring (date-time) | null

    Timestamp when the project was paused; null while running

  • configobject

    10 properties
    • spicepodobject

    • image_tagstring

      Runtime image tag

    • update_channelstring | null

      Update channel for the runtime, or null when Spice operates this project's runtime updates.

      • Allowed values: stable, preview, nightly
    • versionstring

      Semver range for the runtime version (e.g. 1.x, 2.x)

    • replicasinteger

    • resourcesobject | null

      Resource requests and limits for the project container

      2 properties
      • limitsobject

        3 properties
        • cpustring

          Whole-number vCPU limit, or '-' for no CPU limit

        • memorystring

          Memory limit in Gi (for example, 16Gi)

        • ephemeral-storagestring

      • requestsobject

        2 properties
        • cpustring

          CPU request. Minimum 100 millicores (for example, 100m or 0.1).

        • memorystring

          Memory request. Minimum 192Mi.

    • executorobject | null

      Executor container configuration

      3 properties
      • replicasinteger

        Number of executor replicas

      • resourcesobject

        Resource requests and limits for the executor container

        2 properties
        • limitsobject

          3 properties
          • cpustring

            Whole-number vCPU limit, or '-' for no CPU limit

          • memorystring

            Memory limit in Gi (for example, 16Gi)

          • ephemeral-storagestring

        • requestsobject

          2 properties
          • cpustring

            CPU request. Minimum 100 millicores (for example, 100m or 0.1).

          • memorystring

            Memory request. Minimum 192Mi.

      • storage_size_gbnumber | null

    • regionstring | null

      Server-resolved region; null before a standalone instance is attached.

    • storage_size_gbnumber | null

    • storage_claim_size_gbnumberDeprecated

      Deprecated. Use storage_size_gb instead.

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

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).

404Project not found

500Internal server error

curl "https://api.spice.ai/v1/orgs/<orgId>/projects/<projectId>" \
  -H "Authorization: Bearer <token>"
{
  "id": 0,
  "name": "string",
  "kind": "managed",
  "description": "string",
  "visibility": "public",
  "created_at": "2026-01-01T00:00:00Z",
  "cluster_name": "string",
  "endpoint": "string",
  "production_branch": "string",
  "api_key": "string",
  "tags": {},
  "forked_from": {
    "id": 0,
    "name": "string"
  },
  "paused_at": "2026-01-01T00:00:00Z",
  "config": {
    "spicepod": {},
    "image_tag": "string",
    "update_channel": "stable",
    "version": "string",
    "replicas": 0,
    "resources": {
      "limits": {
        "cpu": "string",
        "memory": "string",
        "ephemeral-storage": "string"
      },
      "requests": {
        "cpu": "string",
        "memory": "string"
      }
    },
    "executor": {
      "replicas": 0,
      "resources": {
        "limits": {
          "cpu": "string",
          "memory": "string",
          "ephemeral-storage": "string"
        },
        "requests": {
          "cpu": "string",
          "memory": "string"
        }
      },
      "storage_size_gb": 0
    },
    "region": "string",
    "storage_size_gb": 0,
    "storage_claim_size_gb": 0
  }
}

application/json

GEThttps://api.spice.ai/v1/apps/{appId}Deprecated

Legacy alias of /v1/projects/{projectId} — projects were previously called apps. Returns details for a specific project, including its configuration.

Authorizations

  • AuthorizationstringRequired

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

Path parameters

  • appIdintegerRequired

    The ID of the project

Header parameters

  • X-Org-Namestring

    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}$

Responses

200Project details with configurationapplication/json
  • idinteger

  • namestring

  • kindstring

    Resolved project hosting model

    • Allowed values: managed, standalone, byoc
  • descriptionstring

  • visibilitystring

    • Allowed values: public, private
  • created_atstring (date-time)

  • cluster_namestring | null

    Resolved dedicated cluster name; null for projects not assigned to a dedicated cluster.

  • endpointstring | null

    The data-plane endpoint the project connects to, or null before a standalone instance is attached.

  • production_branchstring

  • api_keystringDeprecated

    Deprecated. Use the API Keys endpoints instead.

  • tagsmap of string

  • forked_fromobject | null

    The project this project was forked from, while that project is live in the same organization. Null for a project that was not created as a fork.

    2 properties
    • idintegerRequired

      ID of the source project

    • namestringRequired

      Name of the source project

  • paused_atstring (date-time) | null

    Timestamp when the project was paused; null while running

  • configobject

    10 properties
    • spicepodobject

    • image_tagstring

      Runtime image tag

    • update_channelstring | null

      Update channel for the runtime, or null when Spice operates this project's runtime updates.

      • Allowed values: stable, preview, nightly
    • versionstring

      Semver range for the runtime version (e.g. 1.x, 2.x)

    • replicasinteger

    • resourcesobject | null

      Resource requests and limits for the project container

      2 properties
      • limitsobject

        3 properties
        • cpustring

          Whole-number vCPU limit, or '-' for no CPU limit

        • memorystring

          Memory limit in Gi (for example, 16Gi)

        • ephemeral-storagestring

      • requestsobject

        2 properties
        • cpustring

          CPU request. Minimum 100 millicores (for example, 100m or 0.1).

        • memorystring

          Memory request. Minimum 192Mi.

    • executorobject | null

      Executor container configuration

      3 properties
      • replicasinteger

        Number of executor replicas

      • resourcesobject

        Resource requests and limits for the executor container

        2 properties
        • limitsobject

          3 properties
          • cpustring

            Whole-number vCPU limit, or '-' for no CPU limit

          • memorystring

            Memory limit in Gi (for example, 16Gi)

          • ephemeral-storagestring

        • requestsobject

          2 properties
          • cpustring

            CPU request. Minimum 100 millicores (for example, 100m or 0.1).

          • memorystring

            Memory request. Minimum 192Mi.

      • storage_size_gbnumber | null

    • regionstring | null

      Server-resolved region; null before a standalone instance is attached.

    • storage_size_gbnumber | null

    • storage_claim_size_gbnumberDeprecated

      Deprecated. Use storage_size_gb instead.

401Unauthorized

403Insufficient scope

404Project not found

500Internal server error

OpenAPIapi.spice.ai/openapi.json

curl "https://api.spice.ai/v1/apps/<appId>" \
  -H "Authorization: Bearer <token>"
{
  "id": 0,
  "name": "string",
  "kind": "managed",
  "description": "string",
  "visibility": "public",
  "created_at": "2026-01-01T00:00:00Z",
  "cluster_name": "string",
  "endpoint": "string",
  "production_branch": "string",
  "api_key": "string",
  "tags": {},
  "forked_from": {
    "id": 0,
    "name": "string"
  },
  "paused_at": "2026-01-01T00:00:00Z",
  "config": {
    "spicepod": {},
    "image_tag": "string",
    "update_channel": "stable",
    "version": "string",
    "replicas": 0,
    "resources": {
      "limits": {
        "cpu": "string",
        "memory": "string",
        "ephemeral-storage": "string"
      },
      "requests": {
        "cpu": "string",
        "memory": "string"
      }
    },
    "executor": {
      "replicas": 0,
      "resources": {
        "limits": {
          "cpu": "string",
          "memory": "string",
          "ephemeral-storage": "string"
        },
        "requests": {
          "cpu": "string",
          "memory": "string"
        }
      },
      "storage_size_gb": 0
    },
    "region": "string",
    "storage_size_gb": 0,
    "storage_claim_size_gb": 0
  }
}

application/json