Reference
Discard a draft
Closes an open draft without applying it.
| REST | POST /api/v1/agents/{agent_id}/drafts/{draft_id}/discard |
| MCP tool | discard_draft |
| Classification | Write |
| Scope | agents:write |
| Minimum role on the agent | editor |
| Confirmation | Not needed |
| Retry safety | Safe to retry with the same input |
| Success status | 200 |
What it does
Closes an open draft without applying it.
Side effects
Closes the draft. The configuration is untouched.
Inputs
| Name | Type | Required | In | Description |
|---|---|---|---|---|
agent_id | string | yes | path | The agent id (agt_...), from list_agents. |
draft_id | string | yes | path | The draft id. |
Example
curl -X POST "https://covo.lanaai.io/api/v1/agents/agt_4edc89bb2964/drafts/ba5e403e-7650-449d-b575-beaffff3401b/discard" \
-H "Authorization: Bearer $COVO_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "discard_draft",
"arguments": {
"agent_id": "agt_4edc89bb2964",
"draft_id": "ba5e403e-7650-449d-b575-beaffff3401b"
}
}
}Response
Returns an object with draft_id and status. This is a real response, shortened to two items per list.
{
"draft_id": "ba5e403e-7650-449d-b575-beaffff3401b",
"status": "discarded"
}Over MCP the same object comes back as the tool result, in structuredContent and as JSON text.
Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | unauthorized | No token, or it is unknown, revoked or expired. OAuth apps refresh or reconnect. |
| 403 | account_suspended | The account that owns the token is paused. |
| 403 | insufficient_scope | The token lacks agents:write. |
| 404 | agent_not_found | Unknown agent, or not reachable with this token. |
| 400 | bad_request | An input is invalid; field names it. |
| 429 | rate_limited | Wait Retry-After seconds. |