reopen_report

Report it again: still broken

act entity tenant-private since 2026-10-01

Says a Fixed or Answered report of your org is still broken. Trade HQ support gets a new report linked to the original, with its page, the record it was about and how much it hurts, and your words. Answers the new report, which shows that it reopened the original. Send it again with the same Idempotency-Key and it is the same new report.

Contract

shape
entity
authority
act
evidence
none
subscription
false
permission
any one of: org.member (carried by the caller's role template in the org `org_id`); a deactivated caller is refused first
idempotency
keyed
emits
none
MCP tool
reopen_report
decision_set
approve, reject
REST
POST https://api.containertradehq.com/v1/cap/reopen_report

Through MCP this call returns an approval request first; see Approvals.

Idempotency: keyed by the caller's Idempotency-Key, which is required: the same key and inputs replay the first result, the same key with other inputs is 409 idempotency_key_reused

Inputs

nametyperequiredvalidation
org_idorg_idrequiredtradehq-org-id; 1 to 20 characters
The org the report is of: yours.
report_iduuidrequiredUUID
The Fixed or Answered report that is still broken.
bodytextrequired1 to 5000 characters
What is still wrong.

Response

  • reopen_id · string · The reopen: ro and thirty characters, derived from the Idempotency-Key.
  • report_id · string · The new report.
  • ticket · string · The new report's reference (CUS-n).
  • reopened_from · string · The report it reopens.
  • at · string · When the original's timeline recorded it.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "reopen_id": {
      "type": "string",
      "description": "The reopen: ro and thirty characters, derived from the Idempotency-Key.",
      "x-data-class": "operational"
    },
    "report_id": {
      "type": "string",
      "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$",
      "format": "uuid",
      "description": "The new report.",
      "x-data-class": "operational"
    },
    "ticket": {
      "type": "string",
      "description": "The new report's reference (CUS-n).",
      "x-data-class": "operational"
    },
    "reopened_from": {
      "type": "string",
      "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$",
      "format": "uuid",
      "description": "The report it reopens.",
      "x-data-class": "operational"
    },
    "at": {
      "type": "string",
      "format": "date-time",
      "description": "When the original's timeline recorded it.",
      "x-data-class": "operational"
    }
  },
  "required": [
    "reopen_id",
    "report_id",
    "ticket",
    "reopened_from",
    "at"
  ],
  "additionalProperties": false
}

Refusals

  • report_not_found · 422 · the org has no such report, or it is private to its reporter
  • report_not_reopenable · 422 · only a Fixed or Answered report is reported again
  • reopen_not_filed · 422 · the new report could not be filed just now; send it again with the same Idempotency-Key
  • reports_unavailable · 422 · this deployment has no broker credential for reports yet; nothing was sent
  • retry_key_mismatch · 409 · the Idempotency-Key was already used with a different reopen
  • retry_key_in_flight · 409 · a request with this Idempotency-Key is still running
  • retry_key_lost · 409 · another request took over this Idempotency-Key first

The platform refusals apply to every call: version, authentication, authority, validation and rate limits, each in the same envelope.

Surfaces

DesktopF
MobileF
APIF
MCPF*
VoiceD2
PushN
OneBoxN
OutboundN
  • MCP: approval required
  • Voice: degraded: confirmation
  • Push: emits nothing
  • OneBox: a reopen is said by a person, not read off a document
  • Outbound: goes to Trade HQ's support, never to a counterparty

Events

None emitted.

Related

confirm_report, follow_report, get_report, mark_report_seen, reply_to_report, unfollow_report