Skip to content

POST · Bearer

POST /api/v1/idempotency-keys/:key/resolve

Summary

Mark an unknown Idempotency-Key done and link a message the agent found. Requires message_send. Body is {message_id}. The id is a message, draft, phone number, or chat reply on the key's inbox. Later retries replay it. The done window is 24 hours from this call. A done key is HTTP 409 idempotency_key_done. A fresh in_progress key is HTTP 409 idempotency_request_in_progress. An unknown message is HTTP 404 message_not_found. A missing key is HTTP 404 idempotency_key_not_found. MCP: cooper_resolve_idempotency_key.

Request

{
  "message_id": "msg_…"
}

Response

The OpenAPI document does not declare a JSON response schema for this call. The summary is the contract.

Errors

  • HTTP 409 idempotency_key_done
  • HTTP 409 idempotency_request_in_progress
  • HTTP 404 message_not_found
  • HTTP 404 idempotency_key_not_found

Idempotency

Idempotency-Key is 1 to 256 characters of letters, digits, and - . _ ~. The same key and the same request within 24 hours returns the original response with HTTP 200 and Idempotent-Replayed: true. A different request is HTTP 409 idempotency_key_conflict. A second call while the first is running is HTTP 409 idempotency_request_in_progress. An empty or invalid key is HTTP 400 invalid_idempotency_key. A definitive refusal removes the key. An ambiguous failure keeps it and the same request returns HTTP 409 idempotency_outcome_unknown. client_id is checked first when both are set. Done keys expire after 24 hours. Unknown keys are kept for 7 days.