Retrieve an agent
/api/v1/agents/{agent_id}Retrieve an agent
Required access
Credentials: automation account, delegated token, user session, user API key
User API keys use the owner’s current permissions, subject to any key restrictions. Capability scopes below apply to automation account keys and delegated tokens.
Scope: agents:read
A visibility denial answers 404, not 403, so this endpoint never reveals that an agent exists outside the caller's reach.
A user-owned key prefixed gsmc_uk_, bound to one organization. It follows its owner's current membership, role and resource permissions, optionally restricted to read-only access. No X-Org-Id header is needed; a conflicting organization is rejected. Credential creation, personal connection setup and human attestations require a signed-in session. Runs are private to the calling user; sharing an agent grants access to your own personal memory of it, never to the agent's own memory.
In: header
Path Parameters
uuidHeader Parameters
Selects the active organization for a direct user session that has more than one membership. Automation account keys and delegated tokens are each bound to one organization and ignore it.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/v1/agents/497f6eca-6276-4993-bfeb-53cbbbba6f08" \ -H "Authorization: Bearer $GUEST_MACHINES_API_KEY"{ "agent": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "owner_user_ids": [ "53de0326-38a5-4c57-8d27-9211c8be4319" ], "created_by_user_id": "209f54c4-4c33-43bc-9c6a-ef4c65ad7473", "visibility": "org_shared", "name": "string", "description": "string", "executor_type": "claude", "model": "string", "system_prompt": "string", "thinking_level": "high", "temperature": 0.1, "execution_environment": "gsmc_runtime", "computer_use_enabled": false, "environment_config": {}, "input_schema": {}, "output_schema": {}, "is_active": true, "completion_contract": { "version": 1, "input_roots": [ "string" ], "checks": [ { "id": "string", "description": "string", "when": [ { "value": { "source": "input", "path": "", "value": null, "parts": [ {} ], "required": true, "fallback": null, "transform": "identity" }, "one_of": [ null ] } ], "kind": "field_match", "actual": { "source": "input", "path": "", "value": null, "parts": [ {} ], "required": true, "fallback": null, "transform": "identity" }, "expected": { "source": "input", "path": "", "value": null, "parts": [ {} ], "required": true, "fallback": null, "transform": "identity" } } ], "correction_attempts": 2 }, "can_duplicate": false, "allowed_invocable_ids": [ "812b7eff-ee45-4be1-8779-fa59b3cf4527" ], "allowed_invocable_targets": [ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "kind": "agent", "name": "string" } ], "allowed_invocables": [ "string" ], "knowledge_scope": { "folder_ids": [ "c9c54c2c-7793-4b70-8b93-7e3771bbc0c0" ], "file_ids": [ "1c0f12fe-c5bf-4fbd-ba1b-466cb232eca5" ] }, "avatar_blob_name": "string", "avatar_sas_url": "string", "avatar_expires_at": "2019-08-24T14:15:22Z", "configured_tools": [ { "origin": "builtin", "source_id": "string", "canonical_name": "string", "display_name": "string", "enabled": true, "owned_by_caller": true } ], "hidden_configured_tool_count": 0, "allowed_tools": [ "string" ], "mcp_server_ids": [ "6645753c-0a13-4667-8dd3-d80a8e4fd76f" ], "tool_approval_modes": { "property1": "auto", "property2": "auto" }, "unattended_preapproved_tools": [ "string" ], "config_revision": 0, "config_digest": "0000000000000000000000000000000000000000000000000000000000000000", "created_at": "2019-08-24T14:15:22Z", "updated_at": "2019-08-24T14:15:22Z" }}Create an agent POST
Create an agent owned by the user represented by the delegated token. The response returns the saved configuration.
Update an agent PATCH
Update selected fields of an agent configuration. Omitted fields are unchanged. Collection fields such as `configured_tools` and `mcp_server_ids` replace the complete collection when present; send an empty collection to clear one.