{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/customer-io/main/json-schema/customer-io-update-inbox-content-schema.json", "title": "Inbox message", "description": "Update the contents of an inbox message newsletter variant.", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/customer-io-newsletter-variants-api-openapi.yml#/components/schemas/updateInboxContent", "allOf": [ { "type": "object", "properties": { "type": { "x-scalar-ignore": true, "description": "Channel type for a newsletter or newsletter content variant.", "type": "string", "enum": [ "email", "webhook", "twilio", "push", "in_app", "inbox" ], "readOnly": true }, "deduplicate_id": { "x-scalar-ignore": true, "type": "string", "readOnly": true, "description": "An identifier in the format `id:timestamp` where the id is for the object you're working with (Campaigns, Deliveries, Exports, Identities, Newsletters, Segments, and Templates), and the timestamp is the last time the object was updated." } } }, { "type": "object", "properties": { "type": { "type": "string", "enum": [ "inbox" ], "readOnly": true }, "body_json": { "type": "string", "description": "JSON body content for the inbox message, as a stringified JSON object. The fields you include depend on how you [set up your inbox](/journeys/channels/in-app/inbox/setup/):\n- `topics`—array, topics your audience can filter by in their inbox\n- `type`—string, context that helps render the inbox message\n- `properties`—object, your message info like the title, body, link, and image\n- `expiration`—object; if omitted, the message expires after 30 days. Otherwise set `type` (`relative` or `absolute`), `unit` (`seconds`, `minutes`, `hours`, or `days`; relative only), and `value` (number of units, or a unix timestamp if absolute)\n" } } } ] }