---
title: "Machine capabilities"
method: GET
path: "/v1/capabilities"
tags: ["Discovery"]
---

# Machine capabilities

`GET /v1/capabilities`

## Request

- Base URL: `https://xn--s7y.xn--3ds443g`
- URL: `https://xn--s7y.xn--3ds443g/v1/capabilities`
- Auth: none required

Operation-oriented snapshot of what is usable today: `links`, `batch`, `qr`, `mcp`, and `interface_capabilities`. REST and MCP availability are separate. Also returns `api_version` (and deprecated alias `openapi_version`), `build_sha`, `states`, `auth`, and `scopes`. No authentication required. No customer secrets.

## Response `200`

Capabilities snapshot

- Capabilities
  - `api_version` string, required
  - `openapi_version` string: Deprecated alias of api_version
  - `build_sha` string: Full git SHA of this deployment (`VERCEL_GIT_COMMIT_SHA`, then `DUAN_BUILD_SHA`, then the stamped `build-sha.json`, otherwise `unknown`). Optional so older documents still validate. Current responses always include it.
  - `links` object, required
    - `create` boolean, required
    - `list` boolean, required
    - `get` boolean, required
    - `update` boolean, required
    - `disable` boolean, required
    - `analytics` boolean, required
  - `batch` object, required
    - `sync` boolean, required
    - `sync_max_items` integer, required
    - `async` boolean, required
  - `qr` object, required
    - `tracking_url` boolean, required
    - `image` boolean, required
  - `auth` object, required
    - `anonymous_create` boolean, required
    - `session` boolean, required
    - `api_key` boolean, required
    - `oauth` boolean, required
  - `mcp` object, required
    - `available` boolean, required
    - `protocol` string, required
    - `url` string, uri, required
    - `registry_name` string, required
    - `account_required_for_tools` boolean, required: True only when every tool requires an account (public_tools is empty).
    - `public_tools` string[]: Tool names that do not require an account. Writes still require a registered account.
    - `account_required_for` string[], required: Tool names that require a registered account. Disjoint from public_tools; together they are the full tool list.
  - `scopes` string[], required
  - `states` string[]
  - `interface_capabilities` object, required: REST and MCP availability, generated from feature state. A true REST list or update does not mean the MCP tool of a similar name works.
    - `summary` string, required
    - `rest` object, required
    - `mcp` object, required

---

[API](https://skmtc.dev/xn--s7y/apis/agent-api.md) · [All operations](https://skmtc.dev/xn--s7y/apis/agent-api/llms.txt) · [OpenAPI document](https://skmtc.dev/xn--s7y/apis/agent-api/revisions/d902f68518e9?raw)
