---
title: "Read an agent's call variables, SMS templates and caller lookup"
method: GET
path: "/v1/agents/{agent_id}/variables"
---

# Read an agent's call variables, SMS templates and caller lookup

`GET /v1/agents/{agent_id}/variables`

## Request

- Base URL: `https://api.skysay.ai`
- URL: `https://api.skysay.ai/v1/agents/{agent_id}/variables`
- Auth: none declared

A pure read of the stored config, with the revision a write must name and the schema_hash a call admitted now would carry. Bound to the authenticated workspace: another workspace's agent and an unknown one are the same 404.

## Path parameters

- `agent_id` string, required

## Response `200`

The agent's config

- AgentVariables
  - `agent_id` string, required
  - `config` VariablesConfig, required: An agent's call variables, SMS templates and caller lookup. Exported from config_schema.py (the API's copy; tests pin the two equal) for the dashboard and the docs. tests/fixtures/call_variables/config_cases.json is the accept/reject contract.
    - `caller_lookup` object, nullable
      - `contact_list_id` string, required
    - `sms_mode` 'free_text' | 'templates_only'
    - `sms_templates` object
    - `variables` VariablesConfigVariables
      - `fields` object, required
      - `version` unknown, required
  - `published_at` string, required: When the current publication was made; empty before the first.
  - `revision` integer, required: The agent's latest published language-profile version; send it back as base_revision. Any publish of the agent moves it. 0 before the agent is first published.
  - `schema_hash` string, required: sha256 of the variable schema a call admitted now would carry; empty when the publication declares none a call could be admitted with.

## Other responses

- `404`: Agent not found

---

[API](https://skmtc.dev/skysay/apis/skysay-api.md) · [All operations](https://skmtc.dev/skysay/apis/skysay-api/llms.txt) · [OpenAPI document](https://skmtc.dev/skysay/apis/skysay-api/revisions/95b8c66f99aa?raw)
