Skip to content
Covo Developers

Reference

List versions

Saved versions of the configuration, newest first.

RESTGET /api/v1/agents/{agent_id}/versions
MCP toollist_versions
ClassificationRead (changes nothing)
Scopeagents:read
Minimum role on the agenteditor
ConfirmationNot needed
Retry safetySafe to retry with the same input
Success status200

What it does

Saved versions of the configuration, newest first. Versions are saved automatically before every API change and on publish, and on request with create_version.

Side effects

None. It only reads.

Inputs

NameTypeRequiredInDescription
agent_idstringyespathThe agent id (agt_...), from list_agents.
limitintegernoqueryAt most 100. Default 20.
offsetintegernoqueryDefault 0.

Example

REST
curl "https://covo.lanaai.io/api/v1/agents/agt_4edc89bb2964/versions?limit=5" \
  -H "Authorization: Bearer $COVO_TOKEN"
MCP (POST /mcp)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_versions",
    "arguments": {
      "agent_id": "agt_4edc89bb2964",
      "limit": 5
    }
  }
}

Response

Returns an object with items, total, limit and offset. This is a real response, shortened to two items per list.

200 response
{
  "items": [
    {
      "number": 3,
      "label": "Before launch",
      "revision": 7,
      "created_by": "avery@example.test",
      "client": {
        "name": "docs-examples",
        "interface": "rest"
      },
      "created_at": "2026-10-07T20:14:41.903Z"
    },
    {
      "number": 2,
      "label": "Before applying draft \"Spring greeting (final)\"",
      "revision": 6,
      "created_by": "avery@example.test",
      "client": {
        "name": "docs-examples",
        "interface": "rest"
      },
      "created_at": "2026-10-07T20:14:41.891Z"
    }
  ],
  "total": 3,
  "limit": 5,
  "offset": 0
}

Over MCP the same object comes back as the tool result, in structuredContent and as JSON text.

Errors

StatusCodeMeaning
401unauthorizedNo token, or it is unknown, revoked or expired. OAuth apps refresh or reconnect.
403account_suspendedThe account that owns the token is paused.
403insufficient_scopeThe token lacks agents:read.
404agent_not_foundUnknown agent, or not reachable with this token.
400bad_requestAn input is invalid; field names it.
429rate_limitedWait Retry-After seconds.