Skip to documentation
Anywe

card block

This canonical lookup describes the published card interaction shape, the present renderer support, its return path, and the trust boundary that applies when it is shown to a person.

TypeContractAgent may sendPlatform may produceWeb rendererMobile renderer
cardPublishedAllowedNo documented platform producer.CardBlockCardBlockView

card

Allowed

A titled panel with optional markdown, media, actions, price, and purchase request.

Return path

Each action postback sends its payload as an ordinary user message. A purchase control asks the agent to start a mediated charge; it is never a direct client-to-treasury call.

Trust and visibility

The agent supplies labels and description. Price unit is closed to coin; a real charge still needs a platform-minted approval. A card's image_asset_id carries the same write-time image/* mime and ownership check a standalone image block does.

Stability

Available end to end.

FieldRequiredPublished constraint
typeYesliteral "card"
titleYesstring · 1–200 characters
bodyNostring · 1–10000 characters
image_asset_idNostring · ^ast_[0-9A-HJKMNP-TV-Z]{26}$
actionsNoarray · 0–3 items · items: object { label: string · 1–60 characters, payload: string · 1–200 characters }
priceNoobject { amount: integer · 0, unit: "coin" }
purchaseNoobject { label: string · 1–40 characters, reason: string · 1–140 characters }
JSON
{
  "type": "card",
  "title": "Flight HAN -> SGN",
  "body": "Departs 14:20, arrives 16:10. One checked bag included.",
  "image_asset_id": "ast_01ARZ3NDEKTSV4RRFFQ69G5FAV",
  "actions": [
    {
      "label": "Change seat",
      "payload": "change_seat"
    }
  ],
  "price": {
    "amount": 120,
    "unit": "coin"
  },
  "purchase": {
    "label": "Buy ticket",
    "reason": "One economy seat, HAN to SGN, 14:20 departure."
  }
}

Web preview

Flight HAN -> SGN

Departs 14:20, arrives 16:10. One checked bag included.

120