Skip to content
Covo Developers

Reference

Get a version

A saved version: its full configuration and what changed since then.

RESTGET /api/v1/agents/{agent_id}/versions/{version}
MCP toolget_version
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

A saved version: its full configuration and what changed since then.

Side effects

None. It only reads.

Inputs

NameTypeRequiredInDescription
agent_idstringyespathThe agent id (agt_...), from list_agents.
versionintegeryespath

Example

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

Response

Returns an object with number, label, revision, created_by, client, created_at, configuration and changes_since. This is a real response, shortened to two items per list.

200 response
{
  "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",
  "configuration": {
    "links": [
      {
        "id": "5b81ea7d-47bd-498f-83c7-562142f3ce7c",
        "url": "https://cal.example/avery",
        "icon": "",
        "tags": [],
        "title": "Book a discovery call",
        "enabled": true,
        "category": "booking",
        "keywords": [],
        "priority": 0,
        "image_url": null,
        "expires_at": null,
        "visibility": "public",
        "description": ""
      }
    ],
    "offers": [],
    "places": [
      {
        "id": "56a01a61-e1a5-4bdf-b1d7-533d280b81e9",
        "key": "pl_a82927d351",
        "kind": "profile",
        "name": "Main link",
        "channel": "",
        "context": "",
        "enabled": true,
        "greeting": "",
        "embed_mode": "floating",
        "is_default": true,
        "allowed_origins": [],
        "suggested_prompts": []
      }
    ],
    "identity": {
      "headline": "Founder, Northwind Labs. Private AI for small firms.",
      "location": "",
      "long_bio": "",
      "expertise": [],
      "interests": [],
      "short_bio": "Avery builds private AI systems for small professional firms.",
      "avatar_url": null,
      "occupation": "",
      "represents": "individual",
      "display_name": "Avery Quinn",
      "contact_email": null,
      "contact_preferences": ""
    },
    "knowledge": [
      {
        "id": "ae45522f-f757-4870-9053-4f4c7f43940e",
        "tags": [],
        "title": "Northwind Labs",
        "is_faq": false,
        "content": "Northwind Labs builds private AI systems for small law firms. Engagements run six to ten weeks.",
        "category": "company",
        "priority": 0,
        "question": null,
        "visibility": "public",
        "knowledge_base_id": null
      }
    ],
    "personality": {
      "tone": "Warm, direct and practical.",
      "greeting": "Hi, I am Avery’s Concierge. Ask me about spring projects.",
      "agent_name": "",
      "boundaries": "",
      "instructions": "",
      "assistant_label": "AI Concierge",
      "fallback_behavior": "offer_contact",
      "lead_capture_mode": "balanced",
      "prohibited_topics": [],
      "suggested_prompts": []
    }
  },
  "changes_since": []
}

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.