> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stateset.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Discoverable platform metadata (version, environment, supported models)

> Static metadata about the running API. Useful for SDKs that want to detect the deployment environment, the set of models they can pin, and which optional…

Static metadata about the running API.

Useful for SDKs that want to detect the deployment environment, the
set of models they can pin, and which optional features are
available without hard-coding strings.

Cached server-side for 300s via Cache-Control; supports
`If-None-Match` so clients can avoid re-parsing the JSON when
nothing has changed.

### Response

`SystemInfoResponse`

<ResponseField name="service" type="string" required />

<ResponseField name="api_version" type="string" required />

<ResponseField name="environment" type="string" required />

<ResponseField name="supported_models" type="SupportedModelsBlock" required>
  <Expandable title="SupportedModelsBlock">
    <ResponseField name="canonical_ids" type="string[]" required>
      Sorted list of model IDs accepted as-is on `/trigger`.
    </ResponseField>

    <ResponseField name="aliases" type="object" required>
      Friendly alias → canonical ID. Aliases are case-sensitive.
    </ResponseField>

    <ResponseField name="default_model" type="string,null">
      Deployment default model used when `/trigger.model` is omitted.
    </ResponseField>

    <ResponseField name="agent_tool_version" type="string,null">
      Configured computer-use tool version for hosted agent-mode jobs.
    </ResponseField>

    <ResponseField name="computer_tool_incompatible_model_prefixes" type="string[]">
      Model ID prefixes rejected for this deployment's computer-use tool version. SDKs should omit `model` or choose another model when an override starts with one of these prefixes.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="builtin_templates" type="string[]" required />

<ResponseField name="features" type="object" required>
  Feature flags by name → bool. Stable identifiers; SDK clients branch on the boolean to enable optional code paths.
</ResponseField>

### Status codes

| Code  | Meaning             |
| ----- | ------------------- |
| `200` | Successful Response |

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api.computer.stateset.app/api/v1/system/info' \
    --header 'X-API-Key: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "service": "string",
    "api_version": "2026-08-01",
    "environment": "string",
    "supported_models": {
      "canonical_ids": [
        "3fa85f64-5717-4562-b3fc-2c963f66afa6"
      ],
      "aliases": {},
      "default_model": "string",
      "agent_tool_version": "string",
      "computer_tool_incompatible_model_prefixes": [
        "string"
      ]
    },
    "builtin_templates": [
      "string"
    ],
    "features": {}
  }
  ```
</ResponseExample>
