Skip to main content

Real estate (Mortgage brokers), Questions buyers ask 1.0.0

TemplateReal estate (Mortgage brokers), tpl_f10c6ae64146
VariantQuestions buyers ask
Version1.0.0, the newest: what a channel following this variant draws
Shapes9x16, 4x5, 1x1, 16x9, 2x3
Length18 seconds

Example video​

The 1x1 cut of this version, drawn from its own worked example. Open the video on its own.

What it accepts​

Up to six questions buyers ask and the broker's answers, as a chat: each question a buyer's message, each answer the broker's reply beside their picture, the broker typing before each answer arrives. The pairs that fit are there on the first frame, the rest arrive in turn, and the last message brings the button. The legal line stays at the foot. metaData is never drawn.

FieldTypeRequiredLimitWhat it is
clipDatagroupyesClip data: Everything drawn in the clip: the section, the date chip, each buyer's question and the broker's answer, your closing message, the call to action and the legal line (and the representative example where you add one).
clipData.sectiontextup to 32 charactersSection: A few words under your name in the bar at the top, such as Buyer questions or Ask the broker.
clipData.chiptextup to 48 charactersDate chip: A few words on the chip over the thread, such as This week's questions or a date written as it should be shown. Leave it out for no chip.
clipData.readTicksbooleanRead ticks: Shows a tick beside the time of each question that has one, the question read.
clipData.pairslistyesat least 1, up to 6Questions and answers: One to six questions, each a buyer's message with your answer under it, in the order they are shown. The first that fit the frame are there at the start; each of the others arrives in turn with your typing before the answer, adding a few seconds each. Never promise a rate or an approval in an answer: it depends on the buyer's circumstances.
clipData.pairs[]groupQuestion and answer
clipData.pairs[].questiontextyesup to 100 charactersQuestion: The buyer's words, short as a message is.
clipData.pairs[].answertextyesup to 200 charactersAnswer: Your reply, in your own words, short enough to read in a few seconds.
clipData.pairs[].nametextup to 32 charactersWho asks: Shown over the question, such as Sam, first-time buyer. Never a real client's name without their consent.
clipData.pairs[].timetextup to 12 charactersQuestion time: The time beside the question, written as it should be shown, such as 09:41.
clipData.pairs[].answerTimetextup to 12 charactersAnswer time: The time beside your answer, such as 09:42.
clipData.closingtextup to 100 charactersClosing message: Your last message, over the button, such as Got a question of your own? Ask me.
clipData.ctagroupCall to action: The button at the end and the line under it, such as a web address, a handle or a phone number.
clipData.cta.labeltextyesup to 28 charactersButton: What the button says.
clipData.cta.detailtextup to 48 charactersLine under it: An address, a handle, an app, a phone number.
clipData.representativetextup to 320 charactersRepresentative example: Leave it out unless an answer names a rate or a cost: then the rules where you advertise ask for the representative example, and it is shown at the foot of every frame in the strong weight, set smaller rather than cut. Nothing in this clip shows a rate by itself.
clipData.legaltextyesup to 300 charactersLegal line: Who you are and who regulates you, with your number, and the risk warning your market asks for, such as Your home may be repossessed if you do not keep up repayments on your mortgage. Shown at the foot of every frame, set smaller rather than cut. Required.
clipData.lookgroupLook: 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.themeenumbrand, light, dark, boldTheme: 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.paceenumcalm, standard, punchyPace: How things arrive: calm fades, a standard rhythm, or punchy slams and hard cuts.
clipData.look.cornersenumsquare, soft, roundCorners: The shape of cards, pictures and buttons.
clipData.look.alignenumstart, centreText alignment: Where the text lines up.
clipData.look.logoenumauto, freeLogo: 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.logoSizeenumauto, small, largeLogo 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.
metaDatagroupMeta 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.titletextup to 100 charactersTitle: 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.captionTinytextup to 200 charactersTiny description (Pinterest, Threads, X): Up to 200 characters. The brand's description, link and hashtags follow it within the platform's limit.
metaData.captionShorttextup to 500 charactersShort description (Telegram, Threema, WeChat, WhatsApp): Up to 500 characters. The brand's description, link and hashtags follow it within the platform's limit.
metaData.captionMediumtextup to 1500 charactersMedium 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.captionLongtextup to 4000 charactersLong description (Facebook Feed, YouTube): Up to 4000 characters. The brand's description, link and hashtags follow it within the platform's limit.
metaData.hashtagslistup to 15Hashtags: Written without the #. Up to 15, which every platform takes.
metaData.hashtags[]textup to 60 charactersHashtag

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": 32,
"title": "Section",
"description": "A few words under your name in the bar at the top, such as Buyer questions or Ask the broker."
},
"chip": {
"type": "string",
"maxLength": 48,
"title": "Date chip",
"description": "A few words on the chip over the thread, such as This week's questions or a date written as it should be shown. Leave it out for no chip."
},
"readTicks": {
"type": "boolean",
"title": "Read ticks",
"description": "Shows a tick beside the time of each question that has one, the question read."
},
"pairs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question": {
"type": "string",
"maxLength": 100,
"title": "Question",
"description": "The buyer's words, short as a message is."
},
"answer": {
"type": "string",
"maxLength": 200,
"title": "Answer",
"description": "Your reply, in your own words, short enough to read in a few seconds."
},
"name": {
"type": "string",
"maxLength": 32,
"title": "Who asks",
"description": "Shown over the question, such as Sam, first-time buyer. Never a real client's name without their consent."
},
"time": {
"type": "string",
"maxLength": 12,
"title": "Question time",
"description": "The time beside the question, written as it should be shown, such as 09:41."
},
"answerTime": {
"type": "string",
"maxLength": 12,
"title": "Answer time",
"description": "The time beside your answer, such as 09:42."
}
},
"required": [
"question",
"answer"
],
"additionalProperties": false,
"title": "Question and answer"
},
"minItems": 1,
"maxItems": 6,
"title": "Questions and answers",
"description": "One to six questions, each a buyer's message with your answer under it, in the order they are shown. The first that fit the frame are there at the start; each of the others arrives in turn with your typing before the answer, adding a few seconds each. Never promise a rate or an approval in an answer: it depends on the buyer's circumstances."
},
"closing": {
"type": "string",
"maxLength": 100,
"title": "Closing message",
"description": "Your last message, over the button, such as Got a question of your own? Ask me."
},
"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 handle, an app, a phone number."
}
},
"required": [
"label"
],
"additionalProperties": false,
"title": "Call to action",
"description": "The button at the end and the line under it, such as a web address, a handle or a phone number."
},
"representative": {
"type": "string",
"maxLength": 320,
"title": "Representative example",
"description": "Leave it out unless an answer names a rate or a cost: then the rules where you advertise ask for the representative example, and it is shown at the foot of every frame in the strong weight, set smaller rather than cut. Nothing in this clip shows a rate by itself."
},
"legal": {
"type": "string",
"maxLength": 300,
"title": "Legal line",
"description": "Who you are and who regulates you, with your number, and the risk warning your market asks for, such as Your home may be repossessed if you do not keep up repayments on your mortgage. Shown at the foot of every frame, set smaller rather than cut. Required."
},
"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": [
"pairs",
"legal"
],
"additionalProperties": false,
"title": "Clip data",
"description": "Everything drawn in the clip: the section, the date chip, each buyer's question and the broker's answer, your closing message, the call to action and the legal line (and the representative example where you add one)."
},
"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": 32,
"title": "Section",
"description": "A few words under your name in the bar at the top, such as Buyer questions or Ask the broker."
},
"chip": {
"type": "string",
"maxLength": 48,
"title": "Date chip",
"description": "A few words on the chip over the thread, such as This week's questions or a date written as it should be shown. Leave it out for no chip."
},
"readTicks": {
"type": "boolean",
"title": "Read ticks",
"description": "Shows a tick beside the time of each question that has one, the question read."
},
"pairs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"question": {
"type": "string",
"maxLength": 100,
"title": "Question",
"description": "The buyer's words, short as a message is."
},
"answer": {
"type": "string",
"maxLength": 200,
"title": "Answer",
"description": "Your reply, in your own words, short enough to read in a few seconds."
},
"name": {
"type": "string",
"maxLength": 32,
"title": "Who asks",
"description": "Shown over the question, such as Sam, first-time buyer. Never a real client's name without their consent."
},
"time": {
"type": "string",
"maxLength": 12,
"title": "Question time",
"description": "The time beside the question, written as it should be shown, such as 09:41."
},
"answerTime": {
"type": "string",
"maxLength": 12,
"title": "Answer time",
"description": "The time beside your answer, such as 09:42."
}
},
"required": [
"question",
"answer"
],
"additionalProperties": false,
"title": "Question and answer"
},
"minItems": 1,
"maxItems": 6,
"title": "Questions and answers",
"description": "One to six questions, each a buyer's message with your answer under it, in the order they are shown. The first that fit the frame are there at the start; each of the others arrives in turn with your typing before the answer, adding a few seconds each. Never promise a rate or an approval in an answer: it depends on the buyer's circumstances."
},
"closing": {
"type": "string",
"maxLength": 100,
"title": "Closing message",
"description": "Your last message, over the button, such as Got a question of your own? Ask me."
},
"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 handle, an app, a phone number."
}
},
"additionalProperties": false,
"title": "Call to action",
"description": "The button at the end and the line under it, such as a web address, a handle or a phone number."
},
"representative": {
"type": "string",
"maxLength": 320,
"title": "Representative example",
"description": "Leave it out unless an answer names a rate or a cost: then the rules where you advertise ask for the representative example, and it is shown at the foot of every frame in the strong weight, set smaller rather than cut. Nothing in this clip shows a rate by itself."
},
"legal": {
"type": "string",
"maxLength": 300,
"title": "Legal line",
"description": "Who you are and who regulates you, with your number, and the risk warning your market asks for, such as Your home may be repossessed if you do not keep up repayments on your mortgage. Shown at the foot of every frame, set smaller rather than cut. Required."
},
"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 date chip, each buyer's question and the broker's answer, your closing message, the call to action and the legal line (and the representative example where you add one)."
},
"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_f10c6ae64146?variant=Questions%20buyers%20ask&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": "Questions buyers ask",
"chip": "This week's questions",
"readTicks": true,
"pairs": [
{
"name": "Sam, first-time buyer",
"time": "09:41",
"answer": "Many lenders start at 5%, but 10% opens more doors and usually a lower rate. It depends on you, so let me check your options.",
"question": "How big a deposit do I really need?",
"answerTime": "09:42"
},
{
"name": "Anna and Tom",
"time": "09:44",
"answer": "A longer fix gives you certainty, a shorter one flexibility. If your budget is tight, certainty tends to win. Let us compare both on your figures.",
"question": "Is it better to fix for two years or five?",
"answerTime": "09:45"
},
{
"name": "Priti, buying with a partner",
"time": "09:47",
"answer": "It depends on the lender and the deal. I always tell you the fee, in writing, before you decide anything.",
"question": "Do I pay you a fee?",
"answerTime": "09:48"
},
{
"name": "Jordan, self-employed",
"time": "09:50",
"answer": "Your income, your outgoings and your credit history. Having three months of payslips and statements ready makes it much faster.",
"question": "What will a lender look at?",
"answerTime": "09:51"
}
],
"closing": "Got a question of your own? Ask me.",
"cta": {
"label": "Ask your question",
"detail": "keystone.example/ask or 020 7946 0321"
},
"representative": "Representative example: borrowing 250,000 over 25 years at 4.29% fixed for 5 years, then 7.49% variable for 20 years, 1,357 a month then 1,738; total amount payable 499,680 including fees of 999. Overall cost for comparison 6.1% APRC.",
"legal": "Keystone Mortgages Ltd is authorised and regulated by the Financial Conduct Authority, FRN 123456. Your home may be repossessed if you do not keep up repayments on your mortgage.",
"look": {
"logo": "auto",
"pace": "standard",
"align": "start",
"theme": "brand",
"corners": "round",
"logoSize": "auto"
}
},
"metaData": {
"title": "Four questions first-time buyers ask a mortgage broker",
"captionTiny": "Four questions buyers ask a mortgage broker: deposit, fixing, fees and what lenders look at. Your home may be repossessed if you do not keep up repayments.",
"captionShort": "Four questions buyers ask a mortgage broker, answered: how big a deposit you need, whether to fix for two years or five, whether you pay a fee, and what a lender looks at. Got a question of your own? Ask me. Your home may be repossessed if you do not keep up repayments on your mortgage.",
"captionMedium": "Four questions buyers ask a mortgage broker. How big a deposit do I really need? Many lenders start at 5%, but 10% opens more doors. Fix for two years or five? A longer fix gives certainty, a shorter one flexibility. Do I pay a fee? It depends on the lender, and I always tell you in writing first. What will a lender look at? Your income, outgoings and credit history. Got a question of your own? Ask me. Your home may be repossessed if you do not keep up repayments on your mortgage.",
"captionLong": "Four questions buyers ask a mortgage broker, and the answers. How big a deposit do I really need? Many lenders start at 5%, but 10% opens more doors and usually a lower rate, so let us check your options. Is it better to fix for two years or five? A longer fix gives you certainty and a shorter one flexibility; if your budget is tight, certainty tends to win. Do I pay a fee? It depends on the lender and the deal, and I always tell you the fee, in writing, before you decide anything. What will a lender look at? Your income, your outgoings and your credit history, and having three months of payslips and statements ready makes it much faster. Every answer depends on your circumstances, so if you have a question of your own, ask me. Keystone Mortgages Ltd is authorised and regulated by the Financial Conduct Authority, FRN 123456. Your home may be repossessed if you do not keep up repayments on your mortgage.",
"hashtags": [
"mortgagequestions",
"firsttimebuyer",
"mortgage",
"deposit",
"mortgagebroker"
]
}
}
}

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.