Skip to content
VoxaDocs
Navigation
Open console →

Agents

Versions

Every change to an agent is saved as a version, with who made it and what changed field by field, so you can see an agent's history and restore an earlier configuration.

When a version is saved

ActionactionNotes
POST /api/v1/agentscreateVersion 1.
PUT /api/v1/agents/{id}updateOnly if something changed. A save with no changes does not create a version.
POST /api/v1/agents/{id}/duplicateduplicateVersion 1 of the new agent.
POST /api/v1/agents/{id}/versions/{version}/restorerestoreA new version with the old configuration.

The agent’s version field is its current version number. The last 10 versions of each agent are kept; older ones are deleted. Deleting an agent deletes its versions.

Connecting a number from the Phone numbers page changes the agent’s phone_number and version number, but does not add an entry to the version list.

List versions

curl https://voxa.abhinavyadav.in/api/v1/agents/$AGENT_ID/versions -H "X-API-Key: $VOXA_API_KEY"

Newest first, without the full configuration:

[
  {
    "version": 4,
    "at": "2026-10-01T16:05:12.004000+05:30",
    "by_name": "Asha Rao",
    "action": "restore",
    "restored_from": 2,
    "changes": {"llm.temperature": [0.8, 0.4], "call.max_duration_seconds": [900, 600]}
  },
  {
    "version": 3,
    "at": "2026-10-01T15:41:40.551000+05:30",
    "by_name": "key:backend",
    "action": "update",
    "restored_from": null,
    "changes": {"llm.temperature": [0.4, 0.8], "call.max_duration_seconds": [600, 900]}
  }
]
FieldMeaning
versionThe version number.
atWhen it was saved.
by_nameWho saved it: a person’s name, or key:<key name> for an API key.
actioncreate, update, duplicate or restore.
restored_fromFor restore, the version that was restored. Otherwise null.
changesEach changed field, by its dotted path, as [before, after]. Tool headers are masked. Empty for create and duplicate.

Get one version

curl https://voxa.abhinavyadav.in/api/v1/agents/$AGENT_ID/versions/2 -H "X-API-Key: $VOXA_API_KEY"

The response has the same fields plus config: the agent’s full configuration at that version (every field from the agent object except the read-only ones).

Restore a version

curl -X POST https://voxa.abhinavyadav.in/api/v1/agents/$AGENT_ID/versions/2/restore -H "X-API-Key: $VOXA_API_KEY"

The agent’s configuration is replaced with version 2’s and saved as a new version with action: "restore". The response is the updated agent. Nothing is lost: the version you replaced stays in the list.

A restore is checked like any save: the providers must be available to your workspace, and the phone number must not belong to another workspace.

Errors

StatusWhen
404 version not found (only the last 10 are kept)The version doesn’t exist or is older than the last 10.
422The version uses a provider your workspace can no longer use.
Esc