follow_report

Follow a customer report

act entity tenant-private since 2026-10-01

Follows a customer report: it then shows unread to the caller when it changes, and its updates reach them. Open to anyone who may get the report: a member of its org or the owner of the org's account. A private report is its reporter's alone. Following writes a followed event on the report's timeline; following a report you follow already changes nothing.

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`); account.owner (account role owner or higher in the account of the org `org_id`); a deactivated caller is refused first
idempotency
natural
emits
none
MCP tool
follow_report
decision_set
approve, reject
REST
POST https://api.containertradehq.com/v1/cap/follow_report

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

Idempotency: keyed by the contract's own inputs: the same inputs replay the first call's result

Inputs

nametyperequiredvalidation
org_idorg_idrequiredtradehq-org-id; 1 to 20 characters
The org the report is in.
report_iduuidrequiredUUID
The report: its CUS ticket's Linear id, as list_reports and get_report answer it.

Response

  • report_id · string · The report.
  • following · boolean · Whether the caller follows the report now.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "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 report.",
      "x-data-class": "operational"
    },
    "following": {
      "type": "boolean",
      "description": "Whether the caller follows the report now.",
      "x-data-class": "operational"
    }
  },
  "required": [
    "report_id",
    "following"
  ],
  "additionalProperties": false
}

Refusals

  • report_not_found · 422 · no report by that id in that org is one the caller may get: it does not exist, it is another org's, or it is private to its reporter

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
OneBoxF
OutboundN
  • MCP: approval required
  • Voice: degraded: confirmation
  • Push: emits nothing
  • Outbound: crosses to no counterparty

Events

None emitted.

Related

confirm_report, get_report, mark_report_seen, reopen_report, reply_to_report, unfollow_report