hide_catalog_photo

Hide a catalog photo

act entity tenant-private since 2026-10-01

Hides one of the org's unit photos from the sales catalog, or shows it again with hidden false. A hidden photo is never chosen for a catalog group: the next newest photo of a sound unit shows instead, or the drawn outline when there is none. The photo itself is kept. Setting what a photo already is changes nothing.

Contract

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

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 whose catalog it is.
photo_iduuidrequiredUUID
The photo, as summarize_catalog names it.
hiddenbooleanrequired
true hides it from the catalog; false shows it again.

Response

  • photo_id · string · The photo.
  • container · string · The ISO 6346 container number of the unit it shows.
  • taken_at · string · When it was taken.
  • origin · string · Where it came from: a depot report, gate activity or a person.
  • recorded_by · string · Who recorded it: user:<user_id>, api_key:<key_id> or machine:<name>.
  • created_at · string · When Trade HQ recorded it.
  • hidden · boolean · Whether it is hidden from the catalog.
  • hidden_at · stringnull · When it was hidden; null while it is shown.
  • hidden_by · stringnull · The user_id of the org admin who hid it.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "photo_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 photo.",
      "x-data-class": "operational"
    },
    "container": {
      "type": "string",
      "description": "The ISO 6346 container number of the unit it shows.",
      "x-data-class": "operational"
    },
    "taken_at": {
      "type": "string",
      "format": "date-time",
      "description": "When it was taken.",
      "x-data-class": "operational"
    },
    "origin": {
      "type": "string",
      "enum": [
        "depot_report",
        "gate",
        "manual"
      ],
      "description": "Where it came from: a depot report, gate activity or a person.",
      "x-data-class": "operational"
    },
    "recorded_by": {
      "type": "string",
      "description": "Who recorded it: user:<user_id>, api_key:<key_id> or machine:<name>.",
      "x-data-class": "operational"
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "When Trade HQ recorded it.",
      "x-data-class": "operational"
    },
    "hidden": {
      "type": "boolean",
      "description": "Whether it is hidden from the catalog.",
      "x-data-class": "operational"
    },
    "hidden_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When it was hidden; null while it is shown.",
      "x-data-class": "operational"
    },
    "hidden_by": {
      "type": [
        "string",
        "null"
      ],
      "description": "The user_id of the org admin who hid it.",
      "x-data-class": "operational"
    }
  },
  "required": [
    "photo_id",
    "container",
    "taken_at",
    "origin",
    "recorded_by",
    "created_at",
    "hidden",
    "hidden_at",
    "hidden_by"
  ],
  "additionalProperties": false
}

Refusals

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
PushF
OneBoxN
OutboundN
  • MCP: approval required
  • Voice: degraded: confirmation
  • OneBox: no document originates a photo's visibility
  • Outbound: crosses to no counterparty

Events

Related

None.