> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.runtype.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.runtype.com/_mcp/server.

# Pull agent definition (config-as-code)

GET https://api.runtype.com/v1/agents/pull

Return the canonical config-as-code definition and provenance for an agent by name — the absorb-drift direction of the ensure protocol. The contentHash is recomputed from the live agent state, so it is accurate even immediately after a dashboard edit.

Reference: https://docs.runtype.com/api-reference/runtype-api/agents/pull-agent-definition-config-as-code

## Authentication

- `Authorization` header (bearer token, required) — API key or Clerk session token

## Servers

- `https://api.runtype.com` (Production, default)
- `https://api.runtype-staging.com` (Staging)

## Request

### Query parameters

- `name` (string, required)

## Response

### 200

Canonical definition + provenance

- `agentId` (string, required)
- `capabilities` (list of AgentEnsureCapability, required) — The agent's capabilities in display order, in the shape ensure's capabilities accepts. parametersSchema appears only when it differs from the one ensure would derive.
- `contentHash` (string, required)
- `definition` (AgentPullResponseDefinition, required)
- `lastModifiedSource` (string, required, nullable)
- `skills` (list of AgentEnsureSkillBinding, required) — The agent's skill bindings in load order, in the shape ensure's skills accepts.
- `updatedAt` (string, required, nullable)
- `versionId` (string, required, nullable)
- `warnings` (list of string, optional) — Present only when a raw tool\_… reference could not be emitted as a portable tool:\<name> (the tool was deleted, or its name is shadowed by an older same-named tool). Those references are left as raw ids, which the ensure surface rejects; each warning explains how to fix it.

## Errors

### 400 Bad Request Error

Invalid parameters or unsupported agent type

- `error` (string, required)
- `code` (string, optional) — Stable error code. `insufficient_scope` marks an API key that lacks a scope this request needs.
- `details` (list of ErrorDetailsItems, optional)
- `requiredScopes` (list of string, optional) — On `insufficient_scope`: every API key scope this request needs.

### 401 Unauthorized Error

Unauthorized

- `error` (string, required)
- `code` (string, optional) — Stable error code. `insufficient_scope` marks an API key that lacks a scope this request needs.
- `details` (list of ErrorDetailsItems, optional)
- `requiredScopes` (list of string, optional) — On `insufficient_scope`: every API key scope this request needs.

### 403 Forbidden Error

Insufficient permissions

- `error` (string, required)
- `code` (string, optional) — Stable error code. `insufficient_scope` marks an API key that lacks a scope this request needs.
- `details` (list of ErrorDetailsItems, optional)
- `requiredScopes` (list of string, optional) — On `insufficient_scope`: every API key scope this request needs.

### 404 Not Found Error

No agent with that name in the account scope

- `error` (string, required)
- `code` (string, optional) — Stable error code. `insufficient_scope` marks an API key that lacks a scope this request needs.
- `details` (list of ErrorDetailsItems, optional)
- `requiredScopes` (list of string, optional) — On `insufficient_scope`: every API key scope this request needs.

### 500 Internal Server Error

Internal server error

- `error` (string, required)
- `code` (string, optional) — Stable error code. `insufficient_scope` marks an API key that lacks a scope this request needs.
- `details` (list of ErrorDetailsItems, optional)
- `requiredScopes` (list of string, optional) — On `insufficient_scope`: every API key scope this request needs.

## Types

### AgentEnsureCapability

- `toolName` (string, required) — The name the agent calls this capability by.
- `agent` (string, optional) — The name of another agent in this account scope, called as a sub-agent.
- `description` (string, optional)
- `enabled` (boolean, optional) — Defaults to true.
- `flow` (string, optional) — The name of a flow in this account scope.
- `parametersSchema` (map from string to any, optional) — JSON Schema for the capability's input. Omit to derive it from the flow's inputs or the tool's own schema.
- `tool` (string, optional) — The name of a saved tool in this account scope.

### AgentPullResponseDefinition

- `name` (string, required)
- `config` (AgentPullResponseDefinitionConfig, optional)
- `description` (string, optional)
- `icon` (string, optional)

### AgentEnsureSkillBinding

- `name` (string, required) — The skill slug.
- `enabled` (boolean, optional) — Defaults to true.
- `version` (integer, optional) — Pin this skill versionNumber. Omit to follow the skill's published version.

### ErrorDetailsItems

- `message` (string, required)
- `code` (string, optional) — Stable Runtype validation code (e.g. MISSING_REQUIRED_FIELD, INVALID_ENUM).
- `path` (string, optional) — Dotted JSON path to the offending field.
- `suggestion` (string, optional) — Actionable hint (allowed values, accepted range, …).

### AgentPullResponseDefinitionConfig

- `advisor` (AgentPullResponseDefinitionConfigAdvisor, optional, nullable)
- `artifacts` (AgentPullResponseDefinitionConfigArtifacts, optional)
- `busyMessageRouting` (AgentPullResponseDefinitionConfigBusyMessageRouting, optional)
- `contextManagement` (AgentPullResponseDefinitionConfigContextManagement, optional)
- `durability` (AgentPullResponseDefinitionConfigDurability, optional)
- `errorHandling` (AgentPullResponseDefinitionConfigErrorHandling, optional)
- `frequencyPenalty` (double, optional)
- `loggingPolicy` (enum, optional)
  - Allowed values: `default`, `on`, `off`
- `loopConfig` (AgentPullResponseDefinitionConfigLoopConfig, optional)
- `maxTokens` (integer, optional)
- `memory` (AgentPullResponseDefinitionConfigMemory, optional)
- `model` (string, optional)
- `piiRedaction` (enum, optional)
  - Allowed values: `default`, `off`, `redact`
- `presencePenalty` (double, optional)
- `reasoning` (AgentPullResponseDefinitionConfigReasoning, optional)
- `sandbox` (AgentPullResponseDefinitionConfigSandbox, optional)
- `seed` (integer, optional)
- `state` (AgentPullResponseDefinitionConfigState, optional)
- `systemPrompt` (string, optional)
- `temperature` (double, optional)
- `temporal` (AgentPullResponseDefinitionConfigTemporal, optional)
- `tenancyStrategy` (AgentPullResponseDefinitionConfigTenancyStrategy, optional)
- `tools` (AgentPullResponseDefinitionConfigTools, optional)
- `topK` (integer, optional)
- `topP` (double, optional)
- `voice` (AgentPullResponseDefinitionConfigVoice, optional)

### AgentPullResponseDefinitionConfigAdvisor

- `model` (string, required)
- `systemPrompt` (string, optional)

### AgentPullResponseDefinitionConfigArtifacts

- `enabled` (boolean, required)
- `types` (list of enum, required)
  - Allowed values: `markdown`, `component`

### AgentPullResponseDefinitionConfigBusyMessageRouting

- `classifierModel` (string, optional)
- `mode` (enum, optional)
  - Allowed values: `enforced`, `off`

### AgentPullResponseDefinitionConfigContextManagement

- `compaction` (AgentPullResponseDefinitionConfigContextManagementCompaction, optional)
- `toolResults` (AgentPullResponseDefinitionConfigContextManagementToolResults, optional)

### AgentPullResponseDefinitionConfigDurability

- `forced` (enum, optional)
  - Allowed values: `durable`, `in_process`
- `maxBudgetMs` (integer, optional, nullable)
- `watchLeaseMs` (integer, optional, nullable)

### AgentPullResponseDefinitionConfigErrorHandling

- `onError` (enum, required)
  - Allowed values: `fail`, `continue`, `fallback`
- `fallbacks` (list of AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems, optional)
- `triggers` (list of AgentPullResponseDefinitionConfigErrorHandlingTriggersItems, optional)

### AgentPullResponseDefinitionConfigLoopConfig

- `enableReflection` (boolean, optional)
- `maxCost` (double, optional)
- `maxTurns` (integer, optional)
- `reflectionInterval` (integer, optional)
- `treatLengthCutoffAsFailure` (boolean, optional)

### AgentPullResponseDefinitionConfigMemory

- `enabled` (boolean, required)
- `injectSummary` (boolean, optional)
- `pointerScope` (enum, optional)
  - Allowed values: `shared`, `alias`, `version`
- `profileTemplate` (string, optional)

### AgentPullResponseDefinitionConfigReasoning

- boolean
- AgentPullResponseDefinitionConfigReasoning1

### AgentPullResponseDefinitionConfigSandbox

- `enabled` (boolean, required)
- `codingAgents` (list of enum, optional) — Coding agents the Sandbox can run as typed sessions. Non-empty adds the agent_session_* tools; empty or absent adds none.
  - Allowed values: `opencode`
- `instanceType` (enum, optional) — Only standard-4 is supported on the hosted Agent Sandbox path; other sizes cannot be enabled.
  - Allowed values: `standard-1`, `standard-2`, `standard-3`, `standard-4`
- `networkAccess` (AgentPullResponseDefinitionConfigSandboxNetworkAccess, optional)
- `persistence` (enum, optional) — Supported: ephemeral or conversation. Named remains parseable for stored configs but cannot be enabled.
  - Allowed values: `ephemeral`, `conversation`, `named`
- `provider` (enum, optional) — Only runtype-sandbox is currently supported. Daytona is retained for stored-config parsing but rejected at authoring/execution.
  - Allowed values: `runtype-sandbox`, `daytona`
- `secretEnv` (map from string to string, optional)
- `setupCommands` (list of string, optional)
- `sleepAfter` (enum, optional)
  - Allowed values: `5m`, `15m`, `30m`, `1h`
- `ttl` (enum, optional)
  - Allowed values: `5m`, `1h`, `24h`, `unlimited`

### AgentPullResponseDefinitionConfigState

- `initial` (map from string to any, optional)
- `mergeStrategy` (enum, optional, default: merge)
  - Allowed values: `replace`, `merge`
- `predictState` (list of AgentPullResponseDefinitionConfigStatePredictStateItems, optional)
- `schema` (map from string to any, optional)

### AgentPullResponseDefinitionConfigTemporal

- `elapsedThresholdSeconds` (integer, optional)
- `groundNow` (boolean, optional)
- `injectElapsed` (boolean, optional)
- `timezone` (string, optional)

### AgentPullResponseDefinitionConfigTenancyStrategy

- `preset` (enum, required)
  - Allowed values: `internal`, `tenant-isolated`, `end-user-isolated`
- `assuranceFloor` (AgentPullResponseDefinitionConfigTenancyStrategyAssuranceFloor, optional)

### AgentPullResponseDefinitionConfigTools

- `approval` (AgentPullResponseDefinitionConfigToolsApproval, optional)
- `codeModeConfig` (AgentPullResponseDefinitionConfigToolsCodeModeConfig, optional)
- `intent` (enum, optional)
  - Allowed values: `mandatory`, `best-effort`
- `maxToolCalls` (integer, optional)
- `mcpServers` (list of AgentPullResponseDefinitionConfigToolsMcpServersItems, optional)
- `perToolLimits` (map from string to AgentPullResponseDefinitionConfigToolsPerToolLimits, optional)
- `runtimeTools` (list of AgentPullResponseDefinitionConfigToolsRuntimeToolsItems, optional)
- `subagentConfig` (AgentPullResponseDefinitionConfigToolsSubagentConfig, optional)
- `toolCallStrategy` (enum, optional)
  - Allowed values: `auto`, `required`, `none`
- `toolConfigs` (map from string to map from string to any, optional)
- `toolIds` (list of string, optional)
- `toolSearch` (AgentPullResponseDefinitionConfigToolsToolSearch, optional)

### AgentPullResponseDefinitionConfigVoice

- `directTools` (AgentPullResponseDefinitionConfigVoiceDirectTools, optional)
- `disclosure` (boolean, optional)
- `elevenLabs` (AgentPullResponseDefinitionConfigVoiceElevenLabs, optional)
- `enabled` (boolean, optional)
- `endpointing` (AgentPullResponseDefinitionConfigVoiceEndpointing, optional)
- `greeting` (string, optional)
- `interruptionMode` (enum, optional)
  - Allowed values: `none`, `cancel`, `barge-in`
- `language` (string, optional)
- `provider` (string, optional)
- `speech` (AgentPullResponseDefinitionConfigVoiceSpeech, optional)

### AgentPullResponseDefinitionConfigContextManagementCompaction

- `enabled` (boolean, optional)
- `instructions` (string, optional)
- `model` (string, optional)
- `retainRecentTokens` (integer, optional)
- `strategy` (enum, optional)
  - Allowed values: `auto`, `provider_native`, `summary`
- `thresholdRatio` (double, optional)
- `thresholdTokens` (integer, optional)

### AgentPullResponseDefinitionConfigContextManagementToolResults

- `pruneHotWindowTokens` (integer, optional)
- `pruneMode` (enum, optional)
  - Allowed values: `mask`, `off`
- `inlineThresholdChars` (integer, optional, deprecated) — Deprecated and ignored. Tool results are never spilled.

### AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems

- AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems0
- AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems1
- AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems2

### AgentPullResponseDefinitionConfigErrorHandlingTriggersItems

- `type` (enum, required)
  - Allowed values: `error`, `empty-output`

### AgentPullResponseDefinitionConfigReasoning1

- `enabled` (boolean, required)
- `budgetTokens` (integer, optional)
- `effort` (string, optional)
- `includeThoughts` (boolean, optional)
- `reasoningEffort` (enum, optional)
  - Allowed values: `minimal`, `low`, `medium`, `high`, `xhigh`, `max`
- `reasoningSummary` (enum, optional)
  - Allowed values: `auto`, `detailed`
- `thinkingBudget` (integer, optional)
- `thinkingLevel` (string, optional)

### AgentPullResponseDefinitionConfigSandboxNetworkAccess

- enum
  - Allowed values: `none`, `essentials`, `open`
- AgentPullResponseDefinitionConfigSandboxNetworkAccess1

### AgentPullResponseDefinitionConfigStatePredictStateItems

- `stateKey` (string, required)
- `tool` (string, required)
- `toolArgument` (string, required)

### AgentPullResponseDefinitionConfigTenancyStrategyAssuranceFloor

- `endUser` (enum, optional)
  - Allowed values: `asserted`, `verified`
- `tenant` (enum, optional)
  - Allowed values: `asserted`, `verified`

### AgentPullResponseDefinitionConfigToolsApproval

- `require` (AgentPullResponseDefinitionConfigToolsApprovalRequire, required)
- `approver` (enum, optional)
  - Allowed values: `owner`, `end-user`
- `choices` (AgentPullResponseDefinitionConfigToolsApprovalChoices, optional)
- `requestReason` (boolean, optional)
- `timeout` (double, optional)

### AgentPullResponseDefinitionConfigToolsCodeModeConfig

- `toolPool` (list of string, required)
- `description` (string, optional)
- `timeoutMs` (integer, optional)

### AgentPullResponseDefinitionConfigToolsMcpServersItems

- `id` (string, required)
- `allowedTools` (list of string, optional)
- `auth` (AgentPullResponseDefinitionConfigToolsMcpServersItemsAuth, optional)
- `enabled` (boolean, optional)
- `identityAudiences` (list of string, optional)
- `name` (string, optional)
- `target` (AgentPullResponseDefinitionConfigToolsMcpServersItemsTarget, optional)
- `timeout` (double, optional)
- `transport` (enum, optional)
  - Allowed values: `streamable_http`, `rest`
- `url` (string, optional)

### AgentPullResponseDefinitionConfigToolsPerToolLimits

- `maxCalls` (double, optional)
- `required` (boolean, optional)

### AgentPullResponseDefinitionConfigToolsRuntimeToolsItems

- `config` (map from string to any, required)
- `description` (string, required)
- `name` (string, required)
- `parametersSchema` (map from string to any, required)
- `toolType` (enum, required)
  - Allowed values: `flow`, `custom`, `external`, `local`, `advisor`, `subagent`, `search`
- `hiddenParameterNames` (list of string, optional)
- `idempotent` (boolean, optional)

### AgentPullResponseDefinitionConfigToolsSubagentConfig

- `toolPool` (list of string, required)
- `allowNesting` (boolean, optional)
- `defaultExecutionMode` (enum, optional)
  - Allowed values: `attached`, `detached`
- `defaultMaxTurns` (integer, optional)
- `defaultModel` (string, optional)
- `defaultNotify` (enum, optional)
  - Allowed values: `none`, `narrate`, `react`
- `defaultTimeoutMs` (integer, optional)
- `detachedMaxBudgetMs` (integer, optional)
- `detachedNoProgressBudgetMs` (integer, optional)
- `executionModes` (list of enum, optional)
  - Allowed values: `attached`, `detached`
- `maxSpawnsPerRun` (integer, optional)
- `maxTurnsLimit` (integer, optional)

### AgentPullResponseDefinitionConfigToolsToolSearch

- `alwaysLoaded` (list of string, optional)
- `enabled` (boolean, optional)
- `threshold` (double, optional)

### AgentPullResponseDefinitionConfigVoiceDirectTools

- `enabled` (boolean, optional)
- `model` (string, optional)

### AgentPullResponseDefinitionConfigVoiceElevenLabs

- `modelId` (string, optional)
- `similarity` (double, optional)
- `stability` (double, optional)
- `voiceId` (string, optional)

### AgentPullResponseDefinitionConfigVoiceEndpointing

- `strategy` (enum, required)
  - Allowed values: `provider_vad`, `server_vad`, `client_commit`, `manual`
- `silenceMs` (integer, optional)

### AgentPullResponseDefinitionConfigVoiceSpeech

- `mode` (enum, required)
  - Allowed values: `pipeline`, `speech_to_speech`, `provider_managed`
- `synthesizer` (AgentPullResponseDefinitionConfigVoiceSpeechSynthesizer, required)
- `transcriber` (AgentPullResponseDefinitionConfigVoiceSpeechTranscriber, required)

### AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems0

- `type` (enum, required)
  - Allowed values: `retry`
- `delay` (integer, optional)

### AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems1

- `model` (string, required)
- `type` (enum, required)
  - Allowed values: `model`
- `delay` (integer, optional)
- `maxTokens` (integer, optional)
- `temperature` (double, optional)

### AgentPullResponseDefinitionConfigErrorHandlingFallbacksItems2

- `message` (string, required)
- `type` (enum, required)
  - Allowed values: `message`
- `delay` (integer, optional)

### AgentPullResponseDefinitionConfigSandboxNetworkAccess1

- `allow` (list of string, optional)
- `profile` (enum, optional)
  - Allowed values: `none`, `essentials`, `open`

### AgentPullResponseDefinitionConfigToolsApprovalRequire

- list of string
- boolean

### AgentPullResponseDefinitionConfigToolsApprovalChoices

- `alwaysAllow` (boolean, optional)
- `alwaysDeny` (boolean, optional)

### AgentPullResponseDefinitionConfigToolsMcpServersItemsAuth

- `type` (enum, required)
  - Allowed values: `api_key`, `bearer`, `basic`, `custom_header`, `headers`, `none`
- `headerName` (string, optional)
- `headers` (map from string to string, optional)
- `password` (string, optional)
- `token` (string, optional)
- `username` (string, optional)

### AgentPullResponseDefinitionConfigToolsMcpServersItemsTarget

- `deploymentId` (string, required)
- `kind` (enum, required)
  - Allowed values: `sandbox-deployment`
- `bearerSecretName` (string, optional)
- `path` (string, optional)

### AgentPullResponseDefinitionConfigVoiceSpeechSynthesizer

- `provider` (string, required)
- `model` (string, optional)
- `settings` (AgentPullResponseDefinitionConfigVoiceSpeechSynthesizerSettings, optional)
- `voiceId` (string, optional)

### AgentPullResponseDefinitionConfigVoiceSpeechTranscriber

- `provider` (string, required)
- `model` (string, optional)

### AgentPullResponseDefinitionConfigVoiceSpeechSynthesizerSettings

- `similarity` (double, optional)
- `stability` (double, optional)

## Examples

**Response**

```json
{
  "agentId": "string",
  "capabilities": [
    {
      "toolName": "string",
      "agent": "string",
      "description": "string",
      "enabled": true,
      "flow": "string",
      "parametersSchema": {},
      "tool": "string"
    }
  ],
  "contentHash": "string",
  "definition": {
    "name": "string",
    "config": {
      "advisor": {
        "model": "string",
        "systemPrompt": "string"
      },
      "artifacts": {
        "enabled": true,
        "types": [
          "markdown"
        ]
      },
      "busyMessageRouting": {
        "classifierModel": "string",
        "mode": "enforced"
      },
      "contextManagement": {
        "compaction": {
          "enabled": true,
          "instructions": "string",
          "model": "string",
          "retainRecentTokens": 1,
          "strategy": "auto",
          "thresholdRatio": 0.64,
          "thresholdTokens": 1
        },
        "toolResults": {
          "pruneHotWindowTokens": 1,
          "pruneMode": "mask",
          "inlineThresholdChars": 1
        }
      },
      "durability": {
        "forced": "durable",
        "maxBudgetMs": 1,
        "watchLeaseMs": 1
      },
      "errorHandling": {
        "onError": "fail",
        "fallbacks": [
          {
            "delay": 1,
            "type": "retry"
          }
        ],
        "triggers": [
          {
            "type": "error"
          }
        ]
      },
      "frequencyPenalty": 1.1,
      "loggingPolicy": "default",
      "loopConfig": {
        "enableReflection": true,
        "maxCost": 1.1,
        "maxTurns": 1,
        "reflectionInterval": 1,
        "treatLengthCutoffAsFailure": true
      },
      "maxTokens": 1,
      "memory": {
        "enabled": true,
        "injectSummary": true,
        "pointerScope": "shared",
        "profileTemplate": "string"
      },
      "model": "string",
      "piiRedaction": "default",
      "presencePenalty": 1.1,
      "reasoning": true,
      "sandbox": {
        "enabled": true,
        "codingAgents": [
          "opencode"
        ],
        "instanceType": "standard-1",
        "networkAccess": "none",
        "persistence": "ephemeral",
        "provider": "runtype-sandbox",
        "secretEnv": {},
        "setupCommands": [
          "string"
        ],
        "sleepAfter": "5m",
        "ttl": "5m"
      },
      "seed": 1,
      "state": {
        "initial": {},
        "mergeStrategy": "merge",
        "predictState": [
          {
            "stateKey": "string",
            "tool": "string",
            "toolArgument": "string"
          }
        ],
        "schema": {}
      },
      "systemPrompt": "string",
      "temperature": 1.1,
      "temporal": {
        "elapsedThresholdSeconds": 1,
        "groundNow": true,
        "injectElapsed": true,
        "timezone": "string"
      },
      "tenancyStrategy": {
        "preset": "internal",
        "assuranceFloor": {
          "endUser": "asserted",
          "tenant": "asserted"
        }
      },
      "tools": {
        "approval": {
          "require": [
            "string"
          ],
          "approver": "owner",
          "choices": {
            "alwaysAllow": true,
            "alwaysDeny": true
          },
          "requestReason": true,
          "timeout": 1.1
        },
        "codeModeConfig": {
          "toolPool": [
            "string"
          ],
          "description": "string",
          "timeoutMs": 1
        },
        "intent": "mandatory",
        "maxToolCalls": 1,
        "mcpServers": [
          {
            "id": "string",
            "allowedTools": [
              "string"
            ],
            "auth": {
              "type": "api_key",
              "headerName": "string",
              "headers": {},
              "password": "string",
              "token": "string",
              "username": "string"
            },
            "enabled": true,
            "identityAudiences": [
              "string"
            ],
            "name": "string",
            "target": {
              "deploymentId": "string",
              "kind": "sandbox-deployment",
              "bearerSecretName": "string",
              "path": "string"
            },
            "timeout": 1.1,
            "transport": "streamable_http",
            "url": "string"
          }
        ],
        "perToolLimits": {},
        "runtimeTools": [
          {
            "config": {},
            "description": "string",
            "name": "string",
            "parametersSchema": {},
            "toolType": "flow",
            "hiddenParameterNames": [
              "string"
            ],
            "idempotent": true
          }
        ],
        "subagentConfig": {
          "toolPool": [
            "string"
          ],
          "allowNesting": true,
          "defaultExecutionMode": "attached",
          "defaultMaxTurns": 1,
          "defaultModel": "string",
          "defaultNotify": "none",
          "defaultTimeoutMs": 1,
          "detachedMaxBudgetMs": 1,
          "detachedNoProgressBudgetMs": 1,
          "executionModes": [
            "attached"
          ],
          "maxSpawnsPerRun": 1,
          "maxTurnsLimit": 1
        },
        "toolCallStrategy": "auto",
        "toolConfigs": {},
        "toolIds": [
          "string"
        ],
        "toolSearch": {
          "alwaysLoaded": [
            "string"
          ],
          "enabled": true,
          "threshold": 1.1
        }
      },
      "topK": 1,
      "topP": 0.5,
      "voice": {
        "directTools": {
          "enabled": true,
          "model": "string"
        },
        "disclosure": true,
        "elevenLabs": {
          "modelId": "string",
          "similarity": 0.5,
          "stability": 0.5,
          "voiceId": "string"
        },
        "enabled": true,
        "endpointing": {
          "strategy": "provider_vad",
          "silenceMs": 1
        },
        "greeting": "string",
        "interruptionMode": "none",
        "language": "string",
        "provider": "string",
        "speech": {
          "mode": "pipeline",
          "synthesizer": {
            "provider": "string",
            "model": "string",
            "settings": {
              "similarity": 0.5,
              "stability": 0.5
            },
            "voiceId": "string"
          },
          "transcriber": {
            "provider": "string",
            "model": "string"
          }
        }
      }
    },
    "description": "string",
    "icon": "string"
  },
  "lastModifiedSource": "string",
  "skills": [
    {
      "name": "string",
      "enabled": true,
      "version": 1
    }
  ],
  "updatedAt": "string",
  "versionId": "string",
  "warnings": [
    "string"
  ]
}
```

**SDK Code**

```python
import requests

url = "https://api.runtype.com/v1/agents/pull"

querystring = {"name":"name"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript
const url = 'https://api.runtype.com/v1/agents/pull?name=name';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.runtype.com/v1/agents/pull?name=name"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.runtype.com/v1/agents/pull?name=name")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.runtype.com/v1/agents/pull?name=name")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.runtype.com/v1/agents/pull?name=name', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.runtype.com/v1/agents/pull?name=name");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.runtype.com/v1/agents/pull?name=name")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```