Skip to content
Covo Developers

Reference

Change a short link

Renames a short link, points it somewhere else, or pauses it (enabled: false).

RESTPATCH /api/v1/agents/{agent_id}/short-links/{short_link_id}
MCP toolupdate_short_link
ClassificationSensitive write
Scopeagents:write
Minimum role on the agenteditor
ConfirmationRequired: confirm: true, after the person agrees
Retry safetySafe to retry with the same input
Success status200

What it does

Renames a short link, points it somewhere else, or pauses it (enabled: false). Changing the address or pausing needs confirm: true, since people who already have the link are affected.

Side effects

Changes where the link goes, its name, or pauses it. People who already have the link are affected.

Inputs

NameTypeRequiredInDescription
agent_idstringyespathThe agent id (agt_...), from list_agents.
short_link_idstringyespathThe short link id, from list_short_links.
urlstringnobodyA new public http(s) address.
titlestringnobody
enabledboolean or "true" | "false"nobodytrue or false
confirmtruenobodySet to true after reviewing the effect with the person you work for. Required for destructive operations.

Example

REST
curl -X PATCH "https://covo.lanaai.io/api/v1/agents/agt_4edc89bb2964/short-links/33f5aef6-f05a-4a0e-8716-76aed5e209f9" \
  -H "Authorization: Bearer $COVO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title":"Spring menu 2026"}'
MCP (POST /mcp)
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "update_short_link",
    "arguments": {
      "agent_id": "agt_4edc89bb2964",
      "short_link_id": "33f5aef6-f05a-4a0e-8716-76aed5e209f9",
      "title": "Spring menu 2026"
    }
  }
}

Response

Returns an object with id, short_url, url, title, enabled, clicks, total_clicks, last_clicked and created_at. This is a real response, shortened to two items per list.

200 response
{
  "id": "33f5aef6-f05a-4a0e-8716-76aed5e209f9",
  "short_url": "https://covo.lanaai.io/go/NAqH5mp",
  "url": "https://example.com/spring-menu",
  "title": "Spring menu 2026",
  "enabled": true,
  "clicks": 0,
  "total_clicks": 0,
  "last_clicked": null,
  "created_at": "2026-10-07T20:14:42.017Z"
}

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:write.
404agent_not_foundUnknown agent, or not reachable with this token.
400bad_requestAn input is invalid; field names it.
409confirmation_requiredReview the effect with the person you work for, then send confirm: true.
429rate_limitedWait Retry-After seconds.