list_shared_catalog

List a shared catalog

read collection controlled-share since 2026-10-01

Lists the catalog lines of a share another org sent you, a line at a time: one line per market, depot, size, type, condition, colour and hardware, with its available units. Only the lines the share holds, and only its recipients may read it. Filtered by market, depot, size, type, condition and availability, all ANDed. Sorted by one key, paged by its cursor; fields chooses the columns, and a price is answered only where the share shows it (field_not_granted otherwise). A page holds at most 500 lines and one walk of the cursor at most 10,000 (walk_ceiling_reached).

Contract

shape
collection
authority
read
evidence
none
subscription
false
permission
any one of: share.recipient (the caller is the user the recipient row named by share_inbound_id is addressed to, on a share the org made that is active, unexpired and not cancelled for them; no membership is asked); a deactivated caller is refused first
idempotency
safe
emits
none
MCP tool
list_shared_catalog
REST
POST https://api.containertradehq.com/v1/cap/list_shared_catalog

Idempotency: a read: calling again changes nothing

Inputs

nametyperequiredvalidation
org_idorg_idrequiredtradehq-org-id; 1 to 20 characters
The org that made the share.
share_inbound_idtextrequired1 to 20 characters
The received share, by its recipient row: the share_inbound_id the received shares list names.
filtersfiltersoptional
Lines matching every term given.
sortsortoptional1 to 1 items; default [{"key":"market","dir":"asc"}]
One sort key and its direction. By market when left out.
fieldsfieldsoptional1 to any number of items; unique; default ["market","depot","depot_name","size","type","condition","color","sku_code","lockbox","forklift_pockets","vents","handles","available_count","available_secured_count","available_pending_count"]
The fields to answer, from the field groups. The line, hardware and counts groups when left out; a price only where the share shows it.
limitintegeroptional1 to 500; default 100
The page size.
aftercursoroptionaltradehq-keyset-cursor; up to 1024 characters
The previous page's next_after.

Paginated: cursor_input after · next next_after · page_max 500 · walk_max 10000 · ceiling declared

Response

  • items · object[]
  • next_after · stringnull · Pass as `after` for the next page; null on the last one.
Full JSON Schema
{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "catalog_id": {
            "type": "string",
            "description": "The line's catalog id.",
            "x-data-class": "operational"
          },
          "line": {
            "type": "integer",
            "description": "The line's ordinal under its catalog id (1 unless today's catalog emits two rows under one id).",
            "x-data-class": "operational"
          },
          "market": {
            "type": [
              "string",
              "null"
            ],
            "description": "The line's market.",
            "x-data-class": "operational"
          },
          "depot": {
            "type": [
              "string",
              "null"
            ],
            "description": "The depot the line's units are in.",
            "x-data-class": "operational"
          },
          "depot_name": {
            "type": [
              "string",
              "null"
            ],
            "description": "That depot's name.",
            "x-data-class": "operational"
          },
          "size": {
            "type": [
              "string",
              "null"
            ],
            "description": "The container size, as recorded.",
            "x-data-class": "operational"
          },
          "type": {
            "type": [
              "string",
              "null"
            ],
            "description": "The container type, as recorded.",
            "x-data-class": "operational"
          },
          "condition": {
            "type": [
              "string",
              "null"
            ],
            "description": "The condition grade, as recorded.",
            "x-data-class": "operational"
          },
          "color": {
            "type": [
              "string",
              "null"
            ],
            "description": "The colour.",
            "x-data-class": "operational"
          },
          "sku_code": {
            "type": [
              "string",
              "null"
            ],
            "description": "The line's SKU code.",
            "x-data-class": "operational"
          },
          "lockbox": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Whether the containers have a lockbox.",
            "x-data-class": "operational"
          },
          "forklift_pockets": {
            "type": [
              "boolean",
              "null"
            ],
            "description": "Whether they have forklift pockets.",
            "x-data-class": "operational"
          },
          "vents": {
            "type": [
              "string",
              "null"
            ],
            "description": "Their vents.",
            "x-data-class": "operational"
          },
          "handles": {
            "type": [
              "string",
              "null"
            ],
            "description": "Their door handles.",
            "x-data-class": "operational"
          },
          "available_count": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "description": "Its units available to sell.",
            "x-data-class": "operational"
          },
          "available_secured_count": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "description": "Its units available and secured.",
            "x-data-class": "operational"
          },
          "available_pending_count": {
            "type": [
              "integer",
              "null"
            ],
            "minimum": 0,
            "description": "Its units available and pending.",
            "x-data-class": "operational"
          },
          "suggested_price": {
            "anyOf": [
              {
                "type": [
                  "string",
                  "null"
                ]
              },
              {
                "const": "•••",
                "description": "Masked by the caller's data policy."
              },
              {
                "type": "null",
                "description": "Denied by the caller's data policy."
              }
            ],
            "description": "The line's suggested price, as a decimal string.",
            "x-data-class": "commercial"
          },
          "retail_price": {
            "anyOf": [
              {
                "type": [
                  "string",
                  "null"
                ]
              },
              {
                "const": "•••",
                "description": "Masked by the caller's data policy."
              },
              {
                "type": "null",
                "description": "Denied by the caller's data policy."
              }
            ],
            "description": "The line's retail price, as a decimal string.",
            "x-data-class": "commercial"
          },
          "damage": {
            "type": [
              "string",
              "null"
            ],
            "description": "The damage the line groups by, as recorded.",
            "x-data-class": "operational"
          }
        },
        "required": [
          "catalog_id",
          "line"
        ],
        "additionalProperties": false
      },
      "maxItems": 500
    },
    "next_after": {
      "type": [
        "string",
        "null"
      ],
      "description": "Pass as `after` for the next page; null on the last one."
    }
  },
  "required": [
    "items",
    "next_after"
  ],
  "additionalProperties": false
}

Refusals

  • walk_ceiling_reached · 422 · the cursor walk has answered 10,000 rows, the most one walk answers
  • field_not_granted · 422 · the fields asked for include a price the share does not show

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

Surfaces

DesktopF
MobileF
APIF
MCPF
VoiceD4
PushN
OneBoxN
OutboundN
  • Voice: degraded: visualization
  • Push: emits nothing
  • OneBox: no document originates a shared catalog listing
  • Outbound: a read emits nothing

Events

None emitted.

Related

list_catalog, list_inventory, list_units, summarize_catalog, summarize_inventory