Finance (Insurance), Weather warning 1.0.0
| Template | Finance (Insurance), tpl_466386ca3ac5 |
|---|---|
| Variant | Weather warning |
| Version | 1.0.0, the newest: what a channel following this variant draws |
| Shapes | 9x16, 4x5, 1x1, 16x9, 2x3 |
| Length | 13 seconds |
Example video
The 1x1 cut of this version, drawn from its own worked example. Open the video on its own.
What it accepts
A calm weather warning from an insurer: a headline, the warning on a soft card (its level on a scale of four, its name, where and when) and two to five steps to protect a home and a car, complete on the first frame; each step is then lit and ticked, then how to claim, the button and your agent. The disclosure stays throughout. Ten seconds with two steps, 1.4 more per step. metaData is never drawn.
| Field | Type | Required | Limit | What it is |
|---|---|---|---|---|
clipData | group | yes | Clip data: Everything drawn in the clip: the section, the headline, the warning (its weather, level, name, where and when), the steps, the claim line, the call to action and the disclosure. | |
clipData.section | text | up to 24 characters | Section: What the post is about, on a soft label at the end of the header, such as Severe weather or Home insurance. | |
clipData.headline | text | yes | up to 64 characters | Headline: The title of the post: what is coming, calmly. |
clipData.hazard | enum | cloud-rain, wind, zap, snowflake, droplets, sun, thermometer, flame, cloud | Weather: What the warning is for, as a line icon in the warning's round badge. Left out, no badge. | |
clipData.level | integer | from 1, to 4 | Warning level: How serious the warning is, 1 (the lowest) to 4 (the highest), drawn as a soft scale of four filled to it in your brand colour; only the highest level is drawn in your brand's down colour. Left out, no scale. | |
clipData.levelLabel | text | up to 24 characters | Warning name: The warning as the weather service names it, such as Amber warning or Level 3 of 4, shown as sent beside the scale. | |
clipData.region | text | up to 48 characters | Where: Where the warning applies, shown as sent with a pin. | |
clipData.when | text | up to 48 characters | When: When the warning applies, shown as sent with a clock. | |
clipData.steps | list | yes | at least 2, up to 5 | Steps: Two to five things to do now to protect a home or a car, in order, each on a soft card with its icon. All are there on the first frame, then each is lit and ticked in turn. Where the frame is short of height they turn pages. |
clipData.steps[] | group | Step | ||
clipData.steps[].label | text | yes | up to 48 characters | Label: What to do, in a few words. |
clipData.steps[].icon | enum | car, house, building, trees, leaf, wind, cloud-rain, snowflake, sun, droplets, thermometer, flame, cloud, lock, key-round, plug-zap, battery-charging, smartphone, phone, bell, camera, file-text, shield-check, clock, map-pin, bike, wrench, trash, package, users, hand-helping, lightbulb, info | Icon: A line icon in the step's round badge. Left out, the badge holds the step's number. | |
clipData.claimLine | text | up to 100 characters | Claim line: A reassuring line after the steps, in a note, such as how to claim if damage happens. | |
clipData.cta | group | Call to action: The button at the end and the line under it, such as a web address or a phone number. | ||
clipData.cta.label | text | yes | up to 28 characters | Button: What the button says. |
clipData.cta.detail | text | up to 48 characters | Line under it: An address, a phone number, an app, an office. | |
clipData.disclosure | text | up to 300 characters | Disclosure: What must be shown with the post, such as who the insurer or agent is, the licence and where it applies, and that cover is subject to the policy's terms, conditions and exclusions. On screen from the first frame to the last, set smaller rather than cut. | |
clipData.look | group | Look: How the clip looks and moves. The same six switches in every format (theme, pace, corners, alignment, logo, logo size). Leave any out for the package's default: the brand's colours, standard pace, round corners, text at the start. | ||
clipData.look.theme | enum | brand, light, dark, bold | Theme: Brand: your brand's own colours and background. Light or dark: a page tinted with your brand colour. Bold: your brand colour as the page. | |
clipData.look.pace | enum | calm, standard, punchy | Pace: How things arrive: calm fades, a standard rhythm, or punchy slams and hard cuts. | |
clipData.look.corners | enum | square, soft, round | Corners: The shape of cards, pictures and buttons. | |
clipData.look.align | enum | start, centre | Text alignment: Where the text lines up. | |
clipData.look.logo | enum | auto, free | Logo: The style's own: the logo on a small plate so it reads on any page. As it is: the logo whole, with no plate, frame or crop, for a logo made to stand on the page, such as one with a transparent background. As it is, make sure your logo reads on the page of the theme you choose. | |
clipData.look.logoSize | enum | auto, small, large | Logo size: Standard is the style's own size. Small draws the logo a fifth smaller, with its plate. Large draws it a quarter larger wherever the style has room for it, and at the standard size where it has none. | |
metaData | group | Meta data: Everything about the post that is never drawn in the clip: its title, its description in four lengths, one per kind of platform, and its hashtags. Reelwire adds the brand's description, link and hashtags after it. Left out, the post text is generated from the clip data. | ||
metaData.title | text | up to 100 characters | Title: Used where the platform has a title of its own: Facebook Feed, LinkedIn, Pinterest and YouTube. Up to 100 characters, which every one of them takes. | |
metaData.captionTiny | text | up to 200 characters | Tiny description (Pinterest, Threads, X): Up to 200 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionShort | text | up to 500 characters | Short description (Telegram, Threema, WeChat, WhatsApp): Up to 500 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionMedium | text | up to 1500 characters | Medium description (Discord, Facebook Reels, Instagram, LinkedIn, Signal, Slack, TikTok): Up to 1500 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.captionLong | text | up to 4000 characters | Long description (Facebook Feed, YouTube): Up to 4000 characters. The brand's description, link and hashtags follow it within the platform's limit. | |
metaData.hashtags | list | up to 15 | Hashtags: Written without the #. Up to 15, which every platform takes. | |
metaData.hashtags[] | text | up to 60 characters | Hashtag |
locales carries other languages: under each language code, the parts of clipData and metaData that differ, laid over the default, so a language with no copy still renders.
A picture is always a file from your media library: media:// followed by its id or its name.
Anything the table does not list is refused, and so is anything over its limit, with a 400
schema_validation error that names the field.
The JSON Schema
{
"type": "object",
"properties": {
"clipData": {
"type": "object",
"properties": {
"section": {
"type": "string",
"maxLength": 24,
"title": "Section",
"description": "What the post is about, on a soft label at the end of the header, such as Severe weather or Home insurance."
},
"headline": {
"type": "string",
"maxLength": 64,
"title": "Headline",
"description": "The title of the post: what is coming, calmly."
},
"hazard": {
"type": "string",
"enum": [
"cloud-rain",
"wind",
"zap",
"snowflake",
"droplets",
"sun",
"thermometer",
"flame",
"cloud"
],
"title": "Weather",
"description": "What the warning is for, as a line icon in the warning's round badge. Left out, no badge.",
"enumNames": [
"Rain or hail",
"Wind or storm",
"Thunder and lightning",
"Snow or ice",
"Flooding",
"Heat",
"Cold or frost",
"Wildfire",
"Fog or low cloud"
]
},
"level": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"title": "Warning level",
"description": "How serious the warning is, 1 (the lowest) to 4 (the highest), drawn as a soft scale of four filled to it in your brand colour; only the highest level is drawn in your brand's down colour. Left out, no scale."
},
"levelLabel": {
"type": "string",
"maxLength": 24,
"title": "Warning name",
"description": "The warning as the weather service names it, such as Amber warning or Level 3 of 4, shown as sent beside the scale."
},
"region": {
"type": "string",
"maxLength": 48,
"title": "Where",
"description": "Where the warning applies, shown as sent with a pin."
},
"when": {
"type": "string",
"maxLength": 48,
"title": "When",
"description": "When the warning applies, shown as sent with a clock."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 48,
"title": "Label",
"description": "What to do, in a few words."
},
"icon": {
"type": "string",
"enum": [
"car",
"house",
"building",
"trees",
"leaf",
"wind",
"cloud-rain",
"snowflake",
"sun",
"droplets",
"thermometer",
"flame",
"cloud",
"lock",
"key-round",
"plug-zap",
"battery-charging",
"smartphone",
"phone",
"bell",
"camera",
"file-text",
"shield-check",
"clock",
"map-pin",
"bike",
"wrench",
"trash",
"package",
"users",
"hand-helping",
"lightbulb",
"info"
],
"title": "Icon",
"description": "A line icon in the step's round badge. Left out, the badge holds the step's number.",
"enumNames": [
"Car",
"House",
"Building",
"Trees",
"Leaf",
"Wind",
"Cloud rain",
"Snowflake",
"Sun",
"Droplets",
"Thermometer",
"Flame",
"Cloud",
"Lock",
"Key round",
"Plug zap",
"Battery charging",
"Smartphone",
"Phone",
"Bell",
"Camera",
"File text",
"Shield check",
"Clock",
"Map pin",
"Bike",
"Wrench",
"Trash",
"Package",
"Users",
"Hand helping",
"Lightbulb",
"Info"
]
}
},
"required": [
"label"
],
"additionalProperties": false,
"title": "Step"
},
"minItems": 2,
"maxItems": 5,
"title": "Steps",
"description": "Two to five things to do now to protect a home or a car, in order, each on a soft card with its icon. All are there on the first frame, then each is lit and ticked in turn. Where the frame is short of height they turn pages."
},
"claimLine": {
"type": "string",
"maxLength": 100,
"title": "Claim line",
"description": "A reassuring line after the steps, in a note, such as how to claim if damage happens."
},
"cta": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 28,
"title": "Button",
"description": "What the button says."
},
"detail": {
"type": "string",
"maxLength": 48,
"title": "Line under it",
"description": "An address, a phone number, an app, an office."
}
},
"required": [
"label"
],
"additionalProperties": false,
"title": "Call to action",
"description": "The button at the end and the line under it, such as a web address or a phone number."
},
"disclosure": {
"type": "string",
"maxLength": 300,
"title": "Disclosure",
"description": "What must be shown with the post, such as who the insurer or agent is, the licence and where it applies, and that cover is subject to the policy's terms, conditions and exclusions. On screen from the first frame to the last, set smaller rather than cut."
},
"look": {
"type": "object",
"properties": {
"theme": {
"type": "string",
"enum": [
"brand",
"light",
"dark",
"bold"
],
"title": "Theme",
"description": "Brand: your brand's own colours and background. Light or dark: a page tinted with your brand colour. Bold: your brand colour as the page.",
"enumNames": [
"Brand colours",
"Light",
"Dark",
"Bold brand colour"
]
},
"pace": {
"type": "string",
"enum": [
"calm",
"standard",
"punchy"
],
"title": "Pace",
"description": "How things arrive: calm fades, a standard rhythm, or punchy slams and hard cuts.",
"enumNames": [
"Calm",
"Standard",
"Punchy"
]
},
"corners": {
"type": "string",
"enum": [
"square",
"soft",
"round"
],
"title": "Corners",
"description": "The shape of cards, pictures and buttons.",
"enumNames": [
"Square",
"Softly rounded",
"Round"
]
},
"align": {
"type": "string",
"enum": [
"start",
"centre"
],
"title": "Text alignment",
"description": "Where the text lines up.",
"enumNames": [
"At the start of the line",
"Centred"
]
},
"logo": {
"type": "string",
"enum": [
"auto",
"free"
],
"title": "Logo",
"description": "The style's own: the logo on a small plate so it reads on any page. As it is: the logo whole, with no plate, frame or crop, for a logo made to stand on the page, such as one with a transparent background. As it is, make sure your logo reads on the page of the theme you choose.",
"enumNames": [
"The style's own",
"As it is, no plate or crop"
]
},
"logoSize": {
"type": "string",
"enum": [
"auto",
"small",
"large"
],
"title": "Logo size",
"description": "Standard is the style's own size. Small draws the logo a fifth smaller, with its plate. Large draws it a quarter larger wherever the style has room for it, and at the standard size where it has none.",
"enumNames": [
"Standard",
"Small",
"Large"
]
}
},
"additionalProperties": false,
"title": "Look",
"description": "How the clip looks and moves. The same six switches in every format (theme, pace, corners, alignment, logo, logo size). Leave any out for the package's default: the brand's colours, standard pace, round corners, text at the start."
}
},
"required": [
"headline",
"steps"
],
"additionalProperties": false,
"title": "Clip data",
"description": "Everything drawn in the clip: the section, the headline, the warning (its weather, level, name, where and when), the steps, the claim line, the call to action and the disclosure."
},
"metaData": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 100,
"title": "Title",
"description": "Used where the platform has a title of its own: Facebook Feed, LinkedIn, Pinterest and YouTube. Up to 100 characters, which every one of them takes."
},
"captionTiny": {
"type": "string",
"maxLength": 200,
"title": "Tiny description (Pinterest, Threads, X)",
"description": "Up to 200 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"captionShort": {
"type": "string",
"maxLength": 500,
"title": "Short description (Telegram, Threema, WeChat, WhatsApp)",
"description": "Up to 500 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"captionMedium": {
"type": "string",
"maxLength": 1500,
"title": "Medium description (Discord, Facebook Reels, Instagram, LinkedIn, Signal, Slack, TikTok)",
"description": "Up to 1500 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"captionLong": {
"type": "string",
"maxLength": 4000,
"title": "Long description (Facebook Feed, YouTube)",
"description": "Up to 4000 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"hashtags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"title": "Hashtag"
},
"maxItems": 15,
"title": "Hashtags",
"description": "Written without the #. Up to 15, which every platform takes."
}
},
"additionalProperties": false,
"title": "Meta data",
"description": "Everything about the post that is never drawn in the clip: its title, its description in four lengths, one per kind of platform, and its hashtags. Reelwire adds the brand's description, link and hashtags after it. Left out, the post text is generated from the clip data."
},
"locales": {
"type": "object",
"additionalProperties": {
"type": "object",
"properties": {
"clipData": {
"type": "object",
"properties": {
"section": {
"type": "string",
"maxLength": 24,
"title": "Section",
"description": "What the post is about, on a soft label at the end of the header, such as Severe weather or Home insurance."
},
"headline": {
"type": "string",
"maxLength": 64,
"title": "Headline",
"description": "The title of the post: what is coming, calmly."
},
"hazard": {
"type": "string",
"enum": [
"cloud-rain",
"wind",
"zap",
"snowflake",
"droplets",
"sun",
"thermometer",
"flame",
"cloud"
],
"title": "Weather",
"description": "What the warning is for, as a line icon in the warning's round badge. Left out, no badge.",
"enumNames": [
"Rain or hail",
"Wind or storm",
"Thunder and lightning",
"Snow or ice",
"Flooding",
"Heat",
"Cold or frost",
"Wildfire",
"Fog or low cloud"
]
},
"level": {
"type": "integer",
"minimum": 1,
"maximum": 4,
"title": "Warning level",
"description": "How serious the warning is, 1 (the lowest) to 4 (the highest), drawn as a soft scale of four filled to it in your brand colour; only the highest level is drawn in your brand's down colour. Left out, no scale."
},
"levelLabel": {
"type": "string",
"maxLength": 24,
"title": "Warning name",
"description": "The warning as the weather service names it, such as Amber warning or Level 3 of 4, shown as sent beside the scale."
},
"region": {
"type": "string",
"maxLength": 48,
"title": "Where",
"description": "Where the warning applies, shown as sent with a pin."
},
"when": {
"type": "string",
"maxLength": 48,
"title": "When",
"description": "When the warning applies, shown as sent with a clock."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 48,
"title": "Label",
"description": "What to do, in a few words."
},
"icon": {
"type": "string",
"enum": [
"car",
"house",
"building",
"trees",
"leaf",
"wind",
"cloud-rain",
"snowflake",
"sun",
"droplets",
"thermometer",
"flame",
"cloud",
"lock",
"key-round",
"plug-zap",
"battery-charging",
"smartphone",
"phone",
"bell",
"camera",
"file-text",
"shield-check",
"clock",
"map-pin",
"bike",
"wrench",
"trash",
"package",
"users",
"hand-helping",
"lightbulb",
"info"
],
"title": "Icon",
"description": "A line icon in the step's round badge. Left out, the badge holds the step's number.",
"enumNames": [
"Car",
"House",
"Building",
"Trees",
"Leaf",
"Wind",
"Cloud rain",
"Snowflake",
"Sun",
"Droplets",
"Thermometer",
"Flame",
"Cloud",
"Lock",
"Key round",
"Plug zap",
"Battery charging",
"Smartphone",
"Phone",
"Bell",
"Camera",
"File text",
"Shield check",
"Clock",
"Map pin",
"Bike",
"Wrench",
"Trash",
"Package",
"Users",
"Hand helping",
"Lightbulb",
"Info"
]
}
},
"required": [
"label"
],
"additionalProperties": false,
"title": "Step"
},
"minItems": 2,
"maxItems": 5,
"title": "Steps",
"description": "Two to five things to do now to protect a home or a car, in order, each on a soft card with its icon. All are there on the first frame, then each is lit and ticked in turn. Where the frame is short of height they turn pages."
},
"claimLine": {
"type": "string",
"maxLength": 100,
"title": "Claim line",
"description": "A reassuring line after the steps, in a note, such as how to claim if damage happens."
},
"cta": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 28,
"title": "Button",
"description": "What the button says."
},
"detail": {
"type": "string",
"maxLength": 48,
"title": "Line under it",
"description": "An address, a phone number, an app, an office."
}
},
"additionalProperties": false,
"title": "Call to action",
"description": "The button at the end and the line under it, such as a web address or a phone number."
},
"disclosure": {
"type": "string",
"maxLength": 300,
"title": "Disclosure",
"description": "What must be shown with the post, such as who the insurer or agent is, the licence and where it applies, and that cover is subject to the policy's terms, conditions and exclusions. On screen from the first frame to the last, set smaller rather than cut."
},
"look": {
"type": "object",
"properties": {
"theme": {
"type": "string",
"enum": [
"brand",
"light",
"dark",
"bold"
],
"title": "Theme",
"description": "Brand: your brand's own colours and background. Light or dark: a page tinted with your brand colour. Bold: your brand colour as the page.",
"enumNames": [
"Brand colours",
"Light",
"Dark",
"Bold brand colour"
]
},
"pace": {
"type": "string",
"enum": [
"calm",
"standard",
"punchy"
],
"title": "Pace",
"description": "How things arrive: calm fades, a standard rhythm, or punchy slams and hard cuts.",
"enumNames": [
"Calm",
"Standard",
"Punchy"
]
},
"corners": {
"type": "string",
"enum": [
"square",
"soft",
"round"
],
"title": "Corners",
"description": "The shape of cards, pictures and buttons.",
"enumNames": [
"Square",
"Softly rounded",
"Round"
]
},
"align": {
"type": "string",
"enum": [
"start",
"centre"
],
"title": "Text alignment",
"description": "Where the text lines up.",
"enumNames": [
"At the start of the line",
"Centred"
]
},
"logo": {
"type": "string",
"enum": [
"auto",
"free"
],
"title": "Logo",
"description": "The style's own: the logo on a small plate so it reads on any page. As it is: the logo whole, with no plate, frame or crop, for a logo made to stand on the page, such as one with a transparent background. As it is, make sure your logo reads on the page of the theme you choose.",
"enumNames": [
"The style's own",
"As it is, no plate or crop"
]
},
"logoSize": {
"type": "string",
"enum": [
"auto",
"small",
"large"
],
"title": "Logo size",
"description": "Standard is the style's own size. Small draws the logo a fifth smaller, with its plate. Large draws it a quarter larger wherever the style has room for it, and at the standard size where it has none.",
"enumNames": [
"Standard",
"Small",
"Large"
]
}
},
"additionalProperties": false,
"title": "Look",
"description": "How the clip looks and moves. The same six switches in every format (theme, pace, corners, alignment, logo, logo size). Leave any out for the package's default: the brand's colours, standard pace, round corners, text at the start."
}
},
"additionalProperties": false,
"title": "Clip data",
"description": "Everything drawn in the clip: the section, the headline, the warning (its weather, level, name, where and when), the steps, the claim line, the call to action and the disclosure."
},
"metaData": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 100,
"title": "Title",
"description": "Used where the platform has a title of its own: Facebook Feed, LinkedIn, Pinterest and YouTube. Up to 100 characters, which every one of them takes."
},
"captionTiny": {
"type": "string",
"maxLength": 200,
"title": "Tiny description (Pinterest, Threads, X)",
"description": "Up to 200 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"captionShort": {
"type": "string",
"maxLength": 500,
"title": "Short description (Telegram, Threema, WeChat, WhatsApp)",
"description": "Up to 500 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"captionMedium": {
"type": "string",
"maxLength": 1500,
"title": "Medium description (Discord, Facebook Reels, Instagram, LinkedIn, Signal, Slack, TikTok)",
"description": "Up to 1500 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"captionLong": {
"type": "string",
"maxLength": 4000,
"title": "Long description (Facebook Feed, YouTube)",
"description": "Up to 4000 characters. The brand's description, link and hashtags follow it within the platform's limit."
},
"hashtags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"title": "Hashtag"
},
"maxItems": 15,
"title": "Hashtags",
"description": "Written without the #. Up to 15, which every platform takes."
}
},
"additionalProperties": false,
"title": "Meta data",
"description": "Everything about the post that is never drawn in the clip: its title, its description in four lengths, one per kind of platform, and its hashtags. Reelwire adds the brand's description, link and hashtags after it. Left out, the post text is generated from the clip data."
}
},
"additionalProperties": false
},
"propertyNames": {
"enum": [
"aa",
"ab",
"ae",
"af",
"ak",
"am",
"an",
"ar",
"as",
"av",
"ay",
"az",
"ba",
"be",
"bg",
"bi",
"bm",
"bn",
"bo",
"br",
"bs",
"ca",
"ce",
"ch",
"co",
"cr",
"cs",
"cu",
"cv",
"cy",
"da",
"de",
"dv",
"dz",
"ee",
"el",
"en",
"eo",
"es",
"et",
"eu",
"fa",
"ff",
"fi",
"fj",
"fo",
"fr",
"fy",
"ga",
"gd",
"gl",
"gn",
"gu",
"gv",
"ha",
"he",
"hi",
"ho",
"hr",
"ht",
"hu",
"hy",
"hz",
"ia",
"id",
"ie",
"ig",
"ii",
"ik",
"io",
"is",
"it",
"iu",
"ja",
"jv",
"ka",
"kg",
"ki",
"kj",
"kk",
"kl",
"km",
"kn",
"ko",
"kr",
"ks",
"ku",
"kv",
"kw",
"ky",
"la",
"lb",
"lg",
"li",
"ln",
"lo",
"lt",
"lu",
"lv",
"mg",
"mh",
"mi",
"mk",
"ml",
"mn",
"mr",
"ms",
"mt",
"my",
"na",
"nb",
"nd",
"ne",
"ng",
"nl",
"nn",
"no",
"nr",
"nv",
"ny",
"oc",
"oj",
"om",
"or",
"os",
"pa",
"pi",
"pl",
"ps",
"pt",
"qu",
"rm",
"rn",
"ro",
"ru",
"rw",
"sa",
"sc",
"sd",
"se",
"sg",
"si",
"sk",
"sl",
"sm",
"sn",
"so",
"sq",
"sr",
"ss",
"st",
"su",
"sv",
"sw",
"ta",
"te",
"tg",
"th",
"ti",
"tk",
"tl",
"tn",
"to",
"tr",
"ts",
"tt",
"tw",
"ty",
"ug",
"uk",
"ur",
"uz",
"ve",
"vi",
"vo",
"wa",
"wo",
"xh",
"yi",
"yo",
"za",
"zh",
"zu",
"zh-CN",
"zh-TW",
"pt-BR"
]
}
}
},
"required": [
"clipData"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
Ask Reelwire for the same document yourself, without signing in:
curl "http://localhost:4000/v1/formats/template/tpl_466386ca3ac5?variant=Weather%20warning&version=1.0.0"
Delivery JSON
Your own system sends this to one of your streams, POST /v1/stream, and every channel listening to
that stream draws it with its template. data is the document described above; a stream with an
empty field map passes it to the template unchanged. Try it first on POST /v1/stream/validate,
which answers the same without publishing anything. Streams and feeds
explains the rest, including how to map a document of your own shape instead.
{
"streamId": "st_your_stream_id",
"eventId": "01M2SQMKK3G1NVFXV31DCBVB95",
"occurredAt": "2026-09-23T07:00:00Z",
"locale": "en",
"data": {
"clipData": {
"section": "Severe weather",
"headline": "Hail tonight across the south",
"hazard": "cloud-rain",
"level": 3,
"levelLabel": "Amber warning",
"region": "South and south west England",
"when": "From 6 pm tonight until 6 am Friday",
"steps": [
{
"icon": "car",
"label": "Park your car under cover"
},
{
"icon": "trees",
"label": "Tie down garden furniture and bins"
},
{
"icon": "house",
"label": "Close windows, doors and skylights"
},
{
"icon": "camera",
"label": "Photograph any damage before repairs"
}
],
"claimLine": "Damage? Claim in the app, any time. We are here around the clock.",
"cta": {
"label": "Check your cover",
"detail": "harbourmutual.example/storm"
},
"disclosure": "Harbour Mutual Insurance Ltd, licence 4471. Cover is subject to the terms, conditions and exclusions of your policy.",
"look": {
"logo": "auto",
"pace": "standard",
"align": "start",
"theme": "brand",
"corners": "round",
"logoSize": "auto"
}
},
"metaData": {
"title": "Amber warning: hail tonight across the south",
"captionTiny": "Hail is on the way tonight across the south. Park under cover, tie down garden furniture and close the windows. We are here if you need us.",
"captionShort": "An amber warning for hail is in place across south and south west England from 6 pm tonight until 6 am Friday. A few minutes now can save a lot of trouble: park your car under cover, tie down garden furniture and bins, and close windows, doors and skylights. If anything is damaged, photograph it before you repair it and claim in the app, any time.",
"captionMedium": "An amber warning for hail is in place across south and south west England from 6 pm tonight until 6 am Friday, with large hailstones and gusty winds expected in places. There is no need to worry, but a few minutes now can save a lot of trouble later. Park your car in a garage or under cover if you can, or away from trees. Tie down or bring in garden furniture, trampolines and bins so the wind cannot throw them. Close windows, doors and skylights, and check that gutters are clear. If anything is damaged, stay safe first, then photograph the damage before you tidy up or arrange repairs, and keep any receipts. You can claim in the app at any time, and our team is here around the clock. Harbour Mutual Insurance Ltd, licence 4471. Cover is subject to the terms, conditions and exclusions of your policy.",
"captionLong": "An amber warning for hail is in place across south and south west England from 6 pm tonight until 6 am Friday. The forecast is for heavy showers and thunderstorms, with large hailstones and gusty winds in places, so we wanted to share a few calm, simple steps that make a real difference. There is no need to worry: most of this takes a few minutes. First, your car. Hail is one of the most common causes of car damage we see, so park in a garage or under cover if you can, and if you cannot, park away from trees and anything that could fall. A thick blanket over the windscreen helps too. Second, the garden. Tie down or bring in garden furniture, trampolines, bins and anything light enough for the wind to throw against a window or a car. Third, the house. Close windows, doors and skylights, check that gutters and drains are clear so rain can run away, and keep a torch and a charged phone to hand in case the power goes. If anything is damaged, stay safe first and do not climb onto a roof. Then photograph the damage before you tidy up or arrange repairs, keep any receipts for emergency work, and claim in the app at any time, day or night. Our claims team is here around the clock if you would rather talk it through. Harbour Mutual Insurance Ltd, licence 4471. Cover is subject to the terms, conditions and exclusions of your policy.",
"hashtags": [
"weatherwarning",
"hail",
"homeinsurance",
"carinsurance",
"staysafe",
"peaceofmind"
]
}
}
}
The delivery names no version: which build draws it is the channel's choice, the newest of its
variant or the one it is pinned to. eventId is a ULID you make once per event: sending the same
one again changes nothing. occurredAt is when the thing happened, not when you sent it. locale
is the language of the text in data, and data.locales carries other languages beside it.