---
title: "Get Agent"
method: GET
path: "/v1/agents/{agent_id}"
tags: ["v1", "protected", "agents"]
---

# Get Agent

`GET /v1/agents/{agent_id}`

Get an agent by UUID or workspace-scoped slug (tenant or catalog).

## Path parameters

- `agent_id` string, required

## Response `200`

Successful Response

- AgentResponse
  - `a2ui_enabled` boolean, nullable
  - `agent_type` string
  - `description` string, nullable
  - `events_config` object, nullable
  - `id` string, uuid, required
  - `instruction` string, nullable
  - `is_catalog` boolean
  - `model_id` string, nullable
  - `name` string, required
  - `planning` boolean, nullable
  - `registry_item_id` string, nullable
  - `skills` object[], nullable
  - `slug` string, required
  - `status` string, required
  - `tools` union[], nullable
    - union
      - CodeToolConfig
        - `name` string, required
        - `settings` CodeToolSettings — Settings for a built-in code toolset.
          - `disabled_methods` string[], nullable
          - `requires_user_confirmation` boolean, nullable
        - `type` 'code'
      - McpToolConfigOutput
        - `name` string, required
        - `settings` McpToolSettings — Settings for an MCP server tool (a subset of the server's tools).
          - `allowed_tools` McpToolPermission[], nullable
            - `requires_user_confirmation` boolean, nullable
            - `tool_name` string, required
          - `requires_user_confirmation` boolean, nullable
        - `type` 'mcp'
      - AgentToolConfig
        - `name` string, required
        - `settings` AgentToolSettings — Settings for an agent-to-agent (delegation) tool. ``a2a_url`` selects the *remote* transport binding; absent → same-platform direct delegation. Lives here only — A2A is a per-edge binding, not a property every tool type carries.
          - `a2a_url` string, nullable
          - `description_override` string, nullable
          - `requires_user_confirmation` boolean, nullable
        - `type` 'agent'
      - OpenApiToolConfig
        - `name` string, required
        - `settings` OpenApiToolSettings — Settings for an OpenAPI connection tool. ``load_mode`` picks schema disclosure: "explicit" inlines every operation's schema into each LLM call (legacy); "searchable" defers them behind a ``load_tools`` meta-tool. Honored only for openapi tools — which is exactly why it lives here and nowhere else.
          - `allowed_tools` string[], nullable
          - `load_mode` 'explicit' | 'searchable', nullable
          - `openapi_connection_id` string, nullable
          - `requires_user_confirmation` boolean, nullable
        - `type` 'openapi'
  - `update_available` boolean

## Other responses

- `422` — Validation Error

## Changes

> 19 revisions in range; 6 could not be searched.

- **2026-07-25** `9c1eb8f7f2d9` — 1 breaking, 2 info
  - response property `tools/anyOf[subschema #1]/items/oneOf[subschema #2: McpToolConfig]/settings/anyOf[subschema #1: McpToolSettings]/allowed_tools/anyOf[subschema #1]/items/requires_user_confirmation` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - added the optional property `tools/anyOf[subschema #1]/items/oneOf[subschema #1: CodeToolConfig]/settings/anyOf[subschema #1: CodeToolSettings]/package_install` to the response with the `200` status
  - the `requires_user_confirmation` response's property default value `false` was removed for the status `200`
- **2026-06-18** `dad98bb65260` — 4 breaking, 1 warning, 6 info
  - added `#/components/schemas/CodeToolConfig, #/components/schemas/McpToolConfig-Output, #/components/schemas/AgentToolConfig, #/components/schemas/OpenApiToolConfig` to the `tools/anyOf[subschema #1]/items/` response property `oneOf` list for the response status `200`
  - the `tools/anyOf[subschema #1]/items/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `tools/anyOf[subschema #1]/items/name` from the response with the `200` status
  - removed the required property `tools/anyOf[subschema #1]/items/type` from the response with the `200` status
  - …7 more
- …earlier changes not shown

[Full history](https://skmtc.dev/agentarea/apis/agentarea-api/changes/v1/agents/:agent_id/get.md)

---

[API](https://skmtc.dev/agentarea/apis/agentarea-api.md) · [All operations](https://skmtc.dev/agentarea/apis/agentarea-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/agentarea/agentarea-api/revisions/ac18f7025c00/schema)
