Beehiiv MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Beehiiv MCP Servershow my publications and the latest posts in each"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Beehiiv MCP Server & CLI
Beehiiv MCP server and CLI for Claude Code, Codex and AI agents. 117 tools: 70 reads and 47 confirmed writes for publications, newsletters, subscriptions, automations, analytics, polls, referral programs, tiers, podcast feeds and webhooks.
One package gives you two ways in: beehiiv-mcp connects the tools to your AI app, and beehiiv-cli makes the same tools shell commands. Claude Desktop also has a bundled .mcpb extension.
Built and maintained by Navid Moazzez. Built on Slipway, which turns one definition of each tool into the MCP server and the CLI. Complete installation and private account setup are in INSTALL.md.
The terminal illustrates shipped tools and the draft workflow. It is a presentation preview, not a live account send.
You need a private Beehiiv API key or your own authorized OAuth integration. Endpoint plan/scope permissions apply; Send API creation requires eligible Pro/Enterprise access. The community wrapper preserves AGPL-3.0-or-later licensing; Beehiiv service charges remain separate. This is not a Beehiiv-endorsed product.
Beehiiv already has an official account MCP and a separate documentation MCP. A community task CLI also exists. The comparison below records their scopes; this package claims no broader coverage, and section 7 has its measured token costs.
Two ways to use it
Command line
npm install -g @thenavidm/beehiiv-mcp-cli@latest
beehiiv-cli
beehiiv-cli list-publications --help
beehiiv-cli schema create-post
beehiiv-cli list-publications --limit 5 --agentConfigure credentials privately first. Every write requires --confirm; --agent and --yes never authorize account changes.
MCP server, for your AI app
claude mcp add --scope user beehiiv -- npx -y @thenavidm/beehiiv-mcp-cli@latestThen ask: "Show the publications I can access. Read the latest posts in the publication I choose." Full client/OS configuration is in INSTALL.md.
Which one
Where you work | What to use |
Claude Code, Codex, Cursor or another shell agent | MCP, CLI or both |
Claude Desktop chat | Local MCP or the desktop bundle |
Scripts/CI | CLI, or an MCP client |
Web clients that accept only remote MCP URLs | Official hosted Beehiiv MCP |
Related MCP server: Ghost MCP Server
Features
Capability | CLI command | MCP tool |
Allowed publications | beehiiv-cli list-publications | list_publications |
Newsletter posts | beehiiv-cli list-posts / get-post | list_posts / get_post |
Draft and update | beehiiv-cli create-post / update-post | create_post / update_post |
Subscriptions | beehiiv-cli list-subscriptions / create-subscription | list_subscriptions / create_subscription |
Automations | beehiiv-cli list-automations | list_automations |
Webhooks | beehiiv-cli create-webhook | create_webhook |
Private accounts | beehiiv-cli list-accounts | list_accounts |
Setup diagnosis | beehiiv-cli doctor | CLI utility |
Contents
Number | Section | What it covers |
1 | Practical prompts and coverage | |
2 | MCP, CLI and desktop | |
3 | Credentials, OAuth and eligibility | |
4 | Clients and OS routes | |
5 | Doctor and first read | |
6 | Scripts, JSON and stable exit codes | |
7 | Measured in Claude Code and Codex, and how to spend less | |
8 | All 117 tools and arguments | |
9 | Drafts, sending and audience work | |
10 | Cursor/offset pagination and callbacks | |
11 | Accounts versus publications | |
12 | Confirmation, read-only and retries | |
13 | Shared handlers and releases | |
14 | Hosts, private data and local files | |
15 | Credentials, safety and tuning | |
16 | Updates and disconnecting | |
17 | Symptoms and remedies | |
18 | Official and community alternatives | |
19 | Versions and legacy migration | |
20 | Accordion questions |
1. What you can ask it
Show publications this credential can access.
Summarize the latest five posts and their statistics.
Find this subscriber in the intended publication.
Draft the newsletter I requested and leave it unscheduled.
Read the current subscriber list before the audience change I requested.
Inspect referral rewards, segments, automations or private podcast subscriptions.
The snapshot contains 116 operations plus the local account helper: 117 tools, 70 reads and 47 confirmed writes. Areas include publications, posts, subscriptions, automations, custom fields, segments, polls, referral programs, tiers, webhooks, ad offers, analytics, newsletter lists, exports and privacy requests. Plan and OAuth scope requirements apply to each operation.
Checked: build/typecheck, 31 tests and real local discovery. Live account sends and desktop GUI installation remain unverified; section 7 has the measured token costs. API coverage does not imply full Beehiiv UI or official MCP feature parity.
2. Quick install
npm install -g @thenavidm/beehiiv-mcp-cli@latest
beehiiv-cli --version
beehiiv-cli
beehiiv-cli list-publications --help
beehiiv-cli schema create-post
beehiiv-cli loginNode 22 or newer is required for CLI/manual MCP installation. Discovery works before authentication. login explains private setup; it does not open a browser or save credentials. Download the desktop .mcpb from GitHub Releases. Full client/OS instructions are in INSTALL.md.
3. Set up Beehiiv access
API key for personal automation
Sign in to Beehiiv.
Open Settings > API under Workspace Settings.
Choose Create New API Key. Name the integration and restrict its publications where appropriate.
Save the newly shown key in private local settings. It cannot be viewed again after leaving the page.
Set
BEEHIIV_API_KEYin the process/client that launches the package, then run doctor and a read.
Use the current key instructions. Keys use Bearer authentication. Requests to publications outside a restricted key's scope return 404, and workspace-wide data deletion returns 403. A password is not an API key. The package does not load .env files automatically. GUI clients may not inherit a terminal environment.
Your own OAuth integration
Register a client through Beehiiv support. Use your own client ID, exact registered callback, a verified random state and PKCE for public clients. Authorization uses https://app.beehiiv.com/oauth/authorize; exchange/refresh uses https://app.beehiiv.com/oauth/token with application/x-www-form-urlencoded. Confidential clients also supply their private client secret.
Request only the documented scopes needed by the user. The default identify:read scope does not authorize all account reads/writes. The tool catalog records upstream endpoint scope labels. The test-send endpoint is labeled only posts upstream; confirm its required granted action through current Beehiiv permissions rather than treating that label as an OAuth scope to request. identify_oauth_user requires an OAuth session. This package does not provide a hosted callback, borrow another CLI's OAuth app or implement the initial browser consent flow.
Save the authorized token response and your app settings to a private regular JSON file outside the repo:
{"access_token":"YOUR_ACCESS_TOKEN","refresh_token":"YOUR_REFRESH_TOKEN","client_id":"YOUR_OWN_APP_ID","client_secret":"YOUR_CONFIDENTIAL_APP_SECRET"}Omit client_secret for a public client. Include the real issued created_at/expires_in metadata when available. Set BEEHIIV_TOKENS_FILE to the absolute path. Files must be regular, at most 64 KB; symlinks are refused. Protect POSIX files with mode 0600 and Windows folders with user-only ACLs. Refresh updates files atomically. Without a file, environment-based refreshed state lasts only in that process. OAuth access tokens take precedence over an API key.
Rate limits and disconnecting
Current API limits are Free 30, Lite 180, Pro 500 and Enterprise 800 requests/minute. The wrapper defaults to conservative 2,000 ms pacing per account. Configure a supported interval when your plan and shared credential traffic justify it. Other processes also count; a response header after an idle period alone is not a complete plan eligibility check.
Revoke the API key or authorized app in Beehiiv, remove private client settings and reconnect. Uninstalling the package does not revoke credentials, delete remote subscribers or unschedule posts.
4. Connect your client
The full commands and private configurations are in INSTALL.md. Common registrations, after privately configuring account credentials:
claude mcp add --scope user beehiiv -- npx -y @thenavidm/beehiiv-mcp-cli@latest
claude mcp list
codex mcp add beehiiv -- npx -y @thenavidm/beehiiv-mcp-cli@latest
codex mcp listClaude Desktop can install the .mcpb release or use manual JSON. Cursor, Windsurf and Gemini CLI use their user MCP settings; VS Code supports secure prompted inputs; Zed uses context_servers. Local Cline/Roo-style clients accept the same stdio command through their MCP setup UI. A local stdio process is not a public HTTP connector for ChatGPT on the web. Beehiiv's official hosted MCP at https://mcp.beehiiv.com/mcp is the appropriate remote option there.
Desktop settings accept a sensitive API key or a private OAuth token-file path. OAuth integrations require the documented scopes and identify_oauth_user requires OAuth. Custom extension availability depends on your installed host and organization policy.
Let an agent guide setup
Help me install Beehiiv MCP Server & CLI using INSTALL.md. Check Node and the binary, let me configure my account credentials privately, then run discovery and doctor --network. Do not send email or change subscribers during setup.
For shell agents, make SKILL.md available through the client's supported skills location. npm installation does not register the skill automatically.
5. Check it works
beehiiv-cli --version
beehiiv-cli doctor
beehiiv-cli doctor --network
beehiiv-cli list-publications --limit 1 --agent
beehiiv-cli list-accounts --agentThe local doctor checks configuration. The network doctor reads allowed publications without returning private account content. It does not send email, reactivate a subscription or change an account. An empty permitted publication list can be valid. A successful read does not establish every endpoint's plan or scope permissions. Read-only discovery exposes 70 tools.
6. Output, flags and exit codes
Tool names become dashed commands: get_post becomes beehiiv-cli get-post. Both exact underscore tool names and dashed forms are accepted. Argument names have dashed aliases: post_id is --post-id. Use help and schema to discover each operation's current input.
beehiiv-cli tools
beehiiv-cli get-post --help
beehiiv-cli schema get-post
beehiiv-cli get-post --publication-id pub_00000000-0000-0000-0000-000000000000 --post-id post_00000000-0000-0000-0000-000000000000 --agentFlag | Behavior |
| Current schema-derived arguments and defaults |
| Structured JSON output |
| Compact JSON on one line |
| Compact JSON and no prompts; never confirms a write |
| Keep selected fields; dotted paths descend through objects and arrays |
| No terminal colors |
| No interactive prompts |
| House noninteractive flag; never substitutes for |
| Explicit confirmation for the requested guarded operation |
| Select a configured local account on API tools |
| Complete request body as one JSON object |
| Complete request body from a local regular JSON file, at most 5 MB |
Body flags and payload/payload_file are mutually exclusive. Path and query flags remain separate. Objects take JSON; array flags repeat once per array item. Do not pass an array to a flag that expects a single item:
beehiiv-cli list-subscriptions --publication-id pub_00000000-0000-0000-0000-000000000000 --limit 10 --agent
beehiiv-cli create-post --publication-id pub_00000000-0000-0000-0000-000000000000 --payload-file /absolute/private/path/newsletter.json --confirm --agentNull and complete bodies
Use an actual JSON null in payload for nullable values. A shell --field null is a string. For example, a headers object can use null values to suppress inherited headers, per reviewed upstream prose. Discover the complete schema before editing nested fields.
Code | Meaning |
0 | Success |
1 | Unexpected error |
2 | Invalid arguments or refused write, an unknown command or a hidden write |
3 | Resource not found |
4 | Authentication or permission failure |
5 | Other API/transport failure |
7 | Rate limited |
10 | Missing or invalid private configuration |
Results go to stdout; errors are JSON on stderr. --select controls local result rendering, not the original API response. Arrays of objects use repeated JSON-item flags; payload/payload_file is easier for a complex post block tree.
7. MCP or CLI and token cost
Both surfaces are the same program with the same 117 tools. The difference is when the model pays for them. Measured in Claude Code:
Cost | MCP server | CLI |
Every message, with every tool loaded | 138,000 tokens | nothing |
Every message, Claude Code's default | 2,000 tokens | nothing |
When Beehiiv comes up | nothing more, or the tools it picks | 1,400 tokens for |
Claude Code's tool search
is on by default: it sends only the tool names and the server instructions,
and loads a tool's full definition when the model reaches for it. An app that
loads every tool up front pays the first line on every message, and most of it
is the four post tools: a post body can hold 33 kinds of block, each written
once under $defs, about 40 KB per tool.
To spend less, BEEHIIV_READ_ONLY=1 leaves the 70 reads, and --select keeps
only the fields you name from a result. Or install the CLI and add the server
on the days it earns its place.
Measured on 2026-10-05 with Claude Code 2.1.286 on Claude Opus 5.5: one short
prompt with and without the server connected, once with
ENABLE_TOOL_SEARCH=false and once with the default, the difference read from
the API's own usage figures. SKILL.md was measured the same way. Other apps
and models count tokens a little differently.
Against 2.0.1, measured the same day: every tool loaded costs 138,012 tokens
instead of 655,428, because 2.0.1 spelled each block's parts out wherever they
appeared, twice per post tool, and 3.0.0 writes each repeated part once. Tool
search is the same within 2 tokens (2,011 against 2,010), and SKILL.md costs
60 more, because it now says how approval works over MCP and lists every exit
code. In Codex 0.159.3 on gpt-6.1-sol, the same task, "find the command that
creates a draft post, and the flags it requires", read a median of 84,440
input tokens on 3.0.0 against 86,352 on 2.0.1 over the CLI, five runs each:
every 3.0.0 run asked which (208 characters) where 2.0.1's read the full
command list (9,966). Two 2.0.1 runs stopped on a provider capacity error, so
the CLI medians use pairs 1, 4, 5, 6 and 7. Over MCP, Codex prints its own
TypeScript rendering of the tool list and cuts it to about 10,000 tokens. That
rendering is 907 tokens longer on 3.0.0, 61,486 against 60,579: in the part
Codex kept, 2.0.1's reads unknown six times, for lists of segment and tier
IDs nested four levels deep in the post tools, and 3.0.0's spells every type
out. The input totals carry that difference, a median of 77,584 against
77,354.
8. Every tool and argument
The following tools and argument tables come from actual MCP discovery. API paths and OAuth scopes come from the pinned official snapshot. OAuth scopes apply to OAuth integrations; API keys instead use workspace/publication permissions. Body requirements are enforced at execution even when the complete body is supplied through payload.
Tool | API | Mode | OAuth scope |
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Write, confirms |
|
|
| Write, confirms |
|
|
| Read |
|
|
| Read |
|
|
| Read |
|
| Local settings | Read | Not applicable |
Shared input rules
All API tools accept account for a private named account. Every write also takes confirm: set it true only when the user asked for exactly that action. Body tools accept either their individual body arguments, payload containing the whole JSON object, or payload_file pointing to a regular local JSON file up to 5 MB. These body routes are mutually exclusive; path/query inputs stay separate. schema <command> returns every nested property and validation rule.
Only tools whose native schema contains cursor expose all_pages and max_items. Do not invent cursor input on offset-only endpoints. Tool and argument underscores have dashed CLI aliases.
Complete arguments
list_ad_network_offers
Get ad offers. Reads account data. OAuth integrations require posts:read.
beehiiv-cli list-ad-network-offers --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
create_ad_network_offer
Accept ad offer. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
beehiiv-cli create-ad-network-offer --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The ID of the ad offer to accept. |
| string | Body | The ID of the advertisement creative to use. |
| string | Body | The ID of the post where the advertisement should be inserted. |
| string | No | Plain text displayed before the advertisement. Maximum 200 characters and cannot contain URLs. Available only when custom ad introductions are enabled for the publication. |
ad_network_offers_advertisements
Get ad offer advertisements. Reads account data. OAuth integrations require posts:read.
beehiiv-cli ad-network-offers-advertisements --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the ad offer. |
list_ad_network_reports
Get ad network reports. Reads account data. OAuth integrations require posts:read.
beehiiv-cli list-ad-network-reports --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object. Pattern: |
| integer | No | A limit between 1 and 100. Defaults to 10. Minimum: |
| integer | No | The page of reports to return. Defaults to 1. Minimum: |
| string | No | Include reports for advertisements sent on or after this date in |
| string | No | Include reports for advertisements sent on or before this date in |
ad_network_reports_summary
Get ad network report summary. Reads account data. OAuth integrations require posts:read.
beehiiv-cli ad-network-reports-summary --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object. Pattern: |
| string | No | Include reports for advertisements sent on or after this date in |
| string | No | Include reports for advertisements sent on or before this date in |
ad_network_reports_account_summary
Get account ad network report summary. Reads account data. OAuth integrations require posts:read.
beehiiv-cli ad-network-reports-account-summary --helpArgument | Type | Required | Meaning and constraints |
| string | No | Include reports for advertisements sent on or after this date in |
| string | No | Include reports for advertisements sent on or before this date in |
list_advertisement_opportunities
Get advertisement opportunities. Reads account data. OAuth integrations require posts:read.
beehiiv-cli list-advertisement-opportunities --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
list_authors
List authors. Reads account data.
beehiiv-cli list-authors --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | Optionally filter authors by full name or first name (case-insensitive). |
get_author
Get author. Reads account data.
beehiiv-cli get-author --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The author identifier. This accepts a prefixed author ID, full name, or first name. |
add_subscriber_to_automation
Add subscription to an automation. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require automations:write.
beehiiv-cli add-subscriber-to-automation --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the automation object Pattern: |
| string | No | The email address associated with the subscription. |
| string | No | The prefixed ID of the subscription. Pattern: |
| string | No | Override the publication's default double opt-in settings for this subscription. Possible values are: - "on" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - "off" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - "not_set" : The publication's default double opt-in settings will be applied to this subscription. |
list_automation_journeys
List automation journeys. Reads account data. OAuth integrations require automations:read.
beehiiv-cli list-automation-journeys --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the automation object Pattern: |
| string | No | Optionally filter the results by the automation journey's status. Default: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
get_automation_journey
Get automation journey. Reads account data. OAuth integrations require automations:read.
beehiiv-cli get-automation-journey --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the automation object Pattern: |
| string | Yes | The prefixed automation journey id Pattern: |
list_automations
List automations. Reads account data. OAuth integrations require automations:read.
beehiiv-cli list-automations --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | No | Optional list of expandable objects. Values: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
get_automation
Get automation. Reads account data. OAuth integrations require automations:read.
beehiiv-cli get-automation --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the automation object Pattern: |
| string | No | Optional list of expandable objects. Values: |
automations_list_emails
List automation emails. Reads account data.
beehiiv-cli automations-list-emails --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the automation object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. Obtain it from the |
| integer | No | Deprecated: Use |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
create_bulk_subscription
Bulk create subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli create-bulk-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | Body | Subscriptions (body input). Array items: object. |
list_bulk_subscription_updates
List subscription updates. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli list-bulk-subscription-updates --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
get_bulk_subscription_update
Get subscription update. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli get-bulk-subscription-update --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the Subscription Update object |
replace_bulk_subscription_update
Update subscriptions. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli replace-bulk-subscription-update --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | No | An array of objects representing the subscriptions to be updated (max 1000). Array items: object. |
update_bulk_subscription_update
Update subscriptions. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli update-bulk-subscription-update --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | No | An array of objects representing the subscriptions to be updated (max 1000). Array items: object. |
bulk_subscription_updates_put_status
Update subscriptions' status. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli bulk-subscription-updates-put-status --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | Body | An array of subscription IDs to be updated Array items: string. |
| string | Body | The new status to set for the subscriptions |
bulk_subscription_updates_patch_status
Update subscriptions' status. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli bulk-subscription-updates-patch-status --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | Body | An array of subscription IDs to be updated Array items: string. |
| string | Body | The new status to set for the subscriptions |
create_subscription
Create subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli create-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The email address of the subscription. |
| boolean | No | Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing. Default: |
| boolean | No | Send welcome email (body input). Default: |
| string | No | The source of the subscription. |
| string | No | The medium of the subscription |
| string | No | The acquisition campaign of the subscription |
| string | No | The acquisition term; typically the keyword or search term |
| string | No | The acquisition content; typically used for A/B testing or ad variations |
| string | No | The website that the subscriber was referred from |
| string | No | This should be a subscribers referral_code. This gives referral credit for the new subscription. |
| array | No | The custom fields must already exist for the publication. Any new custom fields here will be discarded. Array items: object. |
| string | No | Override the publication's default double opt-in settings for this subscription. Possible values are: - "on" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - "off" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - "not_set" : The publication's default double opt-in settings will be applied to this subscription. |
| string | No | The tier for this subscription. Values: |
| array | No | An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with |
| array | No | An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with |
| string | No | The Stripe customer ID for this subscription. Pattern: |
| array | No | Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active Add by API trigger. Array items: string. |
| array | No | An array of newsletter list prefixed IDs to subscribe the new subscription to. The newsletter lists must belong to the same publication. Array items: string. |
| boolean | No | When true, the subscriber will not be auto-subscribed to newsletter lists configured with auto-subscribe. Defaults to false. |
| string | No | The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication. Pattern: |
list_subscriptions
List subscriptions. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli list-subscriptions --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | No | Optional list of expandable objects. |
| string | No | Optionally filter the results by a status Default: |
| string | No | Optionally filter the results by a their tier Default: |
| string | No | Optionally filter the results by one or multiple premium tiers |
| string | No | Optionally filter the results by one or multiple premium tier ids |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. See the Pagination Guide for more details. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. This method is deprecated and limited to 100 pages maximum. Please migrate to cursor-based pagination using the |
| string | No | Optional email address to find a subscription. This param must be an exact match and is case insensitive. |
| string | No | The field that the results are sorted by. Defaults to created |
| string | No | The direction that the results are sorted in. Defaults to asc |
| string | No | Optional date entry (in the format YYYY/MM/DD) that filters returned subscriptions by their creation date. |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
list_complimentary_access
List complimentary access. Reads account data. OAuth integrations require complimentary_access:read.
beehiiv-cli list-complimentary-access --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | No | Optional list of expandable objects. |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Use this opaque cursor token to fetch the next page of results. Obtain the value from |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
get_complimentary_access
Get complimentary access. Reads account data. OAuth integrations require complimentary_access:read.
beehiiv-cli get-complimentary-access --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the complimentary access object Pattern: |
| string | No | Optional list of expandable objects. |
list_condition_sets
List condition sets. Reads account data. OAuth integrations require condition_sets:read.
beehiiv-cli list-condition-sets --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| string | No | Filter condition sets by purpose. When not specified, all active condition sets are returned. Values: |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
get_condition_set
Get condition set. Reads account data. OAuth integrations require condition_sets:read.
beehiiv-cli get-condition-set --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The UUID of the condition set object |
| array | No | Optionally expand the response to include additional data. |
create_custom_field
Create custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
beehiiv-cli create-custom-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The type of value being stored in the custom field. Values: |
| string | Body | Display (body input). |
list_custom_fields
List custom fields. Reads account data. OAuth integrations require custom_fields:read.
beehiiv-cli list-custom-fields --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
get_custom_field
Get custom field. Reads account data. OAuth integrations require custom_fields:read.
beehiiv-cli get-custom-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the Custom Fields object |
update_custom_field
Update custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
beehiiv-cli update-custom-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the Custom Fields object |
| string | No | Display (body input). |
patch_custom_field
Update custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
beehiiv-cli patch-custom-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the Custom Fields object |
| string | No | Display (body input). |
delete_custom_field
Delete custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
beehiiv-cli delete-custom-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the Custom Fields object |
create_data_deletion
Create data deletion request. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require data_deletion:write.
beehiiv-cli create-data-deletion --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The email address of the subscriber to delete. |
list_data_deletion
List data deletion requests. Reads account data. OAuth integrations require data_deletion:read.
beehiiv-cli list-data-deletion --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
get_data_deletion
Get data deletion request. Reads account data. OAuth integrations require data_deletion:read.
beehiiv-cli get-data-deletion --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the data deletion request |
list_engagements
Get publication engagements. Reads account data. OAuth integrations require publications:read.
beehiiv-cli list-engagements --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication. Pattern: |
| string | No | The starting date for the engagement metrics in |
| integer | No | The number of days to return engagement metrics for, starting from |
| string | No | The granularity at which to report the engagement metrics. Defaults to |
| string | No | Filter engagement metrics by email type. If omitted, all email engagement is included. |
| string | No | The direction that the results are sorted in. Defaults to |
list_exports
List subscription exports. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli list-exports --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. See the Pagination Guide for more details. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. This method is deprecated and limited to 100 pages maximum. Please migrate to cursor-based pagination using the |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
create_export
Create subscription export. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli create-export --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | Which column set the export uses Values: |
| string | No | Optional prefixed ID of a segment to scope the export to. When omitted the export covers the whole publication. A segment that does not exist, or belongs to another publication, answers 404. Pattern: |
get_export
Get subscription export. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli get-export --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the Subscription Export object Pattern: |
list_newsletter_lists
List newsletter lists. Reads account data. OAuth integrations require newsletter_lists:read.
beehiiv-cli list-newsletter-lists --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | The direction that the results are sorted in. Defaults to asc |
create_newsletter_list
Create newsletter list. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli create-newsletter-list --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The name of the newsletter list. |
| string | No | A description of the newsletter list. |
| string | No | A unique slug for the newsletter list. Auto-generated from the name if not provided. |
| boolean | No | Whether new subscribers are automatically subscribed to this list. |
| boolean | No | Whether the list appears on the subscriber Manage Preferences page, where subscribers can opt in to or out of it. Defaults to |
| object | No | The sending identity for posts sent to this list. Any field omitted is inherited from the publication. |
| object | No | Custom email headers for posts sent to this list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to |
| string | No | The utm_source appended to links in posts sent to this list. |
| string | No | The utm_medium appended to links in posts sent to this list. |
| string | No | The utm_campaign appended to links in posts sent to this list. |
| boolean | No | Whether UTM parameters are appended to links in posts sent to this list. Omit to inherit from the publication. |
get_newsletter_list
Get newsletter list. Reads account data. OAuth integrations require newsletter_lists:read.
beehiiv-cli get-newsletter-list --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
update_newsletter_list
Update newsletter list. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli update-newsletter-list --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| string | No | The name of the newsletter list. |
| string | No | A description of the newsletter list. |
| string | No | A unique slug for the newsletter list. |
| boolean | No | Whether new subscribers are automatically subscribed to this list. |
| boolean | No | Whether the list appears on the subscriber Manage Preferences page, where subscribers can opt in to or out of it. Archived lists cannot be shown; archiving a list hides it. |
| string | No | The status of the newsletter list. Valid values are |
| object | No | The sending identity for posts sent to this list. Only the provided fields within this object will be updated. |
| object | No | Custom email headers for posts sent to this list. When provided, this replaces all existing headers on the list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to |
| string | No | The utm_source appended to links in posts sent to this list. |
| string | No | The utm_medium appended to links in posts sent to this list. |
| string | No | The utm_campaign appended to links in posts sent to this list. |
| boolean | No | Whether UTM parameters are appended to links in posts sent to this list. When left unset on the list, falls back to the publication. |
delete_newsletter_list
Delete newsletter list. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli delete-newsletter-list --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
create_newsletter_list_subscription
Create newsletter list subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli create-newsletter-list-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| string | No | The prefixed ID of the subscription to subscribe. Either subscription_id or email must be provided. Pattern: |
| string | No | The email address of the subscription to subscribe. Either subscription_id or email must be provided. |
list_newsletter_list_subscriptions
List newsletter list subscriptions. Reads account data. OAuth integrations require newsletter_lists:read.
beehiiv-cli list-newsletter-list-subscriptions --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| string | No | The direction that the results are sorted in. Defaults to asc |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
get_newsletter_list_subscription
Get newsletter list subscription. Reads account data. OAuth integrations require newsletter_lists:read.
beehiiv-cli get-newsletter-list-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| string | Yes | The prefixed ID of the newsletter list subscription object Pattern: |
update_newsletter_list_subscription
Update newsletter list subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli update-newsletter-list-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| string | Yes | The prefixed ID of the newsletter list subscription object Pattern: |
| boolean | No | Set to true to unsubscribe the subscription from this newsletter list. |
newsletter_list_subscriptions_update_by_subscription_id
Update newsletter list subscription by subscription ID. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli newsletter-list-subscriptions-update-by-subscription-id --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| string | Yes | The prefixed ID of the subscription Pattern: |
| boolean | No | Set to true to unsubscribe the subscription from this newsletter list. |
newsletter_list_subscriptions_create_import
Create newsletter list subscriber import. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
beehiiv-cli newsletter-list-subscriptions-create-import --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
| string | No | The ID of a boolean custom field. Only subscribers with this field set to |
| string | No | The name of a subscriber tag. Only subscribers with this tag are added. Cannot be combined with |
newsletter_list_subscriptions_get_import
Get newsletter list subscriber import. Reads account data. OAuth integrations require newsletter_lists:read.
beehiiv-cli newsletter-list-subscriptions-get-import --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the newsletter list object Pattern: |
identify_oauth_user
Identify user. Reads account data. OAuth integrations require identify:read. OAuth access token required; API key identity is not this endpoint.
beehiiv-cli identify-oauth-user --helpNo operation-specific arguments. See shared inputs above.
podcasts_list_podcasts
List podcasts. Reads account data. OAuth integrations require podcasts:read.
beehiiv-cli podcasts-list-podcasts --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. Obtain the value from |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| string | No | Optionally filter the results by the status of the podcast. |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
podcasts_get_podcast
Get podcast. Reads account data. OAuth integrations require podcasts:read.
beehiiv-cli podcasts-get-podcast --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
podcasts_get_private_feed
Get private feed. Reads account data. OAuth integrations require podcasts:read.
beehiiv-cli podcasts-get-private-feed --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
| string | Yes | The prefixed ID of the subscription Pattern: |
podcasts_get_private_feed_by_email
Get private feed by email. Reads account data. OAuth integrations require podcasts:read.
beehiiv-cli podcasts-get-private-feed-by-email --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
| string | Yes | The URL-encoded email address of the subscription |
podcasts_send_private_feed_email
Send private feed email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require podcasts:write.
beehiiv-cli podcasts-send-private-feed-email --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
| string | Yes | The prefixed ID of the subscription Pattern: |
podcasts_send_private_feed_email_by_email
Send private feed email by email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require podcasts:write.
beehiiv-cli podcasts-send-private-feed-email-by-email --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
| string | Yes | The URL-encoded email address of the subscription |
podcasts_list_episodes
List podcast episodes. Reads account data. OAuth integrations require podcasts:read.
beehiiv-cli podcasts-list-episodes --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. Obtain the value from |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| string | No | Optionally filter the results by the status of the episode. |
| string | No | The field that the results are sorted by. Defaults to |
| string | No | The direction that the results are sorted in. Defaults to desc |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
podcasts_get_episode
Get podcast episode. Reads account data. OAuth integrations require podcasts:read.
beehiiv-cli podcasts-get-episode --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the podcast Pattern: |
| string | Yes | The prefixed ID of the episode Pattern: |
list_polls
List polls. Reads account data. OAuth integrations require polls:read.
beehiiv-cli list-polls --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| string | No | The field that the results are sorted by. Defaults to created. |
| string | No | The direction that the results are sorted in. Defaults to asc. |
| array | No | Optionally expand the response to include additional data. |
| string | No | Filter to only return polls that were embedded in the specified post. Accepts a prefixed post ID (e.g. |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
get_poll
Get poll. Reads account data. OAuth integrations require polls:read.
beehiiv-cli get-poll --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the poll object Pattern: |
| array | No | Optionally expand the response to include additional data. |
polls_list_responses
List poll responses. Reads account data. OAuth integrations require polls:read.
beehiiv-cli polls-list-responses --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the poll object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Minimum: |
| string | No | The field that the results are sorted by. Defaults to created. Default: |
| string | No | The direction that the results are sorted in. Defaults to asc. |
| array | No | Optionally expand the response to include additional data. |
| string | No | Filter to only return responses collected via the specified post. Accepts a prefixed post ID (e.g. |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
create_post
Create post. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write. Defaults to draft. Creation is asynchronous; inspect the existing post ID before repeating a write.
beehiiv-cli create-post --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | No | The structured content blocks that make up the post. Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. You can embed raw HTML snippets within blocks using the |
| string | No | The content of the post as a single raw HTML string. The HTML is wrapped in an |
| string | Body | The title of the post. |
| string | No | The subtitle of the post. |
| string | No | The ID of the template to use for the post. If not provided, the default template will be used. Pattern: |
| string | No | The status of the post. If not provided, the default ( |
| string | No | The time in which the post will be published. If not provided, the post will be published immediately unless |
| boolean | No | If true, custom link tracking will be enabled for this post. If not provided, the default value will be used. |
| string | No | The email capture type to use for this post. If not provided, the default value will be used. Values: |
| string | No | If you wish to display a date other than the scheduled_at date in the email, you can provide a date here. This will not affect the actual publish date of the post. Format: |
| string | No | The social share type to use for this post. If not provided, the default value will be used. Values: |
| string | No | The URL of the thumbnail image to use for the post. If not provided, the default value will be used. |
| object | No | The recipients to use for this post. If not provided, the default value will be used. Object requires: |
| object | No | The email settings to use for this post. If not provided, the default value will be used. |
| object | No | The web settings to use for this post. If not provided, the default value will be used. |
| object | No | The metadata to use for this post. If not provided, the default value will be used. |
| array | No | The content tags to use for this post. If not provided, the default value will be used. Array items: string. |
| array | No | The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. Obtain IDs from the List Authors endpoint. When provided, replaces all existing guest authors on the post. Array items: string. |
| array | No | The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. Note the List Authors endpoint only returns team members who already have a byline on a published post in this publication, so it will not surface IDs for a team member's first assignment. When provided, replaces all existing team authors on the post. Array items: string. |
| object | No | Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to |
| string | No | The utm_source appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. |
| string | No | The utm_medium appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. |
| string | No | The utm_campaign appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. |
| boolean | No | Whether UTM parameters are appended to links in this post. Omit to inherit from the newsletter list, then the publication. |
| object | No | The custom fields to use for this post. If not provided, the default value will be used. |
| string | No | The prefixed ID of the newsletter list to associate with this post. When provided, the post will only be sent to subscribers of this list. |
list_posts
List posts. Reads account data. OAuth integrations require posts:read.
beehiiv-cli list-posts --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | No | Optionally expand the results by adding additional information. |
| string | No | Optionally filter the results by audience Default: |
| string | No | Optionally filter the results by platform. |
| string | No | Optionally filter the results by the status of the post. |
| array | No | Optionally filter posts by content_tags. Adding a content tag will return any post with that content tag associated to it. Example : Filtering for |
| array | No | Optionally filter posts by their slugs. Adding a slug will return any post with that exact slug associated to it. Example: Filtering for |
| array | No | Optionally filter posts by their authors. Adding an author name will return any post with that author associated to it (case-insensitive). Example: Filtering for |
| array | No | Optionally filter posts by audience based on premium tiers. This takes in an array of Display Names of the premium tiers. It will also scope any expanded content output to the specified premium tiers. Note: This is case insensitive. Array items: string. |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | The field that the results are sorted by. Defaults to created |
| string | No | The direction that the results are sorted in. Defaults to asc |
| string | No | Optionally filter the results by the |
update_post
Update post. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
beehiiv-cli update-post --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the post to update Pattern: |
| string | No | Controls how provided |
| array | No | The structured content blocks for the post. How these interact with existing content depends on |
| string | No | Raw HTML to replace the post's current content. The HTML is wrapped in an |
| string | No | The title of the post. |
| string | No | The subtitle of the post. |
| string | No | The time at which the post will be published. Cannot be updated after the post has already been sent. Format: |
| boolean | No | If true, custom link tracking will be enabled for this post. |
| string | No | The email capture type to use for this post. Values: |
| string | No | A display date that overrides the scheduled_at date shown in the email. Does not affect the actual publish date. Format: |
| string | No | The social share type to use for this post. Values: |
| string | No | The URL of the thumbnail image to use for the post. |
| object | No | The email settings to use for this post. Only the provided fields within this object will be updated. |
| object | No | The web settings to use for this post. Only the provided fields within this object will be updated. |
| object | No | The SEO metadata to use for this post. Only the provided fields within this object will be updated. |
| string | No | Transition the post's status. Use |
| array | No | The content tags for this post. When provided, this replaces all existing content tags on the post. Array items: string. |
| object | No | Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to |
| string | No | The utm_source appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. |
| string | No | The utm_medium appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. |
| string | No | The utm_campaign appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. |
| boolean | No | Whether UTM parameters are appended to links in this post. When left unset on the post, falls back to the newsletter list, then the publication. |
| array | No | The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. When provided, replaces all existing guest authors on the post. Array items: string. |
| array | No | The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. When provided, replaces all existing team authors on the post. Array items: string. |
| object | No | The recipients for this post. When provided, replaces all existing web and email audience targets with the specified values. If omitted, existing targets are unchanged. Object requires: |
| string | No | The prefixed ID of the newsletter list to associate with this post. When provided, updates the newsletter list association. Pass null to remove the association. |
get_post
Get post. Reads account data. OAuth integrations require posts:read.
beehiiv-cli get-post --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the post object Pattern: |
| array | No | Optionally expand the results by adding additional information. |
| array | No | Scope any expanded content output to the specified premium tiers. This takes in an array of Display Names of the premium tiers. Note: This is case insensitive. Array items: string. |
delete_post
Delete post. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
beehiiv-cli delete-post --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the post object Pattern: |
get_post_aggregate_stats
Get aggregate stats. Reads account data. OAuth integrations require posts:read.
beehiiv-cli get-post-aggregate-stats --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | No | Optionally filter the results by audience Default: |
| string | No | Optionally filter the results by platform. |
| string | No | Optionally filter the results by the status of the post. |
| array | No | Optionally filter posts by content_tags. Adding a content tag will return any post with that content tag associated to it. Example: Filtering for |
| array | No | Optionally filter posts by their authors. Adding an author name will return any post with that author associated to it (case-insensitive). Example: Filtering for |
| string | No | Optionally filter the results by the |
send_post_test
Send test email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts.
beehiiv-cli send-post-test --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the post object Pattern: |
| array | Body | One or more email addresses to send the test to. Returns 422 if the daily test send limit has been reached. Array items: string. |
preview_post
Generate post preview URL. Reads account data. OAuth integrations require posts:read.
beehiiv-cli preview-post --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the post object Pattern: |
| string | No |
|
| string | No |
|
| array | No | One or more premium tier IDs to preview as. Only used when |
| string | No | Preview using a specific subscriber's real tier memberships. Takes precedence over |
list_post_templates
Get post templates. Reads account data. OAuth integrations require posts:read.
beehiiv-cli list-post-templates --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | The direction of the request. Defaults to |
| string | No | The field to order by. Defaults to |
create_post_template
Create post template. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
beehiiv-cli create-post-template --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The name of the post template. |
| string | No | The description of the post template. |
| array | No | The structured content blocks posts built from this template start with. Supports the same block types as Create Post, with the exception of |
| string | No | The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an |
| string | No | The URL of the thumbnail image to download for the template. |
| string | No | The social share style posts built from this template start with. Values: |
| string | No | The email capture type posts built from this template start with. Values: |
| array | No | The content tags posts built from this template start with. Tags that do not exist on the publication are created. Array items: string. |
| array | No | The prefixed IDs of the guest authors posts built from this template start with. Guest authors must belong to the publication. Array items: string. |
| array | No | The prefixed IDs of the team members posts built from this template start with as authors. Team authors must have access to the publication. Array items: string. |
| object | No | Custom email headers posts built from this template start with. Set a value to |
| string | No | The utm_source appended to links in posts built from this template. |
| string | No | The utm_medium appended to links in posts built from this template. |
| string | No | The utm_campaign appended to links in posts built from this template. |
| boolean | No | Whether UTM parameters are appended to links in posts built from this template. Omit to inherit from the newsletter list, then the publication. |
| string | No | The prefixed ID of the newsletter list posts built from this template are associated with. |
| object | No | The email settings posts built from this template start with. |
| object | No | The web settings posts built from this template start with. |
post_templates_workspace_index
List workspace post templates. Reads account data. OAuth integrations require posts:read.
beehiiv-cli post-templates-workspace-index --helpArgument | Type | Required | Meaning and constraints |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
post_templates_workspace_create
Create workspace post template. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
beehiiv-cli post-templates-workspace-create --helpArgument | Type | Required | Meaning and constraints |
| string | Body | The name of the post template. |
| string | No | The description of the post template. |
| array | No | The structured content blocks posts built from this template start with. Blocks that need a publication are refused; see the endpoint description. Array items: object. |
| string | No | The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an |
| string | No | The social share style posts built from this template start with. Values: |
| string | No | The email capture type posts built from this template start with. Values: |
| object | No | Custom email headers posts built from this template start with. Set a value to |
| string | No | The utm_source appended to links in posts built from this template. |
| string | No | The utm_medium appended to links in posts built from this template. |
| string | No | The utm_campaign appended to links in posts built from this template. |
| boolean | No | Whether UTM parameters are appended to links in posts built from this template. Omit to inherit from the newsletter list, then the publication. |
| object | No | The email settings posts built from this template start with. |
| object | No | The web settings posts built from this template start with. |
post_templates_workspace_show
Get workspace post template. Reads account data. OAuth integrations require posts:read.
beehiiv-cli post-templates-workspace-show --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the post template object Pattern: |
get_post_template
Get post template. Reads account data. OAuth integrations require posts:read.
beehiiv-cli get-post-template --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the post template object Pattern: |
| array | No | Optionally expand the result by adding the rendered HTML of the template. |
list_publication_fields
List publication fields. Reads account data. OAuth integrations require publication_fields:read.
beehiiv-cli list-publication-fields --helpArgument | Type | Required | Meaning and constraints |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| string | No | Filter fields by whether they have been archived. Defaults to |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
create_publication_field
Create publication field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require publication_fields:write.
beehiiv-cli create-publication-field --helpArgument | Type | Required | Meaning and constraints |
| string | Body | The human readable label for the field. |
| string | Body | The type of value the field holds. Values: |
| string | No | The merge tag key for the field, unique within the workspace. Derived from |
| string | No | Where the value for each publication comes from. Defaults to |
| string | No | The value used for publications that have not set one of their own. Required for every kind except |
| string | No | The URL the value is retrieved from. Required when |
| array | No | The keys declared within the fetched JSON response body. Required when |
get_publication_field
Get publication field. Reads account data. OAuth integrations require publication_fields:read.
beehiiv-cli get-publication-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication field object Pattern: |
update_publication_field
Update publication field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require publication_fields:write.
beehiiv-cli update-publication-field --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication field object Pattern: |
| string | No | The human readable label for the field. |
| string | No | The value used for publications that have not set one of their own. |
| string | No | The URL the value is retrieved from. Only supported for fetched fields. May contain merge tags that resolve per publication. |
| array | No | The keys declared within the fetched JSON response body. Replaces the existing list. Only supported for |
| string | No | Set to |
publication_fields_values_index
List publication field values. Reads account data. OAuth integrations require publication_fields:read.
beehiiv-cli publication-fields-values-index --helpArgument | Type | Required | Meaning and constraints |
| string | No | Return one result per field for this publication. Cannot be combined with |
| string | No | Return one result per publication for this field. Cannot be combined with |
| string | No | Filter the fields returned for a publication by whether they have been archived. Only applies alongside |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| string | No | Cursor-based pagination (recommended): Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. |
| integer | No | Offset-based pagination (deprecated): Page number for offset-based pagination. Please migrate to cursor-based pagination using the |
| boolean | No | Read successive cursor pages, bounded by max_items (default 1000). |
| integer | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. Minimum: |
publication_fields_values_update
Assign publication field values. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require publication_fields:write.
beehiiv-cli publication-fields-values-update --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication field object Pattern: |
| object | Body | The value each publication should resolve to, keyed by prefixed publication ID. A null or empty value clears the publication's own value. |
list_publications
List publications. Reads account data. OAuth integrations require publications:read.
beehiiv-cli list-publications --helpArgument | Type | Required | Meaning and constraints |
| array | No | Optionally expand the results by adding additional information like subscription counts and engagement stats. Array items: string. |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | The direction that the results are sorted in. Defaults to asc |
| string | No | The field that the results are sorted by. Defaults to created |
get_publication
Get publication. Reads account data. OAuth integrations require publications:read.
beehiiv-cli get-publication --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| array | No | Optionally expand the results by adding additional information like subscription counts and engagement stats. Array items: string. |
get_referral_program
Get referral program. Reads account data. OAuth integrations require referral_program:read.
beehiiv-cli get-referral-program --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
create_segment
Create segment. Changes account state and requires confirm=true for the user-requested action.
beehiiv-cli create-segment --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | A unique name for the segment that does not already exist in the publication. |
| object | Body | Input for segment creation. Use |
list_segments
List segments. Reads account data. OAuth integrations require segments:read.
beehiiv-cli list-segments --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | No | Optionally filter the results by the segment's type. Default: |
| string | No | Optionally filter the results by the segment's status. Default: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | The field that the results are sorted by. Defaults to created |
| string | No | The direction that the results are sorted in. Defaults to asc |
| array | No | Optionally expand the response to include additional data. |
get_segment
Get segment. Reads account data. OAuth integrations require segments:read.
beehiiv-cli get-segment --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the segment object Pattern: |
| array | No | Optionally expand the response to include additional data. |
delete_segment
Delete segment. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require segments:write.
beehiiv-cli delete-segment --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the segment object Pattern: |
segments_recalculate
Recalculate segment. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require segments:write.
beehiiv-cli segments-recalculate --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the segment object Pattern: |
get_segment_subscribers
List segment subscribers. Reads account data. OAuth integrations require segments:read.
beehiiv-cli get-segment-subscribers --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the segment object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| array | No | Optionally expand the response to include additional data. |
segments_expand_results
List segment subscriber IDs. Reads account data. OAuth integrations require segments:read.
beehiiv-cli segments-expand-results --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the segment object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
get_subscription_by_email
Get subscription by email. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli get-subscription-by-email --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The ID of the subscriber object |
| string | No | Optional list of expandable objects. |
update_subscription_by_email
Update subscription by email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli update-subscription-by-email --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The email of the subscription object |
| string | No | The new email address for the subscription |
| string | No | Optional parameter to set the tier for this subscription. Values: |
| array | No | An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with |
| array | No | An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with |
| string | No | The Stripe Customer ID of the subscription (not required) Pattern: |
| boolean | No | A boolean value specifying whether to unsubscribe this subscription from the publication (not required) |
| array | No | An array of custom field objects to update Array items: object. |
| array | No | An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with |
| array | No | An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in |
| string | No | The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication. Pattern: |
get_subscription
Get subscription by ID. Reads account data. OAuth integrations require subscriptions:read.
beehiiv-cli get-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the subscription object Pattern: |
| string | No | Optional list of expandable objects. |
update_subscription
Update subscription by ID. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli update-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the subscription object Pattern: |
| string | No | Optional parameter to set the tier for this subscription. Values: |
| array | No | An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with |
| array | No | An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with |
| string | No | The new email address for the subscription |
| string | No | The Stripe Customer ID of the subscription (not required) Pattern: |
| boolean | No | A boolean value specifying whether to unsubscribe this subscription from the publication (not required) |
| array | No | An array of custom field objects to update Array items: object. |
| array | No | An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with |
| array | No | An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in |
| string | No | The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication. Pattern: |
patch_subscription
Update subscription by ID. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli patch-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the subscription object Pattern: |
| string | No | The new email address for the subscription |
| string | No | Optional parameter to set the tier for this subscription. Values: |
| array | No | An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with |
| array | No | An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with |
| string | No | The Stripe Customer ID of the subscription (not required) Pattern: |
| boolean | No | A boolean value specifying whether to unsubscribe this subscription from the publication (not required) |
| array | No | An array of custom field objects to update Array items: object. |
| array | No | An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with |
| array | No | An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in |
| string | No | The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication. Pattern: |
delete_subscription
Delete subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli delete-subscription --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the subscription object Pattern: |
add_tags
Add subscription tag. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli add-tags --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication. Pattern: |
| string | Yes | The prefixed ID of the subscription. Pattern: |
| array | No | Tags that can be used to group subscribers Array items: string. |
remove_tag
Remove subscription tag. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
beehiiv-cli remove-tag --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication. Pattern: |
| string | Yes | The prefixed ID of the subscription. Pattern: |
| array | No | Tags to remove from the subscriber Array items: string. |
create_tier
Create a tier. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require tiers:write.
beehiiv-cli create-tier --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | Name (body input). |
| string | No | Description (body input). |
| array | No | Prices attributes (body input). Array items: object. |
list_tiers
List tiers. Reads account data. OAuth integrations require tiers:read.
beehiiv-cli list-tiers --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | No | Optional list of expandable objects. |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
| integer | No | Pagination returns the results in pages. Each page contains the number of results specified by the |
| string | No | The direction that the results are sorted in. Defaults to asc |
get_tier
Get tier. Reads account data. OAuth integrations require tiers:read.
beehiiv-cli get-tier --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the tier object Pattern: |
| string | No | Optional list of expandable objects. |
replace_tier
Update a tier. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require tiers:write.
beehiiv-cli replace-tier --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the tier object Pattern: |
| string | No | Name (body input). |
| string | No | Description (body input). |
| array | No | Prices attributes (body input). Array items: object. |
update_tier
Update a tier. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require tiers:write.
beehiiv-cli update-tier --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the tier object Pattern: |
| string | No | Name (body input). |
| string | No | Description (body input). |
| array | No | Prices attributes (body input). Array items: object. |
create_webhook
Create a webhook. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require webhooks:write.
beehiiv-cli create-webhook --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Body | The webhook URL to send events to. Format: |
| array | Body | The types of events the webhook will receive. Array items: string. |
| string | No | A description of the webhook. |
list_webhooks
List webhooks. Reads account data. OAuth integrations require webhooks:read.
beehiiv-cli list-webhooks --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| integer | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. Minimum: |
get_webhook
Get webhook. Reads account data. OAuth integrations require webhooks:read.
beehiiv-cli get-webhook --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the webhook object Pattern: |
update_webhook
Update webhook. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require webhooks:write.
beehiiv-cli update-webhook --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the webhook object Pattern: |
| array | No | The types of events the webhook will receive. Array items: string. |
| string | No | A description of the webhook. |
delete_webhook
Delete a webhook. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require webhooks:write.
beehiiv-cli delete-webhook --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The prefixed ID of the publication object Pattern: |
| string | Yes | The prefixed ID of the webhook object Pattern: |
workspaces_identify
Identify workspace. Reads account data. OAuth integrations require identify:read.
beehiiv-cli workspaces-identify --helpNo operation-specific arguments. See shared inputs above.
workspaces_permissions
Get workspace permissions. Reads account data. OAuth integrations require identify:read.
beehiiv-cli workspaces-permissions --helpNo operation-specific arguments. See shared inputs above.
workspaces_publications_by_subscription_email
Get publications by subscription email. Reads account data. OAuth integrations require publications:read.
beehiiv-cli workspaces-publications-by-subscription-email --helpArgument | Type | Required | Meaning and constraints |
| string | Yes | The email address to search for subscriptions |
| array | No | Optionally expand the results by adding additional information. |
list_accounts
List private account labels and configured auth methods, without returning credentials or token-file paths. Does not contact Beehiiv.
beehiiv-cli list-accounts --helpNo operation-specific arguments. See shared inputs above.
9. Newsletter and subscription workflows
Create a draft, then inspect the same post
The Send API requires eligible Pro/Enterprise access. Creation accepts a title and exactly one of blocks or body_content. Draft is the default; scheduling a draft is refused. These zero IDs are illustrative, not real account resources: replace them with IDs from Beehiiv before executing.
beehiiv-cli list-posts --publication-id pub_00000000-0000-0000-0000-000000000000 --limit 5 --agent
beehiiv-cli create-post --publication-id pub_00000000-0000-0000-0000-000000000000 --title "Creator notes" --body-content '<p>Your actual newsletter content.</p>' --confirm --agent
beehiiv-cli get-post --publication-id pub_00000000-0000-0000-0000-000000000000 --post-id post_00000000-0000-0000-0000-000000000000 --agentCreation returns an accepted post ID before background processing is complete. The wrapper marks creation_pending. A subsequent HTTP 202 read returns pending state plus Retry-After when present; it does not poll forever or resubmit. Preserve the ID, wait as instructed and read it again. A POST_CREATION_FAILED 404 is a failure. Inspect account state before repeating an unknown write outcome.
Structured blocks, HTML and scheduling
Use beehiiv-cli schema create-post or schema update-post, then a private payload file for nested content. HTML uses inline CSS; style/link tags are stripped by Beehiiv. Template content and content_merge_strategy affect whether the template header/content is preserved. Inspect the rendered draft in Beehiiv before a confirmed scheduling/delivery update. Do not replace a branded template with one paragraph by accident.
An update needs a nonempty body, refuses both blocks and body_content, and validates the current documented fields. A schedule uses the appropriate confirmed status and scheduled_at fields. No local guard or HTTP acceptance establishes successful email delivery.
Subscribers and automations
Discover an existing subscriber and read the intended publication before applying an audience change. Create subscription can reactivate an existing record, send a welcome email, enroll automations or modify paid-tier associations when those fields are supplied. Every write requires confirmation; reading a list is not permission to send or reactivate.
Private podcast feeds, exported account data, billing/advertising-related offers and workspace privacy deletions need particular care. A tool's existence does not imply your key, plan or OAuth scopes permit it. Only perform the user-requested action.
10. Pagination, exports and webhooks
Native cursors and deprecated offset pages
Only 13 reviewed operations expose cursor. They accept all_pages and a max_items cap (default 1,000, maximum 10,000), stop after 100 pages and refuse repeated cursors. The last request size shrinks to the remaining cap so its next cursor does not skip unseen records. Aggregated output reports collected/pages/truncated plus the last pagination object.
Do not mix cursor with page, or all_pages with page. max_items without all_pages is refused. Offset-only tools, including the reviewed list_posts/list_publications schemas, retain deprecated page input capped at 100; they do not receive invented cursor support. The current pagination guide recommends cursor where available, with limit at most 100 and default 10.
beehiiv-cli list-subscriptions --publication-id pub_00000000-0000-0000-0000-000000000000 --limit 25 --agent
beehiiv-cli list-subscriptions --publication-id pub_00000000-0000-0000-0000-000000000000 --all-pages --max-items 500 --agentExports and asynchronous operations
A successful create/export response can mean work was accepted, not that every record is exported. Keep returned job/resource identifiers and inspect the appropriate existing resource. A bounded list is not a complete backup guarantee. Protect response data and download links as private account content.
Webhook receivers
Webhook management requires eligible Lite+ access and appropriate scopes. Create/update the requested endpoint through the API, then retrieve its signing secret privately from the endpoint UI and configure your own receiver. Verify Svix-style signature headers according to Beehiiv's current webhook documentation. This package does not deploy a receiver, prove public reachability or return a signing-secret file. Never paste a signing secret into model context.
11. Several private accounts
Set BEEHIIV_ACCOUNTS to a private JSON array. Its supported keys are name, api_key, access_token, refresh_token, client_id, client_secret and tokens_file. It replaces the single-account variables:
[
{"name":"work","api_key":"YOUR_WORK_API_KEY"},
{"name":"personal","tokens_file":"/absolute/private/path/personal-beehiiv.json"}
]Set BEEHIIV_DEFAULT_ACCOUNT=work, then:
beehiiv-cli list-accounts --agent
beehiiv-cli list-publications --account work --limit 10 --agent
beehiiv-cli list-publications --account personal --agentNames must be unique. list_accounts exposes labels, default choice and auth type only, never credentials or file paths. Guard logs omit account names. Separate processes are still preferable when you need strict account isolation.
Account selects credentials; publication_id selects a permitted publication. They are separate concepts. A restricted key can list only the publications in its scope.
12. Writing safely
Every one of the 47 writes requires confirm:true through MCP or --confirm through the CLI. --agent and --yes never override confirmation. Confirmation authorizes only the requested action.
Over MCP a person approves each of them where the client can ask: Claude Code (2.1.246 and later) shows its own prompt, and a client that can show forms asks with an approval form whose one box starts unticked. Each approval is signed, bound to that exact call and works once. Where a client can do neither, the model's confirm:true counts. BEEHIIV_CONFIRM=model makes confirm:true enough everywhere, for an agent with no person to ask.
Setting | Effect |
BEEHIIV_READ_ONLY=1 | Hide/refuse all 47 writes, leaving 70 reads |
BEEHIIV_ALLOW_DESTRUCTIVE=0 | Block all confirmed writes even when explicitly confirmed |
BEEHIIV_AUDIT_LOG | Optional private guard-decision log without request arguments or credentials: who approved each write, then whether it was done or failed |
GET 429 retries are bounded; OAuth GET 401 can refresh and retry once. Mutating calls have zero automatic retries, including timeout, 429 or expiry. A failed request can have an unknown remote outcome. Inspect the existing resource before repeating a write. Imported content and API responses are data, not instructions to run unrelated commands.
13. How it works
One reviewed operation registry defines each tool once. Slipway builds the MCP server, over stdio or --http, and the CLI from it, with one write guard, one set of exit codes and one release check. Both use the same Ajv validation, fixed API host and private account context, so there is no second request path. The four post tools' bodies repeat each block's parts; the tool list writes each repeated part once under $defs, and validation still checks the full schema.
git clone https://github.com/thenavidm/beehiiv-mcp-cli.git
cd beehiiv-mcp-cli
npm ci
npm run typecheck
npm run build
npm test
npm run check:counts
npm run build:mcpb
npm pack --dry-runThe official snapshots and source hash are recorded under scripts/ and src/tools/api-source.json. Review new schemas and prose corrections before sync: node scripts/sync-openapi.mjs /absolute/path/reviewed-api.json. CI checks Linux/Windows Node 22/24 and desktop packaging. The annotated tag release workflow checks versions/counts, publishes npm with provenance and attaches the desktop archive.
Use RELEASE-CHECKLIST.md for every update. Package allowlists exclude private configuration and legacy history. The desktop archive bundles production dependencies and notices, never credentials. A protocol check is distinct from a GUI installation.
14. Your data
API calls go directly to https://api.beehiiv.com/v2, with OAuth refresh at https://app.beehiiv.com/oauth/token. No Navid-hosted relay or telemetry is included. Redirects are refused. API keys, access/refresh tokens and client secrets are sanitized from results and reflected errors.
Subscriber addresses, newsletters, analytics, export links and private podcast URLs remain authorized private business data, not anonymized information. Your AI client and Beehiiv apply their own retention/sharing policies. Do not treat secret redaction as removal of all account data.
Private token files and optional guard logs stay on the server's machine. Refresh writes an owner-only temporary file and renames it atomically. Guard logs omit arguments, account labels and credentials; they record decisions and attempts, not proof of remote delivery. Logging failure does not block a requested operation. See SECURITY.md for disclosure and dependency limitations.
15. Environment variables
Variable | Default | Meaning |
| Empty | Private personal API key |
| Empty | Authorized OAuth access token |
| Empty | OAuth refresh token |
| Empty | Your registered OAuth client ID |
| Empty | Confidential-client secret; omit for public clients |
| Empty | Absolute regular private OAuth JSON, max 64 KB |
| Empty | Private JSON named accounts; replaces single-account variables |
| First configured account | Default private account label |
| 0 | Hide/refuse all writes when 1 or true |
| 1 | Block all writes when 0 or false |
| None | Private write-guard decision log |
| 30000 | Integer per-request deadline, 100–300000 ms |
| 2 | GET 429 retry count, 0–5 |
| 0 = 2000 ms | 0 selects conservative pacing; otherwise 1–10000 ms |
|
|
|
|
|
|
| None | Give up on any tool after this long |
| 8787, 127.0.0.1, none | For |
| None | Comma-separated browser origins allowed to call |
| 0 |
|
Set values privately in the process/client environment. No .env loader, hosted secret manager or automatic GUI inheritance is included. Full account/client examples are in INSTALL.md.
16. Updates and removal
npm install -g @thenavidm/beehiiv-mcp-cli@latest
beehiiv-cli --version
claude mcp remove --scope user beehiiv
codex mcp remove beehiiv
npm uninstall -g @thenavidm/beehiiv-mcp-cliReinstall a newer desktop archive separately and restart affected clients. Remove manual client entries using its own settings. Uninstalling the package does not revoke Beehiiv credentials, remove private token/secret files or unschedule email. Revoke/delete keys or authorized apps in Beehiiv when appropriate. Inspect and remove private files yourself after preserving any private data you still need.
Pin a reviewed version instead of @latest if your automation requires reproducibility. Check CHANGELOG.md and GitHub Releases before a major update. Do not roll back by blindly publishing an older version over an existing npm version.
17. Troubleshooting
Symptom | Resolution |
Binary missing | Node 22+, npm global prefix/PATH, reopen terminal |
Doctor exit 10 | Repair private credentials/accounts/timeout settings |
GUI auth differs | Configure the GUI process; shell variables may not be inherited |
401 | Check Bearer key/token, OAuth expiry/revocation |
403 | Plan, scopes, roles or workspace restrictions |
Publication 404 | Resource absence or publication-scoped key restriction |
Post HTTP 202 | Pending processing; keep the ID and honor Retry-After |
POST_CREATION_FAILED 404 | Failed creation; inspect existing state before another submission |
Create post refused | Title and exactly one content method; eligible Pro/Enterprise access |
First page only | Native cursor where exposed; offset-only page remains deprecated |
429 | Respect actual plan/shared credential limits; never blindly repeat writes |
Unknown write outcome | Inspect account state before repeating |
Extension rejected | Compatible host/runtime and custom-extension policy |
Webhook receiver fails | Check your receiver and private signature verification; package does not host it |
18. API coverage and comparisons
Offering | Surface | Reviewed scope | Tradeoff |
Hosted MCP at | Account reads on all plans; writes on paid plans, with existing role permissions | Hosted setup and UI operations beyond the API; excludes publishing/scheduling/sending posts and activating automations | |
| Read developer documentation | Does not operate an account | |
This implementation | Local stdio MCP, shared task CLI and released desktop bundle | Documented v2 operations, private named accounts, bounded native cursor retrieval, write guards and no automatic mutation retries | Local configuration/maintenance; endpoint scopes and plans apply; live account outcomes pending |
Community Go task CLI | OAuth, operating-system credential storage and task commands; distribution includes Homebrew and Windows routes | Already a useful CLI alternative; compare requested commands and output rather than declaring CLI absence | |
| API client for application code | Different interface from a task CLI; review the SDK's version and request retry policy for writes |
COMPARISON.md records dated primary sources, API/MCP differences and what remains unverified. No competitor token, latency or success-rate advantage is asserted.
19. Versions
Component | Version / source |
Package and desktop manifest | 3.0.1 |
Runtime | Node 22 or newer |
Beehiiv API | v2; 116 pinned operations, reviewed 2026-10-02 |
Slipway | 0.1.17 |
MCP TypeScript SDK, through Slipway | 2.3.0 |
Source provenance | api-source.json with exact source hash and reviewed corrections |
CHANGELOG.md records dated versions. Version 2 replaces the private MCP-only 1.0.0 source with current API coverage, a shared CLI and desktop packaging. Existing documented tool names remain where the current endpoints exist. Unsupported email-blast helpers are removed; use current post creation/update and the intended newsletter-list fields on eligible plans.
Use publication_id from list_publications, current prefixed resource IDs and native schemas. Review consent/reactivation/welcome-email fields, scheduling status and irreversible privacy operations. Private account instructions and old Git history remain private. Preserve the existing AGPL license.
20. FAQ
It exposes account operations to an AI client through structured tools. This package runs locally over stdio; it does not host a public remote connector.
beehiiv-cli exposes the same tools as shell commands through the shared MCP implementation. Use it with scripts or an agent that can run terminal commands.
Yes. The official account MCP supports reads on all plans and writes on paid plans. Its UI capabilities differ from API coverage. A separate documentation MCP only reads developer docs.
It provides a local task CLI, named private accounts, bounded native cursor retrieval and explicit write guards. Eligible Send API workflows are another API-specific difference. No broader coverage is claimed; section 7 has the measured token costs of this package alone.
Yes. The community deldrid1/beehiiv-cli already offers a Go task CLI with OAuth and OS credential storage. Compare actual requested commands, install preferences and outputs.
The wrapper preserves AGPL-3.0-or-later licensing. Beehiiv account plans, API eligibility and service charges remain separate; installing npm does not upgrade an account.
Open Workspace Settings > API in Beehiiv and choose Create New API Key. Save it privately when shown. Optional publication restrictions limit what it can access.
No. Configure it in private local shell or client settings as BEEHIIV_API_KEY. Never paste keys, tokens or signing secrets into chat, issues, repositories or public transcripts.
No. It prints setup instructions. OAuth integrations use your own registered client and callback. Beehiiv support handles client registration; public clients need PKCE.
The desktop archive bundles production dependencies and uses a sensitive API-key setting or private OAuth token-file path. Custom-extension policy and a compatible host/runtime apply. Archive/protocol checks are distinct from a GUI installation.
This package requires local stdio support. A web client accepting only remote MCP URLs needs Beehiiv’s official hosted server, subject to the client’s connector support.
Creation defaults to draft and requires confirmation. Send API access requires eligible Pro/Enterprise permissions. Setting confirmed status and delivery options changes the operation; inspect the requested audience and schedule explicitly.
The existing post is still processing. Preserve its post ID and Retry-After guidance and read that same post later. Pending is not a completed send or permission to create another post.
No. Create requires exactly one of structured blocks or body_content. Updates refuse both and require a nonempty body. Use the current schema for nested block shapes and HTML/template constraints.
No. Mutating POST, PUT, PATCH and DELETE requests have zero automatic retries, including timeouts and rate limits. Inspect account state before repeating an action with an unknown outcome.
Use all_pages only on a tool that exposes native cursor input. max_items bounds retrieval and reduces the last page size so the returned cursor does not skip unseen records. Offset-only page inputs remain deprecated and capped at 100.
Named private accounts select credentials with --account. Each publication-specific tool takes publication_id separately. Use list_publications to discover the publications allowed by that credential.
It may not exist, or it may be outside the API key’s publication restrictions. A scoped key also cannot perform workspace-wide data deletion. Check the intended credential and permissions.
Get them privately through the Beehiiv webhook endpoint UI on an eligible plan, then configure signature verification in your own receiver. The wrapper does not deploy a receiver or supply a signing-secret rotation service.
It depends on the client and the task. In Claude Code the CLI costs nothing until it is used, plus about 1,400 tokens for SKILL.md once, where the server costs about 2,000 tokens a message with tool search and 138,000 with every tool loaded. In Codex, finding the command that creates a draft post took a median of 84,440 input tokens over the CLI and 77,584 over MCP. Section 7 has how each was measured.
Questions
Open an issue with the version/client and a sanitized reproduction. Security reports go privately through SECURITY.md.
About the author
Navid Moazzez is a leading AI business strategist, and the host of the AI Creator Summit, watched by 100,000+ creators. He helps creators and founders master AI and build their own AI Operating System (AI OS) to automate their business and life. He creates useful free tools, MCP servers and CLIs that creators and founders can use in their own workflows.
Links
Personal website: navid.me
Link in bio: navid.bio
Navid Media: navid.media
YouTube: @thenavidm and @thenavidai
X: @thenavidm
Instagram: @thenavidm
LinkedIn: thenavidm
Dependencies
Dependency | Version range | Used for |
| The MCP server and the CLI from one definition of each tool, with the MCP TypeScript SDK | |
|
| JSON Schema input validation |
|
| JSON Schema input validation |
Full third-party attribution is in THIRD_PARTY_NOTICES.md. Development tooling and its audit limitations are documented in SECURITY.md.
License
AGPL-3.0-or-later, preserving the existing source license. See LICENSE, the full AGPL text and THIRD_PARTY_NOTICES.md. Beehiiv service/documentation terms remain separate.
© 2026 Navid Media. Made with ❤️ by Navid Moazzez.
Available Tools
117 toolsadd_subscriber_to_automationAdd subscription to an automationADestructive
Add subscription to an automation. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require automations:write.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The email address associated with the subscription. | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| automation_id | Yes | The prefixed ID of the automation object | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | No | The prefixed ID of the subscription. | |
| double_opt_override | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds context the annotations do not carry: that it changes account state, that confirm=true is gated on an explicit user request, and that OAuth integrations need automations:write. It does not say whether the change is reversible or how a subscriber already in the automation is handled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the mutation and the confirm precondition front-loaded before the auth requirement. The opening sentence largely restates the title, which is the only wasted text, but overall there is no padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter mutation with a nested payload object and no output schema, the description covers the two things an agent could not infer from structured fields: the confirm gate and the required OAuth scope. The mutual exclusivity of payload, payload_file and body flags is handled by the schema descriptions, so the gap is small.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 89%, so the schema already documents the id patterns, email, account, payload, payload_file and double_opt_override fields. The description only surfaces 'confirm', which the schema also explains. Baseline 3 is appropriate when the schema carries nearly all parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: adding a subscription to an automation, which is unambiguous about the operation. However, it does not distinguish this from adjacent siblings such as create_subscription or update_subscription, so an agent gets no routing help beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete precondition ('requires confirm=true for the user-requested action') and notes the OAuth scope needed, which is real usage guidance. It stops short of saying when this tool is the right choice versus create_subscription or the various update_subscription variants, so the when-to-use-vs-alternative question is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_tagsAdd subscription tagBDestructive
Add subscription tag. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags that can be used to group subscribers | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication. | |
| subscription_id | Yes | The prefixed ID of the subscription. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, but the description adds genuinely new context: that the call changes account state, that confirm=true is mandatory for user-requested actions, and that OAuth integrations need the subscriptions:write scope. The auth-scope disclosure in particular is not available in the annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and immediately followed by the state-change warning and the confirm/auth requirements. Minimal waste; the only redundancy is the title-echoing first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with 7 parameters, full schema coverage, and no output schema, the description covers the essentials an agent needs before calling: state change, confirmation requirement, and auth scope. It leaves nested-payload and bulk nuances to the schema, which is acceptable at 100% coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the semantics of confirm and implies the OAuth scope needed, but adds no syntax, format, or precedence guidance beyond the schema — notably it never addresses the payload vs. body-flags mutual exclusion that the schema documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence is a verbatim restatement of the tool title ('Add subscription tag'), so it does little more than confirm the name/resource pair. It does establish the resource scope (a subscription's tags) and, together with the name, distinguishes it from the remove_tag sibling, but no explicit differentiation is stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'requires confirm=true for the user-requested action' clause gives an implied usage condition (only invoke when the user asked for exactly this action). However, no alternatives are named or excluded — nothing tells the agent when to prefer remove_tag, update_subscription, or patch_subscription instead, and part of the guidance duplicates the confirm parameter's own schema description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ad_network_offers_advertisementsGet ad offer advertisementsBRead-onlyIdempotent
Get ad offer advertisements. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| offer_id | Yes | The ID of the ad offer. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds one genuinely useful, non-derivable fact - the OAuth scope requirement (posts:read) - but 'Reads account data' merely restates readOnlyHint and nothing is said about pagination or response shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core action front-loaded and zero filler. The trailing auth-scope sentence is terse and earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with full schema coverage, complete annotations and no output schema, the description is minimally sufficient. It still leaves the agent unsure how this differs from the adjacent list endpoints, which is the main gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so publication_id, offer_id and the optional account are all documented in the schema itself. The description adds no syntax, format, or defaulting information beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Get') and a reasonably specific resource ('ad offer advertisements'), and the required publication_id/offer_id pair reinforces what is being fetched. It does not, however, distinguish itself from siblings like list_ad_network_offers or list_advertisement_opportunities, so the agent cannot tell which one to pick from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no named alternative among the many ad-network siblings. The agent is left to infer that this is the per-offer detail fetch rather than a list endpoint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ad_network_reports_account_summaryGet account ad network report summaryBRead-onlyIdempotent
Get account ad network report summary. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| end_date | No | Include reports for advertisements sent on or before this date in `YYYY-MM-DD` format. | |
| start_date | No | Include reports for advertisements sent on or after this date in `YYYY-MM-DD` format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the full safety profile (readOnly, idempotent, openWorld, non-destructive), lowering the burden. The description contributes genuinely new context: 'Reads account data' confirms the access scope, and 'OAuth integrations require posts:read' discloses a required permission scope that appears nowhere in the annotations or schema. Only return-shape behavior is left unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding or filler. The only redundancy is the title-echoing opening sentence, but overall it is tight and appropriately sized for a simple read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only report tool with no output schema and no required parameters, the description covers the access scope and auth requirement. However, it omits what the summary actually contains and how it differs from its near-duplicate siblings, leaving real ambiguity an agent could resolve incorrectly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (account, start_date, end_date) are already fully documented with format and defaults. The description adds no parameter-level meaning on top of that, which is the correct baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence is a near-verbatim restatement of the title and name ('Get account ad network report summary'), so it identifies the verb and resource but adds no information beyond the tool's own name. It also fails to distinguish this tool from near-identical siblings such as ad_network_reports_summary and list_ad_network_reports. Purpose is inferable but not meaningfully clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus the very similar siblings ad_network_reports_summary or list_ad_network_reports. No prerequisites or exclusion conditions are given. The agent gets no routing guidance at all.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ad_network_reports_summaryGet ad network report summaryCRead-onlyIdempotent
Get ad network report summary. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| end_date | No | Include reports for advertisements sent on or before this date in `YYYY-MM-DD` format. | |
| start_date | No | Include reports for advertisements sent on or after this date in `YYYY-MM-DD` format. | |
| publication_id | Yes | The prefixed ID of the publication object. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful operational detail beyond that — 'OAuth integrations require posts:read' — but says nothing about return format, rate limits, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loads the purpose in the first sentence. The second sentence ('Reads account data') is somewhat redundant with the readOnly annotation, but the overall text is tight enough that this is a minor issue.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only summary tool with a 100%-covered schema and full annotations, the description covers the essentials but omits sibling differentiation and any indication of what the summary actually contains. The missing when-to-use context is the main gap for correct tool selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including the publication_id pattern and date range semantics. The description adds no parameter-level detail beyond what the schema provides, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Get ad network report summary'), so the basic purpose is clear. However, it does not distinguish this tool from close siblings like ad_network_reports_account_summary or list_ad_network_reports, leaving the agent to infer the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance is provided. 'Reads account data' is a generic statement rather than a usage condition, and the description never names an alternative or explains when this summary is preferable to the sibling report tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
automations_list_emailsList automation emailsCRead-onlyIdempotent
List automation emails. Reads account data.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Deprecated**: Use `cursor` instead. Pagination returns the results in pages. Limited to 100 pages maximum. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. Obtain it from the `next_cursor` field of a previous response. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| automation_id | Yes | The prefixed ID of the automation object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is fully covered by structured data. The description's only behavioral claim, 'Reads account data,' restates the read-only hint and adds no new information such as pagination behavior, truncation, or account-scoping effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action, with no filler or repetition. The brevity is efficient even though it leaves substantive gaps that are penalized under other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is an 8-parameter paginated list tool with a deprecated page param, a recommended cursor flow, an all_pages/max_items bulk mode with truncation and continuation-cursor semantics, and no output schema. None of that pagination or truncation behavior is explained, leaving the agent reliant entirely on the schema to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and the schema itself documents all 8 parameters including the deprecated page, cursor pagination, all_pages, max_items, and the prefixed ID patterns. Per the baseline rule for high coverage, a 3 is appropriate since the description adds nothing beyond the schema but is not required to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is a verbatim restatement of the tool name and title ('List automation emails'), which is the definition of tautology. It gives no scope, no distinguishing detail versus siblings such as list_automations, get_automation, or list_automation_journeys, so an agent cannot tell which automation-related read tool this is without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives among the many sibling automation tools. The only additional sentence ('Reads account data.') is a safety/scope note, not usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_subscription_updates_patch_statusUpdate subscriptions' statusADestructive
Update subscriptions' status. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| new_status | No | The new status to set for the subscriptions | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_ids | No | An array of subscription IDs to be updated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes beyond the annotations (destructiveHint=true, idempotentHint=false) by disclosing that the operation changes account state, that a confirm flag gates it, and that a specific OAuth scope is required. It does not explain reversibility or the effect of the bulk update on existing subscriptions, but the added auth/confirmation context is meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the core action front-loaded and no redundancy. It could be slightly richer given the tool's complexity, but every sentence carries weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, nested-object mutation with no output schema, the description covers the risk-critical aspects (confirmation gate, auth scope, state change) and the full schema fills in the parameter details. The main gap is disambiguation from the closely named PATCH/PUT siblings, which an agent must still resolve on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters including the mutually exclusive payload/payload_file/body-flags relationship. The description echoes the confirm parameter's meaning but adds no format or constraint detail beyond the schema, matching the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update subscriptions' status') and the scope is bulk, so an agent can identify the operation. However, it does not distinguish itself from the very similar sibling `bulk_subscription_updates_put_status` or `replace_bulk_subscription_update`, leaving the PATCH-vs-PUT choice to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Adds two useful invocation conditions: confirm=true is required for user-requested actions, and OAuth integrations need the subscriptions:write scope. It gives no guidance on when to choose this PATCH path over the PUT/replace siblings that target the same resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
bulk_subscription_updates_put_statusUpdate subscriptions' statusBDestructive
Update subscriptions' status. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| new_status | No | The new status to set for the subscriptions | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_ids | No | An array of subscription IDs to be updated |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent behavior, so the safety profile is covered. The description adds genuinely useful context beyond that: it discloses that account state changes, that confirm=true is mandatory, and that OAuth integrations need the subscriptions:write scope. This is meaningful extra disclosure over the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the safety and auth notes. Every sentence carries information and there is no padding, though it is too terse to fully exploit the space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive bulk-update tool with 7 parameters, a nested payload object, and no output schema, the description covers purpose, confirmation, and auth but omits bulk semantics, the publication_id requirement, and the mutually exclusive payload/payload_file/body-flag input modes. It is minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema, setting the baseline at 3. The description only echoes the confirm requirement and adds no format or relational detail (e.g. how payload, payload_file, and body flags interact), so it does not add value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Update subscriptions' status'), which is clear enough on its own. However, it does not differentiate this bulk operation from the many similar siblings such as bulk_subscription_updates_patch_status, update_bulk_subscription_update, or replace_bulk_subscription_update, so an agent cannot tell them apart from the text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage-relevant statement is that confirm=true is required for the user-requested action, which is a precondition rather than when-to-use guidance. There is no indication of when to choose this PUT-status variant over the PATCH or update siblings, so alternative selection is left entirely to inference from tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_ad_network_offerAccept ad offerADestructive
Accept ad offer. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| post_id | No | The ID of the post where the advertisement should be inserted. | |
| offer_id | No | The ID of the ad offer to accept. | |
| custom_intro | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| advertisement_id | No | The ID of the advertisement creative to use. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive/not-read-only/non-idempotent, but the description adds genuinely new context: it mutates account state, demands explicit confirm for the exact requested action, and names the OAuth scope (posts:write). It does not note reversibility or rate limits, keeping it at a 4.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse sentences, front-loaded with the action, then the safety requirement, then the auth requirement. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter, nested-payload mutation with no output schema, the description covers the critical call-shaping facts (confirm gate, auth scope, state change). It omits the payload-vs-body-flags/payload_file mutual exclusion, though the schema itself documents that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 89%, so parameters such as offer_id, advertisement_id, post_id, confirm, and payload are already well documented in the schema. The description adds no parameter-level syntax or format detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Accept ad offer') that an agent can immediately distinguish from read siblings like list_ad_network_offers. However, it never names the counterpart read tool or the related ad_network_offers_advertisements, so sibling routing is left to inference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The confirm=true clause ('only when the user asked for exactly this action') gives useful invocation context, but the description offers no when-not guidance, no prerequisites, and no mention of the alternative offer-listing tool. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_bulk_subscriptionBulk create subscriptionBDestructive
Bulk create subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| subscriptions | No | ||
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the mutation risk is covered. The description usefully adds two things annotations cannot express: the confirm=true gate tied to explicit user intent, and the subscriptions:write OAuth requirement. It still omits partial-batch failure behavior, but the added context is substantive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the confirm/auth constraints are front-loaded. The leading sentence is wasted on a title restatement, but the overall entry is tight and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive bulk mutation with 6 parameters, nested objects, and no output schema, the description omits what matters most: whether a partially invalid batch fails atomically or partially, what the response contains, and any batch-size limits. The confirm and auth notes partially compensate, but the gaps are meaningful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83% and the nested SubscriptionRequest is thoroughly documented, so the schema carries the parameter semantics. The description only elaborates on one parameter (confirm) and says nothing about payload vs payload_file vs body flags, which the schema itself already explains. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, "Bulk create subscription," only restates the tool name and title without adding scope, verb detail, or differentiation. It does not contrast with the sibling create_subscription or explain what 'bulk' means (batch size, per-item failure handling). An agent learns nothing from this beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one real condition: the tool changes account state and requires confirm=true for the user-requested action, plus an OAuth scope requirement. However, it offers no routing guidance versus create_subscription (single) or the bulk_subscription_updates family, which are the obvious alternatives an agent would weigh.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_custom_fieldCreate custom fieldBDestructive
Create custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | The type of value being stored in the custom field. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| display | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, so the safety profile is partly covered; the description meaningfully adds that it changes account state, mandates confirm=true, and requires the OAuth scope custom_fields:write. That auth-scope detail is real behavioral value beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler, and the confirm/auth requirements are front-loaded. The only minor waste is the first sentence restating the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 7-parameter mutation with a nested payload and no output schema, the description covers the critical safety (confirm=true), state-change, and OAuth-scope facts. The payload-vs-payload_file-vs-flags distinction is left entirely to the schema, but that is documented there, keeping this largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents nearly all parameters including the confirm semantics and the payload/payload_file relationship. The description's mention of confirm adds only slight emphasis over what the schema states, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence 'Create custom field' is a clear verb+resource, but it essentially restates the tool name/title and adds no differentiation from siblings like create_publication_field or create_tier. An agent knows it creates a custom field but gets nothing to distinguish it from adjacent create tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a conditional tied to the confirm flag ('for the user-requested action') but never states when to use this tool versus the other create_* siblings, nor any prerequisites beyond the auth scope. No explicit when/when-not guidance is present.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_data_deletionCreate data deletion requestADestructive
Create data deletion request. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require data_deletion:write.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The email address of the subscriber to delete. | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and openWorldHint=true. The description goes beyond that by naming the concrete consequence ('changes account state'), the confirm=true safety gate, and the OAuth scope needed — all real behavioral context an agent cannot get from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the action and then the two constraints. Every clause carries information; nothing is padding. It is slightly clipped rather than fully structured, but efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter destructive mutation with a nested payload object and no output schema, the description covers the safety gate and auth but omits what the call returns, whether the deletion is immediate or queued, and how the payload/payload_file alternatives relate to the individual flags. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented in the schema (including confirm's semantics and the payload/payload_file mutual exclusion). The description only echoes confirm=true, adding emphasis but no new syntax or format detail, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create data deletion request'), which is unambiguous on its own. However, it does not differentiate itself from the sibling read-side tools (list_data_deletion, get_data_deletion) that an agent will also see, so the agent must infer this is the write counterpart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a prerequisite ('requires confirm=true for the user-requested action') and an auth requirement ('OAuth integrations require data_deletion:write'), which is useful gating context. It does not, however, say when to prefer this over delete_subscription or other deletion-adjacent siblings, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_exportCreate subscription exportBDestructive
Create subscription export. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| variant | No | Which column set the export uses | |
| segment_id | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds meaningful context on top: it changes account state, it gates on confirm=true, and OAuth integrations need the subscriptions:write scope. The auth requirement and confirm gate are genuine value-adds. It stops short of 5 because it does not say whether the export is asynchronous, where the artifact lands, or what the returned reference is.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the safety gate, then the auth requirement. No waste, though the opening sentence is redundant with the title and could have been spent on differentiating content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with no output schema and seven parameters, the description covers the confirm gate and auth scope but omits the outcome: what the export yields, whether it is a long-running job, and how the result is retrieved (get_export/list_exports). The exclusion between payload and body flags is left entirely to the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents account, payload, variant, segment_id, payload_file, and publication_id in detail. The description only touches confirm, and even that largely restates the schema's own "Set true only when the user asked for exactly this action." Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, "Create subscription export," is essentially a verbatim restatement of the tool title, so it adds no information beyond the name. It is a clear verb+resource but never explains what an export is, what it produces, or how it differs from siblings like get_export and list_exports. Adequate but with a real gap.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Requires confirm=true for the user-requested action" implies the tool should only be invoked on an explicit user request, which is useful gating. However, no alternatives are named (get_export, list_exports) and no when-not-to-use conditions are given. Usage is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_newsletter_listCreate newsletter listADestructive
Create newsletter list. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the newsletter list. | |
| slug | No | A unique slug for the newsletter list. Auto-generated from the name if not provided. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| headers | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| utm_medium | No | The utm_medium appended to links in posts sent to this list. | |
| utm_source | No | The utm_source appended to links in posts sent to this list. | |
| description | No | A description of the newsletter list. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| utm_campaign | No | The utm_campaign appended to links in posts sent to this list. | |
| auto_subscribe | No | Whether new subscribers are automatically subscribed to this list. | |
| email_settings | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| utm_params_enabled | No | Whether UTM parameters are appended to links in posts sent to this list. Omit to inherit from the publication. | |
| show_in_preference_center | No | Whether the list appears on the subscriber Manage Preferences page, where subscribers can opt in to or out of it. Defaults to `false`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is known. The description adds genuinely new context beyond the annotations: it changes account state, requires a confirm=true gate, and needs the newsletter_lists:write scope. It still does not say what a non-idempotent create does on repeat calls or what the response returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with zero filler: the action first, then the state-change/confirm requirement, then the auth scope. Every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter, nested-object, no-output-schema tool, the schema is rich (88% coverage) and the annotations carry the safety profile, so the description does not need to restate field semantics. It fills the key gaps an agent cannot infer from structure alone (state mutation, confirm gate, OAuth scope), though it says nothing about the multiple body-input modes (payload, payload_file, flags).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already documents nearly all 16 parameters in detail (payload vs. flags, utm fields, email_settings, headers). The description only touches the confirm parameter, adding no syntax or format meaning beyond what the schema provides, which makes the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ("Create newsletter list") that maps unambiguously to the create operation, distinguishing it from sibling verbs like update_newsletter_list and delete_newsletter_list. It is clear but does not explicitly name or contrast with those siblings, which keeps it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete usage rule: confirm=true is required "for the user-requested action," and states the OAuth scope (newsletter_lists:write) needed for integrations. That is clear context for invoking the tool correctly, but no alternatives or when-not conditions are offered, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_newsletter_list_subscriptionCreate newsletter list subscriptionADestructive
Create newsletter list subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| No | The email address of the subscription to subscribe. Either subscription_id or email must be provided. | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | No | The prefixed ID of the subscription to subscribe. Either subscription_id or email must be provided. | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, but the description adds context the annotations do not: it mutates account state, requires an explicit confirm=true gate, and demands the newsletter_lists:write OAuth scope. That is real added value. It stops short of describing reversibility or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and then the two constraints (confirm gate, OAuth scope). No filler. "Changes account state" is slightly vague but the sentence still earns its place as a mutation warning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 8-parameter tool with a nested payload object and no output schema, the description covers the essentials an agent needs before invoking: state mutation, the confirm gate, and the required OAuth scope. It omits interaction rules between payload/payload_file/body flags and any return information, but those gaps are largely handled by the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters, including the nested payload/payload_file alternates and the subscription_id-or-email rule, are already documented in the schema. The description only echoes the confirm parameter, adding no syntax or format meaning beyond the structured data, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Create newsletter list subscription"), which is clear enough to distinguish it from list/get/update newsletter-list-subscription siblings. It does not, however, contrast itself with the closely related create_subscription or create_bulk_subscription tools, so an agent must infer the boundary.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The line "requires confirm=true for the user-requested action" gives a concrete usage rule for the confirm flag, which is genuinely useful. But there is no guidance on when to choose this tool over create_subscription, update_newsletter_list_subscription, or the bulk variants, and no explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_postCreate postADestructive
Create post. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write. Defaults to draft. Creation is asynchronous; inspect the existing post ID before repeating a write.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The title of the post. | |
| blocks | No | ||
| status | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| headers | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| subtitle | No | The subtitle of the post. | |
| recipients | No | ||
| utm_medium | No | The utm_medium appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. | |
| utm_source | No | The utm_source appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. | |
| body_content | No | ||
| content_tags | No | The content tags to use for this post. If not provided, the default value will be used. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| scheduled_at | No | ||
| seo_settings | No | ||
| social_share | No | ||
| utm_campaign | No | The utm_campaign appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. | |
| web_settings | No | ||
| custom_fields | No | The custom fields to use for this post. If not provided, the default value will be used. | |
| email_settings | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| team_author_ids | No | ||
| guest_author_ids | No | ||
| post_template_id | No | ||
| newsletter_list_id | No | The prefixed ID of the newsletter list to associate with this post. When provided, the post will only be sent to subscribers of this list. | |
| utm_params_enabled | No | Whether UTM parameters are appended to links in this post. Omit to inherit from the newsletter list, then the publication. | |
| thumbnail_image_url | No | The URL of the thumbnail image to use for the post. If not provided, the default value will be used. | |
| override_scheduled_at | No | ||
| email_capture_type_override | No | The email capture type to use for this post. If not provided, the default value will be used. | |
| custom_link_tracking_enabled | No | If true, custom link tracking will be enabled for this post. If not provided, the default value will be used. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful context beyond the annotations: the confirm=true gate, the required OAuth scope, the draft default, and an async-creation warning that instructs the agent to inspect the existing post ID before retrying. This reinforces the non-idempotent/destructive hints with actionable retry guidance. It stops shy of 5 because it doesn't describe what the returned result looks like or send-side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and dense: each sentence carries a distinct behavioral fact (mutation, confirm, auth, default, async/retry). The opening 'Create post.' largely restates the name/title, a minor redundancy in an otherwise efficient definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 31-parameter destructive mutation with no output schema, the description covers the critical agent-facing concerns: state change, confirm requirement, auth scope, draft default, and async/retry semantics. What it omits (return shape, downstream sending implications, the payload vs. flat-flag choice) is partly handled by the schema, leaving it good but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 31 parameters and only 55% schema description coverage, the description should compensate for the gap but barely does. It only alludes to 'confirm' and the 'status' default ('defaults to draft'), both of which are already documented in the schema, leaving roughly half the parameters undocumented in either place.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource (create a post) and pairs it with the concrete behavioral constraints of the operation. It does not explicitly distinguish itself from nearby siblings like update_post, preview_post, or create_post_template, so an agent must infer the distinction, keeping it short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real usage conditions: confirm=true is required for the user-requested action, OAuth needs posts:write, and the post defaults to draft. However, it never names alternatives or states when NOT to use this tool (e.g., vs update_post for edits), so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_post_templateCreate post templateCDestructive
Create post template. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the post template. | |
| blocks | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| headers | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| utm_medium | No | The utm_medium appended to links in posts built from this template. | |
| utm_source | No | The utm_source appended to links in posts built from this template. | |
| description | No | The description of the post template. | |
| body_content | No | ||
| content_tags | No | The content tags posts built from this template start with. Tags that do not exist on the publication are created. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| social_share | No | The social share style posts built from this template start with. | |
| utm_campaign | No | The utm_campaign appended to links in posts built from this template. | |
| web_settings | No | ||
| email_settings | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| team_author_ids | No | ||
| guest_author_ids | No | ||
| newsletter_list_id | No | The prefixed ID of the newsletter list posts built from this template are associated with. | |
| utm_params_enabled | No | Whether UTM parameters are appended to links in posts built from this template. Omit to inherit from the newsletter list, then the publication. | |
| thumbnail_image_url | No | The URL of the thumbnail image to download for the template. | |
| email_capture_type_override | No | The email capture type posts built from this template start with. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, so the safety profile is partly covered. The description nonetheless adds two concrete behavioral facts not in annotations: the confirm=true gating requirement and the posts:write OAuth scope. It stops short of describing side effects or reversibility, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the confirm and scope constraints. No filler, though the opening sentence carries almost no information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 23-parameter tool with deeply nested block objects and no output schema, the description is far too thin. It omits how to structure the body, the advertisement exclusion on templates, and any differentiation from sibling creation tools, leaving the agent to infer structure entirely from the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 70% and the description adds no parameter-level detail at all. It does not explain the mutually exclusive `payload` vs individual-flag vs `payload_file` pattern or how `blocks`/`headers` should be supplied. With the schema carrying most of the burden, a baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Create post template' is a tautology that simply restates the tool name and title. It does not distinguish this tool from the close sibling `post_templates_workspace_create`, nor does it clarify scope (which publication/workspace) beyond what the schema shows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It mentions that confirm=true is required 'for the user-requested action,' which is a usage precondition, but offers no when-to-use vs when-not guidance and never names an alternative. The sibling `post_templates_workspace_create` and `create_post` go unmentioned, so the agent cannot tell which creator to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_publication_fieldCreate publication fieldADestructive
Create publication field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require publication_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | The type of value the field holds. | |
| name | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| display | No | The human readable label for the field. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| endpoint_url | No | The URL the value is retrieved from. Required when `value_source` is `fetched` and rejected otherwise. May contain merge tags that resolve per publication. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| value_source | No | Where the value for each publication comes from. Defaults to `static`. | |
| default_value | No | The value used for publications that have not set one of their own. Required for every kind except `json` and `rss_feed_url`. | |
| response_keys | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the mutation profile is covered. The description adds value the annotations cannot: the confirm=true safety gate and the OAuth scope requirement (publication_fields:write). It stops short of saying what state is changed or whether the created field is returned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed immediately by the two constraints that matter. The only waste is the opening sentence, which duplicates the title field and could be dropped without information loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter, zero-required, deeply nested mutation tool with no output schema, the description covers the safety and auth dimensions but nothing about the payload/file/body-flag mutual exclusivity or what the call returns. The rich schema compensates for most parameter gaps, leaving this adequate but thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 82%, so the schema already documents confirm, kind, name, payload, value_source and the rest in detail. The description only echoes the confirm requirement and adds no syntax or semantics for the other ten parameters (e.g., payload vs body-flag exclusivity). Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a concrete verb+resource (create a publication field), which is unambiguous about what operation is performed. However, the first sentence is essentially a verbatim restatement of the tool title, and it offers no differentiation from nearby siblings like update_publication_field or create_custom_field. Clear but not distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one real usage gate: confirm=true is required, and the user must have asked for exactly this action. But it never names an alternative tool (update_publication_field, get_publication_field, create_custom_field) or states when not to use it beyond the confirmation gate. Usage is implied rather than routed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_segmentCreate segmentCDestructive
Create segment. Changes account state and requires confirm=true for the user-requested action.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | A unique name for the segment that does not already exist in the publication. | |
| input | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is largely covered. The description does add value beyond them by disclosing that the call changes account state and requires an explicit confirm=true gate. It stops short of saying what is created/destroyed or what the result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with no filler and the behavioral constraint front-loaded, so it is compact. However the first sentence is pure restatement of the title, so a portion of the text does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with 7 params, nested oneOf input structures and no output schema, the description omits the notion of what a segment is, the manual-vs-dynamic distinction, and any failure/permission context. Annotations carry the safety signal but the description is too thin for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents confirm, publication_id, account, payload and payload_file. The description only echoes the confirm semantics ("only when the user asked for exactly this action") already in the schema, adding no new parameter meaning; baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Create segment" restates the tool name and title almost verbatim, adding no resource definition (what a segment is, manual vs dynamic) or distinguishing it from siblings like create_custom_field or create_newsletter_list. The only extra content is a behavioral note about account state, not purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no named alternatives, despite many plausible siblings (list_segments, get_segment, create_custom_field). The confirm=true requirement is stated as a precondition, which is the one useful hint, but it does not tell the agent when this tool is the right choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_subscriptionCreate subscriptionBDestructive
Create subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | The tier for this subscription. | |
| No | The email address of the subscription. | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| utm_term | No | The acquisition term; typically the keyword or search term | |
| utm_medium | No | The medium of the subscription | |
| utm_source | No | The source of the subscription. | |
| utm_content | No | The acquisition content; typically used for A/B testing or ad variations | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| utm_campaign | No | The acquisition campaign of the subscription | |
| custom_fields | No | ||
| premium_tiers | No | ||
| referral_code | No | This should be a subscribers referral_code. This gives referral credit for the new subscription. | |
| automation_ids | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| referring_site | No | The website that the subscriber was referred from | |
| premium_tier_ids | No | ||
| send_welcome_email | No | ||
| stripe_customer_id | No | The Stripe customer ID for this subscription. | |
| double_opt_override | No | ||
| newsletter_list_ids | No | An array of newsletter list prefixed IDs to subscribe the new subscription to. The newsletter lists must belong to the same publication. | |
| reactivate_existing | No | ||
| complimentary_gift_id | No | ||
| skip_newsletter_list_auto_subscribe | No | When true, the subscriber will not be auto-subscribed to newsletter lists configured with auto-subscribe. Defaults to false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds two things annotations cannot: the confirm=true gate for user-requested actions and the OAuth scope requirement (subscriptions:write). 'Changes account state' is largely redundant with destructiveHint. Side effects like welcome emails or reactivation behavior are not covered, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding; the confirm and scope constraints arrive early. The opening 'Create subscription' sentence is pure duplication of the name/title and earns no place, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 25-parameter mutation tool with nested objects and no output schema, the description omits what is created/returned, how the nested payload is structured, and what happens on conflicts with existing subscriptions. The confirm and scope notes are welcome but leave most of the complexity undocumented.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 25 parameters at 68% schema coverage, the description only touches one of them (confirm=true) and says nothing about the payload/body-flags/payload_file mutual exclusivity, premium tier precedence, or reactivate_existing semantics. The schema carries nearly the entire burden for a highly complex parameter set, so the description fails to compensate for the remaining gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, 'Create subscription,' is a verb+resource statement but restates the tool name and title verbatim and adds no scope or differentiating detail. With siblings like create_bulk_subscription and create_newsletter_list_subscription in the same family, the description does nothing to help an agent tell them apart. It is clear but minimally informative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The confirm=true requirement implies a usage condition (only when the user asked for exactly this action), which is a real prerequisite. However, it never states when to prefer this tool over create_bulk_subscription, update_subscription, or patch_subscription, nor any when-not conditions. Usage is implied rather than explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_tierCreate a tierADestructive
Create a tier. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require tiers:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| description | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| prices_attributes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description still adds value by naming the auth scope (tiers:write) and the confirm-gate behavior, plus 'changes account state', which is context the annotations alone do not spell out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short, front-loaded sentences with no filler, and the confirm/auth requirements come after the purpose statement in the right order. The opening 'Create a tier.' largely restates the title, costing a little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with 8 params and nested objects but no output schema, the description covers confirm and auth but says nothing about what is returned or how the payload/payload_file alternatives relate to the body flags. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 63%, so several nested fields (prices_attributes items, name/description at top level, payload vs body-flag mutual exclusion) are undocumented. The description's confirm note duplicates the schema's own description of that field and adds no meaning for the remaining parameters, so it lands at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create a tier') that an agent can act on immediately. It does not explicitly distinguish itself from the sibling replace_tier/update_tier, so sibling differentiation is left to inference from the verb.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Names two preconditions: confirm=true for the user-requested action and the tiers:write OAuth scope. However, it gives no guidance on when to create versus replace_tier or update_tier, which are the most confusable siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookCreate a webhookADestructive
Create a webhook. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require webhooks:write.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The webhook URL to send events to. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| description | No | A description of the webhook. | |
| event_types | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds meaningful context beyond that: it mutates account state, needs an explicit confirm flag, and carries an OAuth scope requirement. It does not describe side effects like duplicate-webhook behavior, which keeps it below 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the primary action front-loaded and no filler. The confirm sentence is slightly redundant with the schema description of confirm, but overall it is tight and well-ordered.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter mutation tool with nested payload variants and no output schema, the description covers the essential call prerequisites (state change, confirm, OAuth scope). Details like payload-vs-body-flag mutual exclusion are left to the schema, which is reasonable given high coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already documents url, account, confirm, payload, payload_file, and event_types. The description only touches the confirm flag ('requires confirm=true for the user-requested action'), adding little beyond the schema's own note that confirm should be true only when the user asked for exactly this action. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ("Create a webhook") that an agent can distinguish from siblings like list_webhooks, get_webhook, update_webhook, and delete_webhook. It does not explicitly name those siblings or contrast scope, but the operation is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a real precondition (confirm=true for the user-requested action) and an auth requirement (webhooks:write for OAuth), which is useful when-to-use context. However, it gives no guidance on choosing this tool over alternatives or on when not to create a webhook.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_custom_fieldDelete custom fieldADestructive
Delete custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| custom_field_id | Yes | The ID of the Custom Fields object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, openWorldHint=true, and idempotentHint=false, so the safety profile is covered structurally. The description adds genuinely new behavioral context: that account state is mutated, that a confirm gate must be satisfied, and that OAuth callers need the custom_fields:write scope. It does not address reversibility or what happens to values already stored on the field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the two operational constraints. No filler and nothing that does not earn its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no output schema, the description covers the mutation, the confirm gate, and the OAuth scope. It stops short of explaining irreversibility or the effect on existing field values, which would be the remaining thing an agent needs before deleting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents account, confirm, publication_id, and custom_field_id. The description only restates the confirm requirement, which the schema's own description ("Set true only when the user asked for exactly this action") already conveys, so it adds little beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Delete custom field") that maps unambiguously to the delete_custom_field operation and distinguishes it from create_custom_field/update_custom_field/patch_custom_field in the sibling list. It does not, however, explicitly distinguish itself from the other delete_* siblings (delete_segment, delete_webhook, delete_post), so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear precondition ("requires confirm=true for the user-requested action"), which is real usage guidance, but it never states when to prefer deletion over update_custom_field/patch_custom_field or when deletion should be avoided. Usage is implied rather than spelled out.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_newsletter_listDelete newsletter listADestructive
Delete newsletter list. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=false, but the description adds value beyond them: it states the operation changes account state, requires an explicit confirm=true confirmation, and needs the newsletter_lists:write scope for OAuth integrations. It does not say whether deleting a list cascades to its subscribers/subscriptions, which is the main remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, and the destructive action is front-loaded. Every sentence carries a distinct piece of information: the action, the state change plus confirmation, and the auth scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with no output schema, the definition covers the essentials: it mutates account state, needs explicit confirmation, and requires a write scope. The one omission is cascade behavior (whether dependent newsletter_list_subscriptions are removed), which an agent invoking an irreversible delete would benefit from knowing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so publication_id, newsletter_list_id, account and confirm are all documented in the schema. The description only restates the confirm=true condition the schema already spells out, adding no syntax or format detail beyond it. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Delete newsletter list"), which cleanly separates it from create_newsletter_list and update_newsletter_list in the sibling set. It stops short of explicitly naming the sibling operations it should be preferred over, so it reads as clear but not fully differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a hard precondition (confirm=true for user-requested actions) and an OAuth scope requirement, which is useful gating guidance. However, it never contrasts this tool with alternatives such as delete_segment or the subscription-level deletes, so the agent must infer when this is the right delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_postDelete postADestructive
Delete post. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| post_id | Yes | The prefixed ID of the post object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new context: the confirm gate and the required posts:write OAuth scope. It could go further on irreversibility or the consequences of 'Changes account state', which is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding — the action, the required guard, and the auth scope in priority order. The opening sentence largely restates the title, which is the only minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent operation, the definition covers the confirm guard and auth scope, which is the minimum an agent needs to call it safely. It omits what deletion actually removes (permanence, attached data, whether repeated calls error given idempotentHint=false), leaving a gap for an irreversible action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so account, confirm, post_id and publication_id are already documented in the schema; the description only echoes the confirm=true requirement. Baseline 3 applies since the schema carries the parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Delete post'), which is unambiguous against create_post/update_post/get_post in the sibling list. It stops short of differentiating why one would pick this over, say, update_post to strip content, but the destructive intent is unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies the correct usage window via 'requires confirm=true for the user-requested action' and states an OAuth scope prerequisite, but never explicitly says when to use this versus alternatives or what to do if confirm is omitted. Guidance is present but inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_segmentDelete segmentADestructive
Delete segment. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require segments:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| segment_id | Yes | The prefixed ID of the segment object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so safety is covered structurally. The description adds genuinely new context beyond that: the confirm=true gate and the required OAuth scope (segments:write), which an agent cannot infer from the schema or annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed immediately by the two constraints that matter (confirm gate, OAuth scope). No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With rich annotations, a 100%-documented schema, and no output schema, the description covers what an agent needs to invoke safely. It omits any note about downstream effects on segment membership or subscribers, a minor gap for a destructive operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so account, confirm, segment_id, and publication_id are already documented in the schema, including the confirm semantics. The description restates the confirm requirement but adds no format, default, or edge-case detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ("Delete segment"), which is unambiguous against siblings such as delete_subscription, delete_post, or delete_webhook. It does not explicitly contrast with those siblings, but the resource noun alone makes disambiguation trivial.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a concrete precondition for use: confirm=true only "for the user-requested action," which tells the agent when invoking is appropriate. It does not name alternative tools (e.g., get_segment to inspect before deleting), so it falls short of the explicit when-not/alternative guidance a 5 requires.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_subscriptionDelete subscriptionADestructive
Delete subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | Yes | The prefixed ID of the subscription object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false, so safety is covered structurally. The description adds value beyond that by disclosing the state change ('Changes account state'), the confirm gate, and the OAuth scope requirement (subscriptions:write) — details an agent cannot get from the annotations. It stops short of saying whether the deletion is reversible or cascades to related data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the behavioral constraints. The opening 'Delete subscription.' is mildly redundant with the name/title but serves as an anchor; otherwise there is no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with full annotation coverage, complete schema descriptions, and no output schema, the description supplies the extra pieces an agent needs: the confirm requirement, the auth scope, and the state-changing nature. Reversibility/cascade behavior is the one notable omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the schema, including the confirm semantics and the account defaulting behavior. The description's mention of confirm largely restates the schema's own wording, adding little beyond the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete subscription') that is unambiguous against siblings such as delete_segment, delete_post, and delete_newsletter_list. It does not, however, explicitly contrast itself with the mutation-adjacent siblings (update_subscription, patch_subscription) that an agent might pick instead of deleting.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one real usage gate: confirm=true only for the user-requested action. That is useful context for when to invoke it. But it offers no guidance on when NOT to delete (e.g., prefer update_subscription/patch_subscription to modify or pause) and no mention of prerequisites or account-selection implications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webhookDelete a webhookADestructive
Delete a webhook. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require webhooks:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| endpoint_id | Yes | The prefixed ID of the webhook object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely new context beyond that: the state change to the account, the required confirm=true guard, and the webhooks:write OAuth scope. It omits whether deletion is reversible or what happens on a repeat call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the destructive action front-loaded, followed by the guard and the auth requirement. No filler text, though the second sentence is slightly compressed/garbled in phrasing ('for the user-requested action').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent tool with no output schema and full schema coverage, the description covers the essentials an agent needs: the mutation, the confirmation requirement, and the required OAuth scope. Remaining gaps (reversibility, error behavior on repeat deletion) are minor given the annotations already flag destructiveness and non-idempotency.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so account, confirm, endpoint_id, and publication_id are already fully documented in the schema. The description reinforces the confirm semantics but adds no syntax, format, or default behavior beyond what the schema provides — the expected baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a webhook'), which an agent can distinguish from update_webhook, get_webhook, and list_webhooks by name alone. It does not, however, explicitly distinguish itself from update_webhook (the non-destructive alternative), so it stops short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a real usage condition — 'requires confirm=true for the user-requested action' — and an auth prerequisite ('OAuth integrations require webhooks:write'). It does not tell the agent when to prefer a non-destructive alternative such as update_webhook, nor what to do if the user has not explicitly asked for deletion, leaving usage implied rather than complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_authorGet authorCRead-onlyIdempotent
Get author. Reads account data.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| author_id | Yes | The author identifier. This accepts a prefixed author ID, full name, or first name. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered without the description. The description adds only the vague phrase "Reads account data," which is arguably misleading since the tool returns author data, and it discloses nothing about errors or missing-author behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, so it is not bloated, but the first merely echoes the title and the second is vague rather than informative. Brevity here reflects under-specification rather than economical, front-loaded writing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should convey what an author record contains or how it is returned, but it does not. For a read tool with three parameters and no return documentation, the description leaves an agent unable to predict the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (account, author_id, publication_id) are already documented in the schema, including the prefixed-ID/name/first-name flexibility of author_id. The description adds no additional parameter meaning, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get author" merely restates the tool name and title; it never says it fetches a single author object by ID. It also fails to distinguish this from the sibling list_authors, so an agent cannot tell the two apart from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of list_authors as the alternative for enumerating authors, and no prerequisites stated. The only contextual hint, "Reads account data," does not tell the agent when to select this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_automationGet automationCRead-onlyIdempotent
Get automation. Reads account data. OAuth integrations require automations:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optional list of expandable objects. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| automation_id | Yes | The prefixed ID of the automation object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description usefully adds the required OAuth scope ('automations:read'), but does not explain return behavior or what 'expand=stats' changes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and free of padding. The only weak element is 'Reads account data,' which spends a sentence without adding accurate information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A simple read tool with a fully documented schema, so the description is nearly adequate. However, with no output schema it could say what a returned automation contains, and it provides no sibling routing among the many automation-related tools — both notable omissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all four parameters (including the expand enum and the BEEHIIV_ACCOUNTS fallback logic) documented in the schema itself. The description adds no parameter meaning beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Get automation'), but adds nothing to distinguish it from siblings like list_automations, list_automation_journeys, or get_automation_journey. The second sentence, 'Reads account data,' is vague and slightly misdirecting — the tool retrieves an automation, not account data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description never says when to use this tool versus list_automations or get_automation_journey, nor what preconditions exist beyond auth. The OAuth scope note is an authorization fact, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_automation_journeyGet automation journeyBRead-onlyIdempotent
Get automation journey. Reads account data. OAuth integrations require automations:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| automation_id | Yes | The prefixed ID of the automation object | |
| publication_id | Yes | The prefixed ID of the publication object | |
| automation_journey_id | Yes | The prefixed automation journey id |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the description's extra value is the auth requirement: 'OAuth integrations require automations:read.' That scope disclosure is genuinely useful context an agent cannot get from the structured fields, though nothing is said about return format or pagination.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler. The purpose and the auth constraint are immediately visible, though the first sentence is largely redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with 100% schema coverage, an output schema absent (so return values need not be explained), and annotations carrying the safety profile, the description covers the essentials plus the OAuth scope requirement. It is essentially complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters, including the account defaulting behavior and the ID prefixes. The description adds no parameter-level meaning beyond the schema, which is the expected baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description restates the name ('Get automation journey'), which is a clear verb+resource but essentially tautological with the title. It does not distinguish this single-journey getter from siblings like get_automation or list_automation_journeys, leaving the agent to infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use guidance, no mention of alternatives such as list_automation_journeys, and no prerequisites stated. 'Reads account data' gives a faint contextual hint but does not tell the agent when to select this tool over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_bulk_subscription_updateGet subscription updateCRead-onlyIdempotent
Get subscription update. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| bulk_subscription_update_id | Yes | The ID of the Subscription Update object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful behavioral fact: the OAuth scope requirement (subscriptions:read) and that it reads account data. It does not describe return shape or account-resolution behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the auth requirement. The opening sentence duplicates the title, so it is not perfectly waste-free, but overall it is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should ideally hint at what is returned (the bulk subscription update object), and it does not. For a simple read-by-ID tool with full schema coverage this is minimally adequate but leaves a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (account, publication_id, bulk_subscription_update_id) are documented in the schema. The description adds nothing beyond that, which is the expected baseline when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the verb 'Get' and resource 'subscription update', but drops the 'bulk' qualifier that distinguishes this tool from the many subscription-related siblings (update_subscription, get_subscription, list_bulk_subscription_updates). It is essentially a restatement of the tool name with no clarifying scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this retrieval versus list_bulk_subscription_updates or the replace/update variants that share the same resource. The agent must infer the by-ID retrieval use case from the schema alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_complimentary_accessGet complimentary accessCRead-onlyIdempotent
Get complimentary access. Reads account data. OAuth integrations require complimentary_access:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optional list of expandable objects. `tier` - Returns the full tier object associated with this complimentary access. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| complimentary_access_id | Yes | The prefixed ID of the complimentary access object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, so the safety profile is covered. The description adds genuinely useful context beyond that: the required OAuth scope complimentary_access:read. The only weak point is the vague "Reads account data" phrasing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding. The auth-scope line earns its place, though "Reads account data" is filler that adds little.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-parameter read tool with a fully documented schema and no output schema, the auth requirement is the key missing piece and it is present. However, the description never clarifies what the returned resource represents or how it relates to its list sibling, leaving a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with publication_id, complimentary_access_id, expand, and account all documented in the schema itself. The description adds nothing about parameter format or semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description essentially restates the tool name and title ("Get complimentary access") without explaining what a complimentary access record is or how it differs from the sibling list_complimentary_access. "Reads account data" is vague and arguably inaccurate for a single-resource fetch, adding no distinguishing detail.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus list_complimentary_access or any other sibling. The only conditional statement concerns OAuth scoping, not tool selection, so an agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_condition_setGet condition setCRead-onlyIdempotent
Get condition set. Reads account data. OAuth integrations require condition_sets:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optionally expand the response to include additional data. `stats` - Calculates and returns the active subscriber count for this condition set synchronously. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| condition_set_id | Yes | The UUID of the condition set object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds some behavioral context by mentioning 'Reads account data' and the OAuth scope requirement 'condition_sets:read', which supplements the annotations that only indicate read-only and idempotent characteristics. However, it does not disclose what data is returned, error conditions, or rate limits. With annotations covering the safety profile, this partial addition merits a 3.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with three short sentences that are front-loaded with the core action, then authentication details. It avoids unnecessary fluff, though it could be more informative without being verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is inadequate for a tool with 4 parameters and no output schema. It provides no information about the return value, the meaning of 'condition set', or how to use the 'expand' parameter for stats. While annotations cover safety, the description fails to compensate for the lack of output schema and should do more to explain what an agent can expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, so parameters like 'expand', 'account', and the required IDs are fully documented in the schema, including enum options and patterns. The description adds no parameter semantics beyond what the schema provides. Baseline 3 is appropriate when schema does all the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get condition set' is a tautology that merely restates the tool name and title without adding specificity about what the tool actually does or returns. It does not distinguish itself from the sibling 'list_condition_sets' or explain what condition sets are. The schema and annotations provide more clarity than the description itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'list_condition_sets'. There is no indication of context, prerequisites, or what distinguishes retrieving a single condition set from listing them. The only additional instruction is about authentication requirements, which is tangential to usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_custom_fieldGet custom fieldBRead-onlyIdempotent
Get custom field. Reads account data. OAuth integrations require custom_fields:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| custom_field_id | Yes | The ID of the Custom Fields object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and openWorld behavior, so the safety profile is covered. The description adds genuinely useful context beyond that: it identifies the required OAuth scope (custom_fields:read) and notes it reads account data, which an agent needs to authorize the call correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse fragments with the operation name front-loaded and no padding. 'Get custom field' is somewhat redundant with the title, but the auth-scope sentence is dense and useful, and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read getter with full schema coverage and no output schema, the definition is minimally adequate. It covers auth and the read-only nature, but says nothing about the shape of the returned custom field object, forcing the agent to call it blind.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (account, publication_id, custom_field_id) are already documented in the schema, including the account-defaulting behavior. The description adds no parameter detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get custom field' essentially restates the name and title without elaboration. It does convey a verb+resource (retrieve a single custom field), and the sibling set (create/list/update/patch/delete_custom_field) makes the retrieval intent inferable, but the description itself does nothing to distinguish this from list_custom_fields or to describe what a custom field is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. It never mentions that list_custom_fields should be used to enumerate fields versus this tool for a single one, nor any prerequisite for obtaining a custom_field_id. The agent must infer the usage pattern entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_data_deletionGet data deletion requestBRead-onlyIdempotent
Get data deletion request. Reads account data. OAuth integrations require data_deletion:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| data_deletion_id | Yes | The ID of the data deletion request |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, covering the safety profile. The description adds one useful behavioral detail: OAuth integrations require the data_deletion:read scope, which is an auth requirement not captured by annotations. It does not describe return format or pagination, but with annotations covering safety, 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying distinct information (purpose, read behavior, auth scope). Front-loaded with the purpose. Slightly terse but no waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only getter with 100% schema coverage and annotations covering safety, the bare essentials are present. However, given the large sibling set and no output schema, the description could clarify what a data deletion request contains or how it relates to list_data_deletion.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all three parameters including account defaults and the pub_ pattern for publication_id. The description adds no parameter-level detail beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and resource (data deletion request). Distinguishable from list_data_deletion and create_data_deletion siblings by the singular 'request' and 'Get' verb, though the description doesn't explicitly call out those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the sibling list_data_deletion or create_data_deletion tools that an agent would need to choose between. The description provides no usage context beyond the tool's name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_exportGet subscription exportBRead-onlyIdempotent
Get subscription export. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| export_id | Yes | The prefixed ID of the Subscription Export object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so "Reads account data" is largely redundant. The added value is the auth requirement disclosure — "OAuth integrations require subscriptions:read" — which is not present in the annotations or schema and tells an agent what credential scope is needed before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding. The opening sentence duplicates the title, which is minor waste, but the auth-scope note is placed prominently rather than buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with full annotation coverage and a complete schema, this is close to adequate. However, no output schema exists and exports are typically asynchronous, so the description could have said whether this retrieves a finished export or polls status and what the export object contains; that lifecycle context is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with export_id, publication_id, and account all documented in the schema (including the pattern constraints and account resolution rules). The description adds nothing about the parameters, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, "Get subscription export," is essentially the title restated, so it is close to tautological. It does clarify the resource type (a subscription export, not a generic export) and implies retrieval of an existing object, but it never says it fetches a single export by publication_id/export_id and does nothing to distinguish it from the siblings create_export or list_exports.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus create_export or list_exports, and no prerequisites or conditions given. The OAuth scope line hints at an access constraint but is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_newsletter_listGet newsletter listBRead-onlyIdempotent
Get newsletter list. Reads account data. OAuth integrations require newsletter_lists:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so safety is covered. The description adds genuinely new operational context: it reads account data (tying to the account parameter) and requires the newsletter_lists:read OAuth scope, which an agent cannot learn from the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, with no filler. The only waste is the opening sentence, which simply echoes the tool title rather than carrying new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only getter with full schema coverage and no output schema, the definition is adequate but not complete: it never disambiguates from list_newsletter_lists, and gives no hint about what a newsletter list contains or whether the list ID must belong to the given publication.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all three parameters, so the schema already documents account, publication_id and newsletter_list_id with patterns. The description only obliquely references "account data" and adds no format or constraint detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get newsletter list" states a verb and resource, but it is essentially a restatement of the tool name/title and adds no scope detail. The sibling list_newsletter_lists is dangerously similar, and nothing here clarifies that this fetches one list by ID rather than listing all lists.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Reads account data" and the OAuth scope note are prerequisites, not usage guidance. There is no statement of when to use this versus list_newsletter_lists or the other get_* newsletter-list siblings, leaving selection to inference from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_newsletter_list_subscriptionGet newsletter list subscriptionBRead-onlyIdempotent
Get newsletter list subscription. Reads account data. OAuth integrations require newsletter_lists:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object | |
| newsletter_list_subscription_id | Yes | The prefixed ID of the newsletter list subscription object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so 'Reads account data' is largely redundant with the safety profile. The one genuinely additive detail is the OAuth scope requirement ('newsletter_lists:read'), which the annotations do not convey; the description omits return shape, error behavior, or account-resolution fallbacks.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler or repetition. The middle sentence ('Reads account data') is the weakest, since it restates the readOnly annotation, but the whole description is still tight and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no nested objects, the description need not explain return values, and the schema fully documents the three required prefixed IDs. It is minimally adequate for a simple single-object read, but it leaves sibling disambiguation and any return-shape expectation to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all four parameters (including the prefixed-ID patterns and the BEEHIIV_ACCOUNTS fallback for account) are documented in the schema. The description adds no format, syntax, or fallback detail beyond what the schema already provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource ('Get newsletter list subscription'), so the operation is unambiguous. However, it is nearly a verbatim restatement of the tool name/title and does nothing to distinguish it from siblings such as list_newsletter_list_subscriptions, get_newsletter_list, or newsletter_list_subscriptions_update_by_subscription_id.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus the many sibling read/update tools for newsletter lists and subscriptions. The only conditional statement concerns OAuth scopes, which is an auth prerequisite rather than usage routing, so the agent must infer selection from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pollGet pollCRead-onlyIdempotent
Get poll. Reads account data. OAuth integrations require polls:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optionally expand the response to include additional data. `stats` - Returns aggregate vote counts per choice and total completions. `poll_responses` - Returns up to 10 most recent subscriber responses. Use /polls/{pollId}/responses for paginated access to all responses. `trivia_answer` - Returns the correct answer for trivia-type polls. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| poll_id | Yes | The prefixed ID of the poll object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and non-destructive behavior, so the safety profile is covered. The description adds one genuinely useful behavioral fact beyond that: OAuth integrations require the polls:read scope. It says nothing about the optional expand payloads or rate limits, but the auth scope note is real added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short fragments with no filler and the core action front-loaded. "Reads account data" is the only soft phrase, but overall the definition is tight and wastes no space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description could reasonably say what a poll object contains or what expand returns, and it omits that entirely. It covers the auth scope but leaves the agent to rely on the schema for all retrieval semantics; adequate but with clear gaps for a get-by-ID tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — the schema itself documents publication_id, poll_id, account, and all three expand enum values in detail. The description contributes nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get poll" is a verbatim restatement of the tool name and title, so the first sentence adds no information. "Reads account data" is vague and does not clarify that this fetches a single poll by publication/poll ID, nor does it distinguish the tool from siblings like list_polls or polls_list_responses.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no prerequisites, and never names an alternative such as list_polls for enumeration or polls_list_responses for response data. An agent must infer the single-object-fetch use case entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_postGet postCRead-onlyIdempotent
Get post. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optionally expand the results by adding additional information. `stats` - Adds statistics about the post(s). `free_web_content` - Adds the web HTML rendered to a free reader. `free_email_content` - Adds the email HTML rendered to a free reader. `free_rss_content` - Adds the RSS feed HTML. `premium_web_content` - Adds the web HTML rendered to a premium reader. `premium_email_content` - Adds the email HTML rendered to a premium reader. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| post_id | Yes | The prefixed ID of the post object | |
| premium_tiers | No | Scope any expanded content output to the specified premium tiers. This takes in an array of Display Names of the premium tiers. Note: This is case insensitive. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is fully covered. The description adds one genuinely useful behavioral fact — the required OAuth scope posts:read — but says nothing about what is returned or how expand affects the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no bloat, but the middle sentence ("Reads account data") is wasted at best and misleading at worst, and the scope note is the only sentence that earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a rich 100%-covered schema and annotations covering safety, the description need not document parameters or returns in depth. However, for a 5-parameter read tool with no output schema, the omission of any hint about the expand behavior or returned post shape leaves an agent relying entirely on structured fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters including the expand enum and premium_tiers scoping are documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get post" is a near-restatement of the name and title, and "Reads account data" is vague and arguably inaccurate for a tool that fetches a single post. It does not distinguish this tool from siblings like list_posts, get_post_aggregate_stats, or preview_post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no conditions, and no mention of alternatives such as list_posts for enumerating or get_post_aggregate_stats for stats. The only routing hint is the OAuth scope, which is a prerequisite, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_aggregate_statsGet aggregate statsBRead-onlyIdempotent
Get aggregate stats. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Optionally filter the results by the status of the post. `draft` - not been scheduled. `confirmed` - The post will be active after the `scheduled_at`. `archived` - The post is no longer active. `all` - Does not restrict results by status. | all |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| authors | No | Optionally filter posts by their authors. Adding an author name will return any post with that author associated to it (case-insensitive). Example: Filtering for `authors: ["John Doe","Jane Smith"]` will return results of posts that have *either* John Doe or Jane Smith as authors. | |
| audience | No | Optionally filter the results by audience | all |
| platform | No | Optionally filter the results by platform. `web` - Posts only published to web. `email` - Posts only published to email. `both` - Posts published to email and web. `all` - Does not restrict results by platform. | all |
| content_tags | No | Optionally filter posts by content_tags. Adding a content tag will return any post with that content tag associated to it. Example: Filtering for `content_tags: ["sales","closing"]` will return results of posts that have *either* sales or closing content_tags. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| hidden_from_feed | No | Optionally filter the results by the `hidden_from_feed` attribute of the post. `all` - Does not restrict results by `hidden_from_feed`. `true` - Only return posts hidden from the feed. `false` - Only return posts that are visible on the feed. | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new behavioral context by disclosing the required OAuth scope ('posts:read'), which an agent needs in order to know whether the call will be authorized. It does not, however, describe what the aggregate stats contain or their granularity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, with no wasted text. 'Reads account data' is somewhat filler, keeping it from a 5, but the structure is efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter analytics tool with no output schema, the description should explain what the aggregate statistics actually are (counts? opens? clicks?) and at what granularity. It leaves the entire return shape undefined, which is a significant gap when there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the eight filter parameters (status, authors, audience, platform, content_tags, hidden_from_feed, etc.) are fully documented in the schema, so the baseline of 3 applies. The description adds no syntax or semantics beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get aggregate stats' essentially restates the title and name, without specifying which metrics are aggregated, over what dimension (posts? engagement?), or what makes this different from siblings like list_posts or get_post. The verb+resource are present, so it is not pure tautology, but the purpose remains vague.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives such as list_posts, get_post, or list_engagements. The only context given is that it reads account data, which does not help an agent route between the many sibling read tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_post_templateGet post templateBRead-onlyIdempotent
Get post template. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optionally expand the result by adding the rendered HTML of the template. `free_web_content` - Adds the web HTML rendered to a free reader. `free_email_content` - Adds the email HTML rendered to a free reader. `free_rss_content` - Adds the RSS feed HTML. `premium_web_content` - Adds the web HTML rendered to a premium reader. `premium_email_content` - Adds the email HTML rendered to a premium reader. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| post_template_id | Yes | The prefixed ID of the post template object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds one genuinely useful operational fact — 'OAuth integrations require posts:read' — but 'Reads account data' is vague filler and nothing is said about what the returned template contains.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the purpose front-loaded and no rambling. 'Reads account data' is the only sentence that does not clearly earn its place, but the overall shape is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with full schema coverage and read-only annotations, most of what an agent needs is present. It stops short of stating what the call returns or how the expand options affect output, which matters since there is no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: publication_id, post_template_id, expand, and account are all documented with patterns and enum-option explanations in the schema. The description adds no parameter meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Get post template'), so the agent knows it retrieves a single template object. However, it does nothing to distinguish itself from the close siblings list_post_templates and post_templates_workspace_show, which also read templates.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of the sibling list/show tools that would let an agent pick the right one. Only an implicit cue ('Reads account data') hints at its read role.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_publicationGet publicationBRead-onlyIdempotent
Get publication. Reads account data. OAuth integrations require publications:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optionally expand the results by adding additional information like subscription counts and engagement stats. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds the meaningful auth requirement (publications:read for OAuth), but says nothing about return shape, expansion behavior, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose, with no padding. The middle sentence 'Reads account data' is the weakest element and is somewhat redundant with the read-only annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource read with no output schema, the description covers the auth prerequisite but omits what the tool returns and how `expand` changes the response. Adequate but with clear gaps given there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (including the `expand` enum array and account resolution) are already documented in the schema. The description adds no parameter-level meaning, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (get a publication), which is clear enough for an agent to understand the operation. However, it offers no differentiation from the sibling `list_publications`, and the phrase 'Reads account data' is vague and adds little precision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus `list_publications` or any other sibling. The only usage-adjacent content is the auth scope note ('OAuth integrations require publications:read'), which is a prerequisite rather than a selection criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_publication_fieldGet publication fieldCRead-onlyIdempotent
Get publication field. Reads account data. OAuth integrations require publication_fields:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_field_id | Yes | The prefixed ID of the publication field object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description usefully adds the required OAuth scope, which annotations do not convey, but says nothing about return shape, error behavior when the ID is unknown, or cross-account access.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the auth requirement front-loaded after the redundant lead. The first sentence duplicates the name/title and earns no place; the remaining two are terse but at least non-redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With full annotation coverage, 100% schema coverage, and no output schema, the bar is modest, and the auth scope note is a real addition. Still, for a getter the description never indicates what a publication field is or what the response contains, leaving the agent with minimal context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and both parameters (account, publication_field_id) are documented in the schema, including the pub_field_ prefix pattern and the account defaulting rules. The description adds nothing beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence 'Get publication field' merely restates the tool name and title; it adds no scope, no verb differentiation, and no distinction from siblings such as list_publication_fields or update_publication_field. The only extra content, 'Reads account data,' is vague about what a publication field actually is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an auth prerequisite ('OAuth integrations require publication_fields:read') but never states when to use this tool versus list_publication_fields (enumerate all fields) or update_publication_field. The agent is left to infer that this is a single-resource fetch by ID.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_referral_programGet referral programBRead-onlyIdempotent
Get referral program. Reads account data. OAuth integrations require referral_program:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds the genuinely non-derivable operational fact that OAuth integrations require the referral_program:read scope — exactly the kind of auth context that annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding; the purpose leads and the scope/permission facts follow. The telegraphic second sentence is slightly choppy but costs the reader nothing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only retrieval tool with full annotation coverage and full schema coverage, the essentials are present, and the auth-scope note is a real bonus. It still says nothing about what the referral program payload looks like or how paginated results behave, and there is no output schema to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with page, limit, account and publication_id all documented in the schema itself. The description contributes nothing about parameter semantics, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get referral program" restates the name/title almost verbatim, adding only the scope hint "Reads account data." It is not misleading and the verb+resource is identifiable, but there is no differentiation from siblings or statement of what a referral program object actually contains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no named alternative. "Reads account data" describes the target, not the conditions under which this tool should be selected over the many other get_* tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_segmentGet segmentCRead-onlyIdempotent
Get segment. Reads account data. OAuth integrations require segments:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optionally expand the response to include additional data. `stats` - Requests the most recently calculated statistics for a segment. Segment stats are recalculated once daily around 7 a.m. UTC for dynamic segments, but can be manually recalculated at any time in the dashboard. Manual and static segments only calculate once upon upload or creation. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| segment_id | Yes | The prefixed ID of the segment object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, covering the safety profile. The description adds one genuinely new fact — the required OAuth scope segments:read — which is useful auth context, though "Reads account data" merely echoes the readOnly annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the auth requirement front-loaded and no wasted filler. The only redundancy is the opening "Get segment," which duplicates the title rather than adding content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with complete annotations and 100% schema coverage, the minimum is largely met, and no output schema means return values need not be explained. However, it omits sibling differentiation and any note on the expand=stats option, which materially affects the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (including the expand enum and the account selector) are already fully documented in the schema. The description adds no syntax, format, or default behavior beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get segment" restates the tool name and title verbatim, adding no distinguishing information. It does not differentiate from close siblings such as get_segment_subscribers, list_segments, or segments_expand_results, leaving the agent to infer what a "segment" object retrieval returns versus these alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no named alternative. "Reads account data" is a generic statement that does not help an agent decide between this tool and get_segment_subscribers or list_segments. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_segment_subscribersList segment subscribersBRead-onlyIdempotent
List segment subscribers. Reads account data. OAuth integrations require segments:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| expand | No | Optionally expand the response to include additional data. `stats` - Returns statistics about the subscription(s). `custom_fields` - Returns custom field values set on the subscription. `referrals` - Returns referrals made by the subscription. `tags` - Returns tags associated with the subscription. `subscription_premium_tiers` - Returns premium tier(s) the subscription is subscribed to. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| segment_id | Yes | The prefixed ID of the segment object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds the OAuth scope requirement ('segments:read'), which is genuine context beyond the annotations, but 'Reads account data' merely restates the readOnly hint and no return/pagination behavior is described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose and with zero filler. It is efficient, though the middle sentence duplicates what readOnlyHint already conveys.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with no output schema, the definition covers the safety profile via annotations and the auth scope via the description, but says nothing about what the returned subscriber objects contain or how expanded fields surface. Adequate for invocation, thin on outcome expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so page, limit, expand, account, segment_id and publication_id are all fully documented in the schema, including the expand enum meanings. The description adds nothing beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List segment subscribers'), which is enough to distinguish it from the many subscription-related siblings such as list_subscriptions or get_subscription. It does not explicitly name a sibling or clarify scope boundaries, but the segment-scoped target is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the 'Reads account data' note, but there is no explicit when-to-use guidance, no exclusions, and no pointer to alternatives like list_subscriptions when the caller wants all subscribers rather than a segment slice. Adequate but with a clear gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscriptionGet subscription by IDARead-onlyIdempotent
Get subscription by ID. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optional list of expandable objects. `subscription_premium_tiers` - Returns an array of tiers the subscription is associated with. `referrals` - Returns an array of subscriptions with limited data - `id`, `email`, and `status`. These are the subscriptions that were referred by this subscription. `stats` - Returns statistics about the subscription(s). `custom_fields` - Returns an array of custom field values that have been set on the subscription. `tags` - Returns an array of tags that have been set on the subscription. `newsletter_lists` - Returns an array of newsletter list prefixed IDs the subscription is actively subscribed to. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | Yes | The prefixed ID of the subscription object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld, so the safety profile is covered. The description adds a genuinely new behavioral fact — OAuth integrations require the subscriptions:read scope — which is exactly the kind of context annotations cannot carry. Return-shape behavior is left to the schema's expand parameter.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler. Minor waste: 'Reads account data' largely restates the readOnlyHint annotation, so the space could have carried usage guidance instead.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-resource getter with four well-documented params and no output schema, the description covers identity, safety context, and auth scope. It could still note whether the account parameter is required in multi-account setups, but nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: both required IDs, the account selector, and the expand enum are fully documented in the schema. The description adds no syntax, format, or semantics beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) plus resource (subscription) and an identifier qualifier (by ID) that immediately separates it from the sibling get_subscription_by_email and from list_subscriptions. An agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: retrieve a single subscription when you already hold its ID. No when-to-use/when-not guidance and no alternatives (e.g. get_subscription_by_email, list_subscriptions) are named. The auth scope note is a prerequisite, not routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_subscription_by_emailGet subscription by emailCRead-onlyIdempotent
Get subscription by email. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The ID of the subscriber object | ||
| expand | No | Optional list of expandable objects. `subscription_premium_tiers ` - Returns an array of tiers the subscription is associated with. `referrals` - Returns an array of subscriptions with limited data - `id`, `email`, and `status`. These are the subscriptions that were referred by this subscription. `stats` - Returns statistics about the subscription(s). `custom_fields` - Returns an array of custom field values that have been set on the subscription. `tags` - Returns an array of tags that have been set on the subscription. `newsletter_lists` - Returns an array of newsletter list prefixed IDs the subscription is actively subscribed to. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine value by stating the required OAuth scope ('subscriptions:read') and that it reads account data, but it says nothing about behavior on a missing subscription or whether the lookup is case-sensitive on email.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler. The first sentence is redundant with the name, but the auth scope is placed clearly at the end where an agent will find it. Efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries more burden than it does: it never indicates what the subscription object contains or what happens when no match exists. For a simple read tool whose annotations cover the safety profile, the auth scope note makes it minimally adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 and the schema does the heavy lifting. The description adds no parameter meaning at all, and notably does not correct the misleading schema description for 'email' ('The ID of the subscriber object'), which conflicts with the tool's email-lookup intent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description repeats the tool name almost verbatim ('Get subscription by email'), so it adds little beyond what the name/title already convey. It does implicitly signal the lookup key (email) which loosely distinguishes it from the sibling get_subscription, but no sibling is named or contrasted. This lands as a vague restatement rather than a sharpened purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance, and no alternatives named (e.g., get_subscription vs. this email-based lookup, or list_subscriptions for enumerating). The only context given is an auth scope, which is a prerequisite rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_tierGet tierCRead-onlyIdempotent
Get tier. Reads account data. OAuth integrations require tiers:read.
| Name | Required | Description | Default |
|---|---|---|---|
| expand | No | Optional list of expandable objects. `stats` - Returns statistics about the tier(s). `prices` - Returns prices for the tier(s). | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| tier_id | Yes | The prefixed ID of the tier object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is fully covered. The description's one genuine addition is the scope requirement ("OAuth integrations require tiers:read"), which is useful auth context beyond the annotations, but nothing else behavioral is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse fragments, front-loaded with the core action and no padding. It is efficient, though the terseness borders on under-specification rather than deliberate economy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with full schema coverage and rich annotations, this is minimally viable. However, it omits any routing against the tiers siblings (list_tiers, create_tier, update_tier, replace_tier), which is the main gap for an agent deciding whether to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with publication_id, tier_id, account and expand all documented in the schema, so the schema carries the parameter burden. The description adds no format, constraint, or meaning beyond that, which is the expected baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get tier" merely restates the tool name and title, and "Reads account data" is generic filler. It never distinguishes retrieving one tier by ID from the sibling list_tiers, so an agent gets no help telling them apart.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use statement and no named alternative such as list_tiers for enumerating tiers or update_tier/replace_tier for modification. The agent must infer usage entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webhookGet webhookBRead-onlyIdempotent
Get webhook. Reads account data. OAuth integrations require webhooks:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| endpoint_id | Yes | The prefixed ID of the webhook object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, idempotentHint, destructiveHint=false, openWorldHint), so the description's job is to add context. It does add one genuinely useful behavior: the OAuth scope requirement webhooks:read. It does not describe error behavior (e.g. what happens with an unknown endpoint_id), which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler or redundancy. The only weak sentence is "Reads account data," which is vague and borders on generic boilerplate rather than earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description could reasonably say something about the returned webhook object, but it does not. Auth scope and the read-only safety profile are covered via description and annotations, leaving mainly the return shape and failure modes unspecified for an otherwise simple lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters (account, endpoint_id, publication_id) are already documented with patterns and defaults in the schema. The description adds no format, default, or constraint information beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, "Get webhook," is effectively a restatement of the tool name and title, contributing no new information. "Reads account data" adds a hint of scope but does not specify that this fetches a single webhook by endpoint ID, nor does it distinguish the tool from siblings like list_webhooks, create_webhook, update_webhook, or delete_webhook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus list_webhooks (fetch many) or the create/update/delete webhook siblings. The required publication_id + endpoint_id pairing implies a single-object lookup, but the description never states that the agent must already have the endpoint ID from a list call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
identify_oauth_userIdentify userBRead-onlyIdempotent
Identify user. Reads account data. OAuth integrations require identify:read. OAuth access token required; API key identity is not this endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful behavioral context not in the annotations: the required OAuth scope (identify:read) and that an OAuth access token is mandatory while API-key identity is out of scope. It still omits what data is returned or any rate/consistency behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the action ("Identify user. Reads account data.") before the auth constraints. It is tight and wastes little, though the opening echoes the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, single-optional-param read tool with no output schema, the auth requirements are the key missing context and they are supplied. The gap is the lack of sibling disambiguation, leaving an agent unsure when to prefer this over other identity-related endpoints.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage, the schema already fully documents the optional "account" field and its default resolution. The description adds no parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Identify user. Reads account data." states a verb and resource, but "Identify user" largely restates the title and the description never distinguishes this from close siblings such as workspaces_identify or workspaces_permissions. An agent cannot tell from the text alone which of these identity/account endpoints to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful conditional context ("OAuth integrations require identify:read", "API key identity is not this endpoint"), which implies when the tool applies. However, it offers no explicit guidance on when to use this versus alternative sibling endpoints, so usage remains partially inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_accountsList configured accountsARead-onlyIdempotent
List private account labels and configured auth methods, without returning credentials or token-file paths. Does not contact Beehiiv.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely new behavior: it suppresses credential/token-path output and explicitly does not contact Beehiiv, which is meaningful context an agent can't get from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with what is returned followed by the key security caveat. Every clause earns its place with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read tool with no output schema, the description covers what is returned, what is withheld, and that no network call occurs. It does not detail the return structure, but that gap is minor given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing to document and the schema is trivially complete. Baseline for a no-param tool is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (private account labels and configured auth methods), and clarifies that credentials/token-file paths are excluded. No sibling tool covers account listing, so the agent can identify it unambiguously.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage (inspect configured accounts without touching credentials) but never states when to prefer this tool or names any alternative. No prerequisites or exclusions beyond the implicit scope are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ad_network_offersGet ad offersCRead-onlyIdempotent
Get ad offers. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint, covering the safety profile. The description usefully adds the OAuth scope requirement ('posts:read'), which is genuine context beyond the annotations, but says nothing about pagination, return shape, or scoping.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding. Efficient, though the first sentence duplicates the title and the remaining fragments are terse rather than informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter read tool with full schema coverage and safety annotations, the description is minimally adequate. With no output schema, it still omits any indication of what is returned (a list of offers) or whether results are paginated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters (account, publication_id) are already documented in the schema. The description adds no syntax, format, or defaulting detail beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Get ad offers,' which restates the tool name/title and identifies the resource but does not differentiate it from siblings like create_ad_network_offer or ad_network_offers_advertisements. It is a clear verb+resource pairing, but largely tautological against the title.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of alternatives. The only contextual statement, 'Reads account data,' hints at read semantics but does not tell an agent when this tool is preferable to the related offers/advertisements/reports siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_ad_network_reportsGet ad network reportsARead-onlyIdempotent
Get ad network reports. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | The page of reports to return. Defaults to 1. | |
| limit | No | A limit between 1 and 100. Defaults to 10. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| end_date | No | Include reports for advertisements sent on or before this date in `YYYY-MM-DD` format. | |
| start_date | No | Include reports for advertisements sent on or after this date in `YYYY-MM-DD` format. | |
| publication_id | Yes | The prefixed ID of the publication object. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety is covered. The description adds genuinely new context not in the annotations: the required OAuth scope ('posts:read') and that it reads account data. It stops short of describing pagination or return shape, so it is not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler, front-loaded with the core purpose. Nothing redundant and nothing that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 6-parameter list tool with no output schema, the description covers purpose and auth but omits filtering behavior, pagination expectations, and any routing relative to the ad-network report-summary siblings. Annotations and the fully documented schema carry most of the remaining weight, so it is adequate but with a clear routing gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (page, limit, account, start_date, end_date, publication_id) are already documented in the schema with defaults and formats. The description adds no parameter-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Get ad network reports'), which is clearer than the bare tool name. However, it does nothing to distinguish this from close siblings like ad_network_reports_summary or ad_network_reports_account_summary, leaving the agent to guess which report variant to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. The sibling set contains several report-summary tools that an agent would need help choosing between, and the description offers none.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_advertisement_opportunitiesGet advertisement opportunitiesBRead-onlyIdempotent
Get advertisement opportunities. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the safety profile is covered. The description adds genuinely new context beyond that: the operation reads account-scoped data and OAuth integrations require the posts:read scope, which is operationally useful for auth setup.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no padding and the capability stated first. The only waste is the opening clause duplicating the tool title, which slightly dilutes front-loading.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read-only list with two documented params, no output schema and no nested objects, the description is adequate on mechanics (auth + read scope). It does not, however, clarify what an 'advertisement opportunity' is or how it relates to the adjacent ad-network offers/reports tools, leaving sibling selection ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: account resolution order and the pub_ prefixed ID pattern are fully documented in the schema. The description adds nothing about parameters, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, "Get advertisement opportunities," is nearly a verbatim restatement of the tool title/name, so it earns little beyond the identifier itself. The resource is identifiable, but there is no differentiation from the many ad-network siblings (list_ad_network_offers, ad_network_offers_advertisements, list_ad_network_reports), which an agent must distinguish here.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives. Given four sibling tools covering ad-network offers and reports, the absence of any routing guidance is a real gap; "Reads account data" is a behavioral note, not a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_authorsList authorsBRead-onlyIdempotent
List authors. Reads account data.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optionally filter authors by full name or first name (case-insensitive). | |
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds only 'Reads account data', which hints at account scoping but says nothing about pagination, filtering behavior, or return shape beyond what the schema carries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and no padding. The second sentence ('Reads account data.') is thin but not wasteful enough to hurt readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a five-parameter list tool with full schema coverage and annotations, the description is minimally adequate but omits any hint about pagination semantics or how the name filter interacts with results. No output schema exists, so return-shape explanation is not required, but the listing behavior could be clearer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (name filter, page, limit, account, publication_id) are already documented in the schema. The description adds no additional parameter meaning, which is the expected baseline when the schema does the work.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List authors'), which is clear enough to separate from the sibling get_author by the list/get distinction. However, it never explicitly differentiates itself from get_author or notes the scope of what is listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no mention of alternatives such as get_author for a single author, and no prerequisites. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_automation_journeysList automation journeysARead-onlyIdempotent
List automation journeys. Reads account data. OAuth integrations require automations:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| status | No | Optionally filter the results by the automation journey's status. | all |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| automation_id | Yes | The prefixed ID of the automation object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that: 'Reads account data' and the OAuth scope requirement 'automations:read', which an agent needs for auth planning.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then the read behavior, then the auth scope. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so return-value explanation is unnecessary, and annotations cover the safety profile. The auth scope and read nature are stated; only pagination/result-shape nuance is absent, which the schema largely covers.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including pagination, limit defaults, status enum values, and ID patterns, so the schema carries the parameter burden. The description adds no parameter-level meaning, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List automation journeys'), which is unambiguous on its own. However, it does not differentiate from closely named siblings such as list_automations, get_automation, or get_automation_journey, so an agent must infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance and never mentions the required automation_id/publication_id scoping that separates this from sibling listing tools. There are no exclusions or named alternatives, leaving routing entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_automationsList automationsARead-onlyIdempotent
List automations. Reads account data. OAuth integrations require automations:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| expand | No | Optional list of expandable objects. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, non-destructive, and open-world behavior. The description adds concrete value by naming the required OAuth scope and clarifying the data domain ('account data'), though it does not describe pagination or result behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the tool purpose front-loaded. There is no filler, and the extra information is tightly scoped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with rich annotations and fully documented schema, the description supplies the key auth prerequisite and data domain. It lacks sibling disambiguation, but the schema handles parameter/pagination details and no output schema exists.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and all five parameters are documented in the schema. The description adds no parameter-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb and resource ('List automations'), so the purpose is immediately clear. However, it does not differentiate from sibling automation-listing tools such as list_automation_journeys or automations_list_emails.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a prerequisite ('OAuth integrations require automations:read') and notes that it reads account data. It gives no explicit when-to-use guidance or alternatives versus sibling tools, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_bulk_subscription_updatesList subscription updatesBRead-onlyIdempotent
List subscription updates. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds a genuine behavioral detail beyond that — the OAuth scope subscriptions:read — but says nothing about pagination, result volume, or return shape for a list endpoint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the core purpose leads and the auth caveat follows. It is appropriately sized for a simple two-parameter read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description would ideally hint at what is returned (bulk update jobs vs. individual updates) and whether results are paginated. It covers the auth requirement but leaves the resource granularity and result nature ambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and both parameters (account, publication_id) are well documented in the schema with defaults and a pattern. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource (list subscription updates), which is clear on its own. However, it does not differentiate from close siblings such as get_bulk_subscription_update, create_bulk_subscription, or the bulk_subscription_updates status tools, leaving the agent to infer which bulk-update operation this is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus get_bulk_subscription_update or the other bulk subscription tools in the family. The only contextual statement is an auth prerequisite, which is not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_complimentary_accessList complimentary accessBRead-onlyIdempotent
List complimentary access. Reads account data. OAuth integrations require complimentary_access:read.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | Use this opaque cursor token to fetch the next page of results. Obtain the value from `next_cursor` in a previous response. | |
| expand | No | Optional list of expandable objects. `tier` - Returns the full tier object associated with this complimentary access. `stats` - Returns granted subscription counts. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral fact beyond the structured data: the required OAuth scope 'complimentary_access:read', which tells the agent a call can fail on permissions. It stops short of richer context (pagination cost of all_pages, truncation behavior), but the auth requirement is real added value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with zero padding; the purpose leads and the auth constraint trails. The first sentence is near-redundant with the title, which is the only waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with 100% schema coverage and full annotations, the description covers the essentials. However, with no output schema it gives no hint of what is returned, and it omits pagination guidance and any differentiation from get_complimentary_access, leaving clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (limit, cursor, expand, account, all_pages, max_items, publication_id) are already documented in the schema. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb+resource ('List complimentary access'), but it is essentially a restatement of the tool title with no scope qualifiers. It never distinguishes itself from the sibling get_complimentary_access, leaving the agent to infer the list-vs-single distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no condition that selects this tool over get_complimentary_access, and no exclusions. 'Reads account data' describes behavior, not usage context, so the agent gets no routing help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_condition_setsList condition setsARead-onlyIdempotent
List condition sets. Reads account data. OAuth integrations require condition_sets:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| purpose | No | Filter condition sets by purpose. When not specified, all active condition sets are returned. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds a genuinely useful non-annotation detail in the required OAuth scope, though 'Reads account data' largely restates the read-only hint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core purpose front-loaded and zero filler. It is terse but each sentence carries information, though the middle sentence is close to redundant with the read-only annotation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with fully documented parameters, the description is sufficient to call it correctly. It could mention the cursor-vs-offset pagination model, but that lives in the schema, and no output schema exists to omit.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters (pagination, account, purpose filter, all_pages, etc.) are already documented in the schema. The description adds no parameter-level meaning, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('List condition sets'), which an agent can distinguish from the singular sibling get_condition_set by the list/get naming convention. However, it does not explicitly call out that distinction the way a top-tier definition would.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the OAuth scope required ('condition_sets:read') but offers no explicit when-to-use guidance, prerequisites, or routing versus alternatives like get_condition_set. Usage is only implied by the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_custom_fieldsList custom fieldsARead-onlyIdempotent
List custom fields. Reads account data. OAuth integrations require custom_fields:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and non-destructive behavior, so the bar is lower. The description still adds real value by naming the required OAuth scope ('custom_fields:read') and noting it reads account data — auth context the annotations do not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with zero redundancy. The purpose, data scope, and auth requirement are each stated in a single clause.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with full schema coverage and no output schema, the description covers purpose and auth. It omits any mention of pagination or response shape, which would help an agent consuming a list endpoints, but the gaps are minor.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with both account and publication_id well documented in the schema (including the pub_ prefix pattern). The description adds nothing beyond that, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List custom fields') that an agent can distinguish from the create/get/update/patch/delete_custom_field siblings. However, it does not explicitly differentiate scope from get_custom_field or list_publication_fields, leaving disambiguation to the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs siblings like get_custom_field, list_publication_fields, or list_segments. The description implies enumeration but never states conditions, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_data_deletionList data deletion requestsARead-onlyIdempotent
List data deletion requests. Reads account data. OAuth integrations require data_deletion:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so safety and idempotency are covered. The description adds the auth scope requirement (data_deletion:read) and that it reads account data, which is useful context beyond annotations, but doesn't cover return format, pagination, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the action, followed by data access note and auth requirement. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given this is a read-only list tool with full schema coverage and clear annotations, the description is mostly complete. However, it lacks details on pagination, return structure, or how it relates to other data deletion endpoints, which would help an agent use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both parameters are fully documented in the schema. The description adds no parameter-specific syntax or format details beyond what the schema provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (data deletion requests), matching the title. It's clear what the tool does but doesn't differentiate from siblings like create_data_deletion or get_data_deletion beyond the obvious list-vs-create/get distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the resource and mentioning the required OAuth scope, but gives no explicit when-to-use guidance or mention of alternatives like get_data_deletion for a single request.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_engagementsGet publication engagementsCRead-onlyIdempotent
Get publication engagements. Reads account data. OAuth integrations require publications:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| direction | No | The direction that the results are sorted in. Defaults to `asc`. `asc`: Oldest to newest `desc`: Newest to oldest | asc |
| email_type | No | Filter engagement metrics by email type. If omitted, all email engagement is included. `post`: Only post emails. `message`: Only automated and system-generated emails. | |
| start_date | No | The starting date for the engagement metrics in `YYYY-MM-DD` format. Defaults to 1 day ago if not provided. | |
| granularity | No | The granularity at which to report the engagement metrics. Defaults to `day` if not provided. | |
| number_of_days | No | The number of days to return engagement metrics for, starting from `start_date`. Must be between 1 and 31. Defaults to `1` if not provided. | |
| publication_id | Yes | The prefixed ID of the publication. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so "Reads account data" is largely redundant. The OAuth scope requirement (publications:read) is genuine added context beyond the annotations, but nothing is said about return format, result size, or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the operation, with no filler. However, the extreme brevity comes at the cost of substance rather than being tight-but-complete.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-parameter reporting tool with no output schema, the description never indicates what engagement data is returned or in what shape, and says nothing about how the date, granularity, and number_of_days parameters interact. The auth note alone is insufficient for an agent to call this confidently.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% – all seven parameters carry defaults, enums, ranges, and format notes. The description adds no additional meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Get publication engagements" names a verb and resource, but it essentially restates the tool name and title without saying what an 'engagement' actually contains (opens, clicks, unsubscribes, etc.). No sibling differentiation is needed since no other engagement tool exists, but the purpose remains vague about the payload.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use context and names no alternatives, even though siblings like get_post_aggregate_stats and ad_network_reports_summary cover adjacent reporting territory. The only guidance is auth-related, not selection-related.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_exportsList subscription exportsBRead-onlyIdempotent
List subscription exports. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. This method is deprecated and limited to 100 pages maximum. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. See the [Pagination Guide](/welcome/pagination) for migration guidance. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. See the [Pagination Guide](/welcome/pagination) for more details. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is largely covered. The description adds useful non-annotation context (the required subscriptions:read OAuth scope), but stops short of describing result shape, pagination semantics, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the core action leads and the auth constraint follows. It is efficient, though 'Reads account data' is a slightly generic restatement of the read-only annotation rather than new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated read-only list tool with full schema coverage, no output schema, and clear annotations, the description covers the essentials and adds the required OAuth scope. It could be stronger by clarifying where it fits relative to create_export/get_export, but nothing critical is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (publication_id, cursor, page, limit, account, all_pages, max_items) are already richly documented in the schema. The description adds no parameter-level detail, so this sits at the baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('subscription exports'), so the agent knows the operation. It does not, however, differentiate itself from the closely-related siblings create_export/get_export or explain what a 'subscription export' contains versus other export types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is an auth prerequisite ('Reads account data. OAuth integrations require subscriptions:read.'). There is no when-to-use framing, no mention of when to prefer get_export or create_export, and no exclusions for a tool that sits among many export-adjacent siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_newsletter_listsList newsletter listsBRead-onlyIdempotent
List newsletter lists. Reads account data. OAuth integrations require newsletter_lists:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds one genuinely useful non-annotation detail — the required OAuth scope newsletter_lists:read — but "Reads account data" is largely redundant with readOnlyHint, and pagination/ordering behavior is left unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the core action front-loaded and no wasted words. The middle sentence ("Reads account data") is close to filler given the readOnly annotation, keeping it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with no output schema, the description covers the auth requirement but says nothing about return shape, page size defaults, or ordering behavior that the agent might want summarized. It is adequate but leaves clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so page, limit, account, direction, and publication_id are all fully documented in the schema. The description adds nothing beyond that, which matches the baseline of 3 when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("List newsletter lists") that an agent can act on immediately. However, it offers no differentiation from the closely named siblings get_newsletter_list, list_newsletter_list_subscriptions, or list_accounts, so the agent must infer the scope from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no conditions, and no mention of alternatives such as get_newsletter_list for a single list. Usage is only implied by the verb "List".
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_newsletter_list_subscriptionsList newsletter list subscriptionsARead-onlyIdempotent
List newsletter list subscriptions. Reads account data. OAuth integrations require newsletter_lists:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, but the description adds a genuinely useful layer beyond them: 'Reads account data' and the required OAuth scope newsletter_lists:read. Those are auth/context disclosures the annotations cannot express, though nothing is said about pagination behavior or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with zero filler; the action, the data reading, and the auth requirement are front-loaded in that order. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated list tool with no output schema, the description says nothing about what a subscription record contains or how pagination/continuation cursors behave, though the schema covers the pagination mechanics. The auth and account-reading notes make it minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including detailed guidance on cursor vs deprecated offset pagination, limit bounds, and all_pages/max_items. The description adds no parameter-level meaning, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource (list newsletter list subscriptions) that is clearly narrower than the sibling list_subscriptions and distinct from get_newsletter_list_subscription. It does not explicitly contrast itself with those siblings, so an agent must infer the difference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no alternatives named. The auth note ('OAuth integrations require newsletter_lists:read') is a prerequisite, not a routing rule, so the agent gets no help choosing between this and list_subscriptions or the single-subscription getter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_pollsList pollsBRead-onlyIdempotent
List polls. Reads account data. OAuth integrations require polls:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. | |
| expand | No | Optionally expand the response to include additional data. `stats` - Returns aggregate vote counts per choice and total completions. `poll_responses` - Returns up to 10 most recent subscriber responses. Use /polls/{pollId}/responses for paginated access to all responses. `trivia_answer` - Returns the correct answer for trivia-type polls. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| post_id | No | Filter to only return polls that were embedded in the specified post. Accepts a prefixed post ID (e.g. `post_abc123`). | |
| order_by | No | The field that the results are sorted by. Defaults to created. `created` - The time the poll was created. `name` - The name of the poll. | created |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| direction | No | The direction that the results are sorted in. Defaults to asc. `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered by structured data. The description adds the OAuth scope requirement (polls:read), which is genuine value beyond annotations, but 'Reads account data' largely restates readOnlyHint and nothing is said about result volume or pagination behavior beyond what the schema already documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with essentially no wasted words; the purpose and access constraint come first. The opening 'List polls' duplicates the tool name and title, which is a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter read tool with full schema coverage, rich annotations, and no output schema, the structured fields carry most of the burden. The description is minimally viable but omits any routing versus sibling poll tools, leaving a real gap for an agent choosing among them.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all 11 parameters, including pagination, expand, ordering, and filtering semantics, so the schema does the heavy lifting. The description adds no parameter-level meaning, making the baseline 3 correct.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('List polls'), so an agent immediately knows it is a retrieval operation. However, it offers no differentiation from close siblings such as get_poll or polls_list_responses, so it is clear but not distinguishing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus get_poll (single poll) or polls_list_responses (responses to a poll). The only contextual statement is an OAuth scope note, which is an access requirement rather than a usage guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_postsList postsCRead-onlyIdempotent
List posts. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| slugs | No | Optionally filter posts by their slugs. Adding a slug will return any post with that exact slug associated to it. Example: Filtering for `slugs: ["my-first-post","another-post"]` will return results of posts that have *either* `my-first-post` or `another-post` as their slug. | |
| expand | No | Optionally expand the results by adding additional information. `stats` - Adds statistics about the post(s). `free_web_content` - Adds the web HTML rendered to a free reader. `free_email_content` - Adds the email HTML rendered to a free reader. `free_rss_content` - Adds the RSS feed HTML. `premium_web_content` - Adds the web HTML rendered to a premium reader. `premium_email_content` - Adds the email HTML rendered to a premium reader. | |
| status | No | Optionally filter the results by the status of the post. `draft` - not been scheduled. `confirmed` - The post will be active after the `scheduled_at`. `archived` - The post is no longer active. `all` - Does not restrict results by status. | all |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| authors | No | Optionally filter posts by their authors. Adding an author name will return any post with that author associated to it (case-insensitive). Example: Filtering for `authors: ["John Doe","Jane Smith"]` will return results of posts that have *either* John Doe or Jane Smith as authors. | |
| audience | No | Optionally filter the results by audience | all |
| order_by | No | The field that the results are sorted by. Defaults to created `created` - The time in which the post was first created. `publish_date` - The time the post was set to be published. `displayed_date` - The time displayed in place of the `publish_date`. If no `displayed_date` was set, it will default to the `publish_date` | created |
| platform | No | Optionally filter the results by platform. `web` - Posts only published to web. `email` - Posts only published to email. `both` - Posts published to email and web. `all` - Does not restrict results by platform. | all |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| content_tags | No | Optionally filter posts by content_tags. Adding a content tag will return any post with that content tag associated to it. Example : Filtering for `content_tags: ["sales","closing"]` will return results of posts that have *either* `sales` or `closing` content_tags. | |
| premium_tiers | No | Optionally filter posts by audience based on premium tiers. This takes in an array of Display Names of the premium tiers. It will also scope any expanded content output to the specified premium tiers. Note: This is case insensitive. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| hidden_from_feed | No | Optionally filter the results by the `hidden_from_feed` attribute of the post. `all` - Does not restrict results by `hidden_from_feed`. `true` - Only return posts hidden from the feed. `false` - Only return posts that are visible on the feed. | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds a genuinely useful behavioral detail beyond the annotations: the required OAuth scope "posts:read" for integrations. However, it says nothing about pagination behavior, result caps, or what "account data" means in practice.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the operation and followed by the auth constraint; nothing is padded or redundant. It is efficient, though its brevity comes at the cost of substance rather than being a model of compact completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, filter-heavy list endpoint with no output schema, the description omits what a returned post contains, how pagination behaves at a high level, and why the required publication_id scopes the call. The schema covers the inputs, but the overall picture an agent needs is thin.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 15 parameters including filters, pagination, ordering, and expand fields are fully documented in the schema itself. The description contributes no parameter meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"List posts" states a clear verb and resource, but it is essentially a restatement of the tool name and title, adding no scope or differentiation from siblings like list_post_templates or get_post. An agent learns nothing about what kind of posts are returned or how this differs from other list endpoints.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance, no alternatives (e.g., get_post for a single post), and no prerequisites beyond the OAuth scope note. The auth note is useful but is not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_post_templatesGet post templatesARead-onlyIdempotent
Get post templates. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| order | No | The direction of the request. Defaults to `asc`. | asc |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| order_by | No | The field to order by. Defaults to `created`. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, open-world, and non-destructive behavior. The description adds useful context by stating it reads account data and specifies the required OAuth scope 'posts:read,' which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short, front-loaded sentences that are easy to parse. 'Get post templates' restates the title, but the following sentences add useful authorization context without excess detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given six parameters with full schema coverage and rich annotations, the description covers the core purpose and authorization needs. It omits pagination and return-format details, but those are addressed by the schema, and no output schema exists to shift that burden.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3 even without additional parameter explanation in the description. The description itself does not add meaning beyond the schema for any parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says 'Get post templates,' which is a clear verb and resource, and notes it reads account data. However, it does not distinguish this list tool from siblings like get_post_template or post_templates_workspace_index, leaving potential ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit when-to-use guidance or alternatives. It mentions OAuth scope, but this is an authorization requirement rather than usage direction, so the agent must infer context from the tool name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_publication_fieldsList publication fieldsBRead-onlyIdempotent
List publication fields. Reads account data. OAuth integrations require publication_fields:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. | |
| status | No | Filter fields by whether they have been archived. Defaults to `active`. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The readOnlyHint, idempotentHint, and destructiveHint=false annotations already establish this as a safe read operation. The description usefully adds the OAuth scope requirement (publication_fields:read) and 'Reads account data', but says nothing about pagination behavior or return shape, so it adds moderate value over the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action, then auth context. No filler. It is terse but every sentence carries information relevant to invoking the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a seven-parameter listing tool with no output schema, the description is adequate but thin: the schema covers pagination and filtering, yet the description offers no hint about the collection being returned or pagination model. It is minimally complete but not rich.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (page, limit, cursor, status, account, all_pages, max_items) are fully documented in the schema. The description adds no parameter-level meaning, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('List publication fields'), making it distinguishable from sibling operations like create_publication_field, get_publication_field, and update_publication_field. However, it does not explicitly name or contrast with those siblings, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this list tool versus alternatives such as get_publication_field or list_publications. The OAuth scope note is an auth prerequisite, not usage guidance, so the description leaves when-to-use entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_publicationsList publicationsBRead-onlyIdempotent
List publications. Reads account data. OAuth integrations require publications:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| expand | No | Optionally expand the results by adding additional information like subscription counts and engagement stats. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| order_by | No | The field that the results are sorted by. Defaults to created `created` - The time in which the publication was first created. `name` - The name of the publication. | created |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context beyond the structured fields: that it reads account data and that OAuth integrations require the publications:read scope, which the agent cannot infer from annotations or schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the operation and then the auth requirement; nothing is padded. The opening sentence is redundant with the name/title, which costs it the top mark but the overall brevity is good.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a safe read-only lister with 100% schema coverage, the definition covers the essentials and adds the auth scope. However, with no output schema, the description says nothing about what a publication record contains or how the expand stats affect the response, leaving the agent guessing about return shape.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% across all six optional parameters (pagination, expand enum, account, order_by, direction), so the schema already carries the semantics. The description adds no parameter detail whatsoever, making the baseline 3 the correct score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb+resource pair ('List publications'), which is intelligible, but it is essentially a verbatim restatement of the tool name and title with no differentiation from siblings like get_publication, list_accounts, or list_posts. An agent learns the operation class but nothing that helps it disambiguate within this large family of list/get tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Reads account data' hints at context but never states when to use this tool versus the many sibling listers, nor any exclusions or conditions. The only actionable guidance is an auth prerequisite, which is prerequisite information rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_segmentsList segmentsARead-onlyIdempotent
List segments. Reads account data. OAuth integrations require segments:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| type | No | Optionally filter the results by the segment's type. | all |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| expand | No | Optionally expand the response to include additional data. `stats` - Requests the most recently calculated statistics for a segment. Segment stats are recalculated once daily around 7 a.m. UTC for dynamic segments, but can be manually recalculated at any time in the dashboard. Manual and static segments only calculate once upon upload or creation. | |
| status | No | Optionally filter the results by the segment's status. | all |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| order_by | No | The field that the results are sorted by. Defaults to created `created` - The time in which the segment was first created. `last_calculated` - The time that the segment last completed calculation. Measured in seconds since the Unix epoch. | created |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description goes beyond that by disclosing the required OAuth scope (segments:read) and the data-access nature of the call, which is genuinely actionable for an agent configuring auth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, purpose front-loaded, with the auth constraint stated compactly. No filler, no repetition of schema detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nine-parameter list tool with full schema coverage, the description is adequate on the auth side but silent on filtering/sorting behavior and on what the response contains (no output schema exists, so the return shape is undocumented). It does the minimum without being misleading.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and every one of the nine parameters carries its own description (pagination, type/status filters, expand=stats, order_by/direction, account). The description adds nothing beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ("List segments"), so an agent knows it enumerates the segment collection. However, it does nothing to distinguish this from the sibling tools get_segment, create_segment, delete_segment, or segments_recalculate that operate on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Reads account data" and the OAuth scope note give context but no when-to-use guidance. There is no statement about when to call list_segments versus get_segment (single fetch) or how it relates to the other segment-listing/expansion tooling in the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_subscriptionsList subscriptionsBRead-onlyIdempotent
List subscriptions. Reads account data. OAuth integrations require subscriptions:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. This method is deprecated and limited to 100 pages maximum. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. See the [Pagination Guide](/welcome/pagination) for migration guidance. | |
| tier | No | Optionally filter the results by a their tier | all |
| No | Optional email address to find a subscription. This param must be an exact match and is case insensitive. | ||
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. See the [Pagination Guide](/welcome/pagination) for more details. | |
| expand | No | Optional list of expandable objects. `subscription_premium_tiers ` - Returns an array of tiers the subscription is associated with. `referrals` - Returns an array of subscriptions with limited data - `id`, `email`, and `status`. These are the subscriptions that were referred by this subscription. `stats` - Returns statistics about the subscription(s). `custom_fields` - Returns an array of custom field values that have been set on the subscription. `newsletter_lists` - Returns an array of newsletter list prefixed IDs the subscription is actively subscribed to. | |
| status | No | Optionally filter the results by a status | all |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| order_by | No | The field that the results are sorted by. Defaults to created `created` - The time in which the subscription was first created. | created |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| creation_date | No | Optional date entry (in the format YYYY/MM/DD) that filters returned subscriptions by their creation date. | |
| premium_tiers | No | Optionally filter the results by one or multiple premium tiers | |
| publication_id | Yes | The prefixed ID of the publication object | |
| premium_tier_ids | No | Optionally filter the results by one or multiple premium tier ids |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds the useful auth-scope requirement (subscriptions:read for OAuth integrations) and notes it reads account data, but says nothing about pagination behavior, result size, or rate limits beyond what the schema already documents.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler. "Reads account data" is largely redundant with readOnlyHint=true, slightly diluting an otherwise efficient definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 16-parameter list tool with no output schema, the description relies almost entirely on the schema and annotations. It adds the auth scope but omits any note on the default 10-item limit, pagination strategy, or return shape that would round out the picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 16 well-documented parameters, so the schema carries the full parameter burden. The description adds no parameter-level meaning beyond it, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List subscriptions") that an agent can act on immediately. However, it offers no differentiation from close siblings like list_newsletter_list_subscriptions or get_subscription_by_email, so the agent cannot tell which listing endpoint fits a given need from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternatives. The only extra sentence about OAuth scope is a prerequisite/auth note, not a usage condition that helps select this tool over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tiersList tiersBRead-onlyIdempotent
List tiers. Reads account data. OAuth integrations require tiers:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| expand | No | Optional list of expandable objects. `stats` - Returns statistics about the tier(s). `prices` - Returns prices for the tier(s). | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| direction | No | The direction that the results are sorted in. Defaults to asc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds genuinely useful invocation context with the required 'tiers:read' OAuth scope, but 'Reads account data' merely duplicates readOnlyHint and nothing is said about pagination defaults or what expand returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the operation, then the behavioral note and the auth requirement. Nothing is padded, though the opening sentence duplicates the title rather than adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover the safety profile and the schema fully documents all parameters, so the description is minimally sufficient. However, for a paginated list tool with an expand option and no output schema, it could have noted that results are paged (default 10) and what stats/prices expansion yields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all six parameters (page, limit, expand, account, direction, publication_id) carry their own descriptive text with defaults and constraints. The description adds no parameter-level meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List tiers'), so an agent immediately knows this is a read of tier objects. It does not distinguish itself from siblings like get_tier, create_tier, or update_tier, and the phrase largely restates the tool title, but the purpose itself is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no mention of when to prefer get_tier for a single tier, and no prerequisites beyond the OAuth scope. The agent must infer usage context entirely from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webhooksList webhooksARead-onlyIdempotent
List webhooks. Reads account data. OAuth integrations require webhooks:read.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so safety is covered. The description adds a genuinely useful fact beyond structured data: OAuth integrations require the webhooks:read scope, which an agent needs before attempting the call.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler. "Reads account data" is mildly redundant with readOnlyHint=true, which keeps it just short of a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list tool with no output schema and full schema coverage, the description covers purpose, safety, and auth. Return shape and pagination semantics are the only real gap, and pagination is partly implied by the documented limit parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with limit, account, and publication_id all documented in the schema, so the baseline is 3. The description adds no parameter-level detail such as pagination behavior or the publication_id scope constraint beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("List webhooks") that clearly distinguishes it from the mutating siblings create_webhook, update_webhook, and delete_webhook in the sibling list. It does not, however, differentiate itself from get_webhook beyond the verb, so it falls short of the 5 tier.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of when to prefer this over get_webhook or create_webhook. The only routing-adjacent content is the OAuth scope note, which is an auth prerequisite rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
newsletter_list_subscriptions_create_importCreate newsletter list subscriber importADestructive
Create newsletter list subscriber import. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | The name of a subscriber tag. Only subscribers with this tag are added. Cannot be combined with `custom_field_id`. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| custom_field_id | No | The ID of a boolean custom field. Only subscribers with this field set to `true` are added. Cannot be combined with `tag`. | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=true and idempotentHint=false, so the mutation profile is covered. The description adds genuinely non-annotated facts: it changes account state, the confirm flag must be set, and the OAuth scope newsletter_lists:write is required. It stops short of describing the import's effects (which subscribers end up added) or its asynchronous nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, no filler, with the core action front-loaded before the confirm and auth constraints. Efficient, though the sentences read as stacked constraints rather than a tightly organised statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent, eight-parameter tool with a nested payload object and no output schema, the description covers the confirm/auth essentials but omits the import lifecycle. The sibling newsletter_list_subscriptions_get_import implies an import resource with an ID and status, which an agent would want to know before invoking, and that is nowhere stated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all eight parameters, including the nested payload and the tag/custom_field_id mutual exclusion, are documented in the schema itself. The description surfaces only confirm=auth, adding no semantics beyond what structured fields already carry, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Create newsletter list subscriber import'), so an agent knows exactly what entity is being produced. It does not differentiate from near-neighbours such as create_newsletter_list_subscription, create_bulk_subscription, or create_subscription, which is the only thing keeping it out of the top band.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one real gating condition (confirm=true for the user-requested action) and an auth requirement for OAuth integrations, which is useful context. It never says when to prefer this import path over the plain subscription-creation siblings, so selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
newsletter_list_subscriptions_get_importGet newsletter list subscriber importBRead-onlyIdempotent
Get newsletter list subscriber import. Reads account data. OAuth integrations require newsletter_lists:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld and non-destructive, so the safety profile is covered. The description adds genuinely non-structured context by naming the required OAuth scope (newsletter_lists:read), which an agent needs for auth planning; it still omits what the import record contains and whether a pending import is polled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the purpose front-loaded and no padding. 'Reads account data' is mild filler that restates the read semantics already implied by 'Get' and by the annotations, keeping it just short of 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should ideally explain what a 'subscriber import' is (a bulk import job, its status, counts). It leaves that to inference, though annotations plus the fully documented schema make the call itself unambiguous.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters (account, publication_id, newsletter_list_id) are documented in the schema with patterns and defaults. The description adds no parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Get) and a specific resource (newsletter list subscriber import), and the resource name matches its sibling newsletter_list_subscriptions_create_import closely enough to imply the read counterpart of that import job. It is clear, but it never explicitly distinguishes itself from the create_import sibling or from get_newsletter_list_subscription.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no when-to-use guidance: it does not say this returns a previously created import job, nor when to prefer it over get_newsletter_list_subscription or list_newsletter_list_subscriptions. 'Reads account data' is not a usage condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
newsletter_list_subscriptions_update_by_subscription_idUpdate newsletter list subscription by subscription IDADestructive
Update newsletter list subscription by subscription ID. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| unsubscribe | No | Set to true to unsubscribe the subscription from this newsletter list. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | Yes | The prefixed ID of the subscription | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the mutation profile is known. The description earns credit for adding what the annotations do not: that it "changes account state," that a confirm=true gate is required for the user-requested action, and that OAuth integrations need newsletter_lists:write. It stops short of describing reversibility or return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each earning its place, with the core action front-loaded and the confirm gate and auth scope following. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a destructive mutation with a 100%-covered schema, nested payload object, and no output schema, the description covers the action, the confirm gate, and auth scope adequately. The only minor gap is that it does not characterize the mutation surface (essentially an unsubscribe toggle) or any result, but the schema handles the input side fully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all eight parameters, including the confirm, unsubscribe, payload, and payload_file options. The description's mention of confirm=true and the OAuth scope adds only marginal parameter meaning beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ("Update") and resource ("newsletter list subscription") and adds the scoping qualifier "by subscription ID". It is clear what the tool does, but it does not distinguish itself from close siblings such as update_newsletter_list_subscription or update_subscription, leaving the agent to infer the difference from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a prerequisite ("requires confirm=true for the user-requested action") and an OAuth scope requirement, which is genuine usage guidance. However, it never states when to prefer this tool over the sibling update_newsletter_list_subscription or update_subscription_by_email, so the when-to-use decision is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patch_custom_fieldUpdate custom fieldADestructive
Update custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| display | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| custom_field_id | Yes | The ID of the Custom Fields object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely new context: that the call changes account state, that confirm=true is required, and the OAuth scope (`custom_fields:write`) needed. It stops short of saying what specifically is destroyed or how partial updates behave, but it adds real value beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the core operation stated first, followed by the confirm requirement and the auth scope. No filler, no restatement of the title. Slightly terse given the tool's 7-parameter surface, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 7-parameter, destructive, non-idempotent mutation with no output schema, the description covers the confirm gate and auth scope but omits the PATCH-vs-update distinction and any explanation of what "changes account state" entails. An agent can call it, but the risk of picking the wrong sibling remains unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents account, confirm, payload, payload_file, and the IDs. The description adds no syntax, format, or interaction detail beyond that (e.g., it doesn't clarify how `display` at top level relates to the nested `payload.display`, or the mutual exclusivity of payload vs. payload_file, which only the schema states). Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Update custom field"), so the agent knows exactly what operation is performed. However, the sibling list contains both `update_custom_field` and `patch_custom_field`, and the description makes no attempt to distinguish the PATCH semantics from the sibling's update semantics. Clear but undifferentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives one actionable usage rule ("requires confirm=true for the user-requested action"), which tells the agent when the call is legitimate. It does not say when to choose this over `update_custom_field`, nor does it describe what happens if confirm is omitted. Usage is implied rather than fully specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patch_subscriptionUpdate subscription by IDADestructive
Update subscription by ID. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Optional parameter to set the tier for this subscription. | |
| No | The new email address for the subscription | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| unsubscribe | No | A boolean value specifying whether to unsubscribe this subscription from the publication (not required) | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| custom_fields | No | ||
| premium_tiers | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | Yes | The prefixed ID of the subscription object | |
| premium_tier_ids | No | ||
| stripe_customer_id | No | The Stripe Customer ID of the subscription (not required) | |
| newsletter_list_ids | No | ||
| complimentary_gift_id | No | ||
| unsubscribe_newsletter_list_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent, so the safety bar is lower; the description still adds two things they don't carry: that the call mutates account state and that it is gated behind an explicit confirm flag, plus the OAuth scope requirement. It omits partial-update semantics and what happens to unspecified fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the action front-loaded and no filler; the confirm requirement and auth scope each earn their place. It is arguably too terse for a 16-parameter destructive tool, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive PATCH with 16 parameters, nested objects, 63% coverage and no output schema, the description leaves major gaps: it never explains the payload-vs-individual-flag-vs-payload_file mutual exclusion, the partial-update behavior, or how it differs from the update_subscription sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters and 63% schema description coverage, the schema carries most parameter meaning. The description adds no parameter detail beyond echoing the confirm flag that the schema already documents verbatim, and says nothing about the mutually exclusive payload / body-flag / payload_file paths.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update subscription by ID'), which is clearer than the bare name. However, it does not distinguish itself from the near-identical siblings update_subscription and update_subscription_by_email, so an agent cannot tell from the description alone which of the three is intended.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete gating rule ('requires confirm=true for the user-requested action') and an auth scope, which is real usage guidance. It never says when to prefer this over update_subscription or update_subscription_by_email, so the alternative-selection guidance is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_get_episodeGet podcast episodeBRead-onlyIdempotent
Get podcast episode. Reads account data. OAuth integrations require podcasts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast | |
| podcast_episode_id | Yes | The prefixed ID of the episode |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and openWorld behavior, so the safety profile is covered. The description adds genuinely useful auth context ('OAuth integrations require podcasts:read') and notes it reads account data, but says nothing about pagination, return shape, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse, front-loaded sentences with no wasted prose. Minor deduction because the opening sentence duplicates the title verbatim rather than extending it.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only single-resource fetch with full schema coverage and annotations covering the safety profile, the definition is nearly sufficient. The auth-scope note is a helpful addition, though it lacks guidance on sibling selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are documented in the schema itself. The description adds no parameter-level meaning, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The verb+resource ('Get podcast episode') is unambiguous and distinguishes it from list-style siblings like podcasts_list_episodes. However, the first sentence merely restates the title, and it never explicitly contrasts with podcasts_get_podcast or podcasts_list_episodes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites beyond the OAuth scope, and no named alternatives among the many sibling podcast tools. The agent must infer that this is the single-episode fetch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_get_podcastGet podcastBRead-onlyIdempotent
Get podcast. Reads account data. OAuth integrations require podcasts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint, idempotentHint, destructiveHint, openWorldHint). The description adds useful context: it reads account data and OAuth integrations require the podcasts:read scope. That's a genuine addition beyond annotations, though it omits return format, error behavior, or pagination context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action. No wasted words, though the second and third sentences are fragmentary and could be slightly more structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a retrieval tool with full schema coverage and no output schema, the definition covers identity, safety, auth scope, and required IDs. It lacks return-value hints and any indication of what happens when IDs don't match, but is minimally adequate given the rich annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all three parameters are already documented in the schema, including patterns and the account default. The description adds nothing about parameter semantics beyond what the schema provides, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a clear verb+resource ('Get podcast'), distinguishing it from siblings like podcasts_list_podcasts and podcasts_get_episode. However, it doesn't explain what a 'podcast' object contains or how it differs from list_podcasts beyond the singular/plural distinction, leaving some ambiguity for an agent navigating many similarly-named siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus podcasts_list_podcasts or podcasts_get_private_feed. The description mentions 'Reads account data' but doesn't say when this retrieval is appropriate or what prerequisites exist beyond the required IDs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_get_private_feedGet private feedCRead-onlyIdempotent
Get private feed. Reads account data. OAuth integrations require podcasts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast | |
| subscription_id | Yes | The prefixed ID of the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint, so the safety profile is covered. The description adds a useful OAuth scope requirement ('OAuth integrations require podcasts:read') and reinforces that it reads account data. It does not explain return behavior, pagination, or account-selection impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no wasted elaboration. The first sentence is redundant with the title, but the auth scope requirement is useful and clearly placed. It is appropriately sized for a simple read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with full schema coverage and annotations, the description covers the minimum needed. However, it omits sibling differentiation and any return-value context, and there is no output schema to fill that gap. It is adequate but not fully complete for an agent choosing among the podcast feed tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters are already documented in the input schema. The description adds no parameter-specific detail such as how account defaults interact with required IDs. Baseline 3 is appropriate when the schema fully carries parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear action and resource ('Get private feed'), but the first sentence is largely a restatement of the tool title and name. It does not distinguish this tool from close siblings like podcasts_get_private_feed_by_email or podcasts_send_private_feed_email. The added 'Reads account data' gives only marginal specificity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives, despite several sibling tools that retrieve or send private feeds. The description does not mention prerequisites, routing conditions, or the by-email variant. 'OAuth integrations require podcasts:read' is an auth note, not usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_get_private_feed_by_emailGet private feed by emailARead-onlyIdempotent
Get private feed by email. Reads account data. OAuth integrations require podcasts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The URL-encoded email address of the subscription | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so safety is covered. The description adds genuinely non-derivable context: it reads account data and OAuth integrations need the podcasts:read scope, which tells the agent about auth prerequisites before invocation. It does not cover rate limits or return shape, keeping it out of 5 territory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the data-touch note, then the auth requirement. No filler and nothing that restates the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of telling the agent what comes back (presumably a private feed URL/token), and it says nothing about the return value. It does cover the auth requirement for a read-only, otherwise simple lookup, so it is adequate but leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (email, account, publication_id, podcast_show_id) are already documented with formats and patterns in the schema. The description adds no parameter-level meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource ('Get private feed') and adds the discriminator 'by email', which separates it from the sibling podcasts_get_private_feed. It stops short of explicitly naming that sibling or explaining how the two differ, so an agent must infer the distinction from the parameter set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance. Siblings podcasts_get_private_feed and podcasts_send_private_feed_email_by_email are never referenced, so an agent has to guess whether this is the read-by-email path or the send-by-email path. The only routing signal is the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_list_episodesList podcast episodesBRead-onlyIdempotent
List podcast episodes. Reads account data. OAuth integrations require podcasts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. Obtain the value from `next_cursor` in a previous response. | |
| status | No | Optionally filter the results by the status of the episode. `draft` - Not yet published. `scheduled` - Scheduled for future publication. `published` - Available via web and RSS. `archived` - No longer available via web or RSS. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| order_by | No | The field that the results are sorted by. Defaults to `displayed_date` `created` - The time in which the episode was first created. `updated` - The time the episode was last updated. `publish_date` - The exact time the system published the episode (when it went live), not the scheduled time the user set. `displayed_date` - The time displayed in place of the `publish_date`. Uses a custom display date if set, otherwise the scheduled time the user set for publication, otherwise the `publish_date`, otherwise the creation date. For imported episodes, the original feed's `pubDate` is stored as the custom display date. This is the same field used to order episodes in the podcast's RSS feed. | displayed_date |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| direction | No | The direction that the results are sorted in. Defaults to desc `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond them — that it reads account data and requires the podcasts:read scope — but says nothing about pagination semantics or result caps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences that lead with the action and then stack the permission facts; nothing is redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool this is thin, but the schema fully documents every parameter (including the deprecated page vs recommended cursor guidance) and annotations carry the safety profile, so the description's gaps are minor. Auth/scope coverage is the key addition and it is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with rich per-parameter docs (pagination tradeoffs, ordering, status enum, account selection), so the schema does the heavy lifting. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List podcast episodes'), which clearly separates it from podcasts_get_episode and podcasts_list_podcasts. It is unambiguous but does not go out of its way to contrast with the sibling list/get tools beyond the name itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers no when-to-use guidance: it never says when to pick this over podcasts_get_episode, nor when to use cursor vs page vs all_pages. 'Reads account data' and the OAuth scope note are auth/permission facts, not usage routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_list_podcastsList podcastsARead-onlyIdempotent
List podcasts. Reads account data. OAuth integrations require podcasts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. Obtain the value from `next_cursor` in a previous response. | |
| status | No | Optionally filter the results by the status of the podcast. `draft` - No episodes have been published. `live` - Published and active. `archived` - The podcast is no longer active. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so the safety profile is covered. The description adds non-redundant context the annotations lack: it reads account data and requires the podcasts:read OAuth scope, which matters for agents operating with limited credentials.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, purpose front-loaded, with the auth requirement stated before any elaboration. Nothing is wasted and no sentence merely restates structured data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter list tool with no output schema, the description plus the fully documented schema cover what an agent needs to call it correctly, including the auth scope. The remaining gap is that it says nothing about pagination behavior or result shape, though cursor/limit/all_pages semantics are handled in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 8 parameters (including pagination, status filter, account selection, and all_pages/max_items) are already documented in the schema. The description adds no parameter-level meaning beyond that, which is the expected baseline when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ("List podcasts") and the required publication scoping is visible in the schema. However, it does not differentiate from close siblings such as podcasts_get_podcast or podcasts_list_episodes, which an agent could plausibly confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives (get_podcast, list_episodes, list_publications) and no exclusions or preconditions beyond the required publication_id. Usage must be inferred entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_send_private_feed_emailSend private feed emailADestructive
Send private feed email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require podcasts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast | |
| subscription_id | Yes | The prefixed ID of the subscription |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is covered. The description adds value beyond that by disclosing the confirmation requirement and the podcasts:write OAuth scope, both of which the agent needs before attempting the call. It stops short of describing what the email delivery actually does or whether it can be repeated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the action, the state change, and the auth requirement each stated once. The opening sentence largely restates the title, but there is no padding or repetition beyond that.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, open-world mutation with no output schema, the description covers the safety essentials (state change, confirm, scope). It omits what distinguishes it from its near-duplicate sibling and what the resulting email delivery entails, which are the remaining gaps an agent would need filled.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema, including the confirm flag the description repeats. The description adds no syntax, format, or default information beyond what the schema provides, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('Send private feed email'), which is clearly a mutation on a podcast subscription. It does not, however, distinguish this tool from the near-identically named sibling podcasts_send_private_feed_email_by_email, leaving the agent to guess which one applies.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete usage constraint — confirm=true must be set for the user-requested action — and notes the OAuth scope requirement, which is genuine guidance. But it never says when to choose this tool over podcasts_send_private_feed_email_by_email or podcasts_get_private_feed, so the routing decision is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
podcasts_send_private_feed_email_by_emailSend private feed email by emailADestructive
Send private feed email by email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require podcasts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The URL-encoded email address of the subscription | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| podcast_show_id | Yes | The prefixed ID of the podcast |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the mutation profile (readOnlyHint=false, destructiveHint=true, idempotentHint=false, openWorldHint=true). The description adds value beyond those flags by stating it 'Changes account state', that a confirm=true guard is required, and that 'OAuth integrations require podcasts:write' – an auth-scope requirement the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler; the state-change and confirm constraints are front-loaded after the purpose. The repetition of 'by email' twice and the vagueness of the phrase keep it from being maximally tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent write with a fully documented 5-parameter schema and no output schema, the description covers the essential call requirements: the mutation, the confirm guard, and the OAuth scope. It stops short of clarifying the email-addressing behavior or the relationship to the sibling send tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the semantics of 'confirm', 'account', and both prefixed IDs, so the schema carries the burden. The description only restates the confirm requirement and adds no format or constraint detail beyond the schema, which is the expected baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence names a specific verb ('Send') and resource ('private feed email'), so the core operation is clear. It does not, however, distinguish this tool from the close sibling 'podcasts_send_private_feed_email' or explain what the 'by email' addressing mode changes, so an agent must infer the split from the schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'requires confirm=true for the user-requested action' gives a concrete precondition for invocation, which is real usage guidance. But there is no statement of when to prefer this over 'podcasts_send_private_feed_email' or the private-feed retrieval tools, so the routing decision is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
polls_list_responsesList poll responsesBRead-onlyIdempotent
List poll responses. Reads account data. OAuth integrations require polls:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. | |
| expand | No | Optionally expand the response to include additional data. `post` - Returns the post title and publication date for the post where each response was collected. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| poll_id | Yes | The prefixed ID of the poll object | |
| post_id | No | Filter to only return responses collected via the specified post. Accepts a prefixed post ID (e.g. `post_abc123`). | |
| order_by | No | The field that the results are sorted by. Defaults to created. | created |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| direction | No | The direction that the results are sorted in. Defaults to asc. `asc` - Ascending, sorts from smallest to largest. `desc` - Descending, sorts from largest to smallest. | asc |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it 'Reads account data' and the required OAuth scope 'polls:read', which is useful context beyond annotations. It does not describe pagination behavior or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences that are front-loaded with the core action and add permission scope. No wasted words, though it could be slightly more informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a list tool with 12 parameters and no output schema, the description is minimal. The schema covers parameters fully, and annotations cover safety, but the description lacks details on return structure, pagination behavior, or how to handle large result sets, which would be helpful for a tool with multiple pagination options.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all 12 parameters are fully documented in the schema, including pagination, filters, and sorting. The description adds no parameter-specific information, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('List poll responses'), which is clear on its own. However, it does not differentiate from sibling tools like get_poll or list_polls, leaving the agent to infer the distinction from the name alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as get_poll or list_polls. The description only mentions OAuth scope, which is a usage constraint but not a when-to-use guideline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_templates_workspace_createCreate workspace post templateBDestructive
Create workspace post template. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the post template. | |
| blocks | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| headers | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| utm_medium | No | The utm_medium appended to links in posts built from this template. | |
| utm_source | No | The utm_source appended to links in posts built from this template. | |
| description | No | The description of the post template. | |
| body_content | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| social_share | No | The social share style posts built from this template start with. | |
| utm_campaign | No | The utm_campaign appended to links in posts built from this template. | |
| web_settings | No | ||
| email_settings | No | ||
| utm_params_enabled | No | Whether UTM parameters are appended to links in posts built from this template. Omit to inherit from the newsletter list, then the publication. | |
| email_capture_type_override | No | The email capture type posts built from this template start with. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=true, idempotentHint=false), the description adds meaningful behavioral context: it discloses that the call changes account state, that confirm=true is gated on explicit user intent, and that OAuth integrations need the posts:write scope. These auth and confirmation details are genuine value-adds, though it does not spell out reversibility or what exactly the mutation affects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action and then the safety/auth caveats. Every sentence carries information and there is no padding. It could be slightly more informative for such a complex tool without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the very large nested input schema (17 params, recursive block definitions) and no output schema, the description is thin: it never explains the alternate body forms (payload vs. body flags vs. payload_file), nor what the created template returns. It covers the critical behavioral facets (state change, confirm, scope), making it minimally adequate but incomplete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 71%, so the schema already documents most parameters (name, blocks, payload, utm_*, web/email settings, etc.). The description adds meaning only for confirm; it says nothing about the payload-vs-individual-flags duality or the account selection. Baseline 3 is appropriate since the schema carries the parameter burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence states a clear verb and resource ("Create workspace post template"), but it is essentially a verbatim restatement of the tool name/title. It offers no differentiation from close siblings like create_post_template or the post_templates_workspace_index/show tools, so an agent cannot tell which template-creation tool to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides one concrete usage condition — that confirm=true is required for the user-requested action — which aligns with the schema's guidance for the confirm parameter. However, there is no when-to-use vs. when-not, no mention of alternatives (e.g., create_post_template vs. this workspace variant), and no prerequisites beyond the OAuth scope note.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_templates_workspace_indexList workspace post templatesBRead-onlyIdempotent
List workspace post templates. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint, and destructiveHint=false, so the safety profile is covered. The description adds genuine value beyond them by stating it reads account data and requires the `posts:read` OAuth scope, which an agent needs to know before invoking.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the primary purpose leads and supporting auth facts follow. Efficient and easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description should carry more of the return-shape burden, and it says nothing about what a template object contains. It does cover the auth and read-only essentials, and pagination is fully handled by the schema, so it is adequate but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all six parameters (including the deprecated `page` vs recommended `cursor`, `limit`, `all_pages`, `max_items`) are fully documented in the schema. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List workspace post templates"), matching the title and clearly scoping to workspace post templates. It does not, however, differentiate itself from the very similar sibling `list_post_templates` or from `post_templates_workspace_show`, leaving an agent to infer the distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance and no mention of the alternatives (`list_post_templates`, `post_templates_workspace_show`, `post_templates_workspace_create`). The only contextual hint is the OAuth scope note, which is about auth rather than tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
post_templates_workspace_showGet workspace post templateBRead-onlyIdempotent
Get workspace post template. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| post_template_id | Yes | The prefixed ID of the post template object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is fully covered. The description adds a useful non-annotation detail, the required OAuth scope 'posts:read', but says nothing about return format or pagination, keeping it at a modest level of added context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, and the purpose is front-loaded before the behavioral notes. Nothing needs trimming.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read of one object with fully documented parameters, rich annotations, and no output schema to explain, the definition is nearly sufficient. The main omission is any hint of how it relates to the similarly named template siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both 'account' (with default resolution) and the required 'post_template_id' (with ID pattern) are already documented in the schema. The description adds no parameter-level detail beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb+resource ('Get workspace post template'), so an agent knows this is a read of a specific template object. However, it does not differentiate from close siblings such as get_post_template or post_templates_workspace_index, which the agent must disambiguate on its own.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use or when-not-to-use guidance and no reference to any alternative tool. The only added sentence concerns auth scope, which is a prerequisite rather than usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_postGenerate post preview URLBRead-onlyIdempotent
Generate post preview URL. Reads account data. OAuth integrations require posts:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| post_id | Yes | The prefixed ID of the post object | |
| platform | No | `email` (default) or `web`. | |
| tier_ids | No | One or more premium tier IDs to preview as. Only used when `subscriber_type` is `premium`. Ignored if `subscriber_id` is present. | |
| subscriber_id | No | Preview using a specific subscriber's real tier memberships. Takes precedence over `subscriber_type`/`tier_ids` when present. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| subscriber_type | No | `free` (default) or `premium`. `premium` requires `tier_ids` to be present. Ignored if `subscriber_id` is present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuinely useful context beyond that ('Reads account data', posts:read scope requirement), but omits what the tool actually returns (a URL) or whether it has side effects on the post.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences with the core purpose front-loaded and no filler. It is efficient, though the fragment 'Reads account data' is slightly terse and could be integrated more meaningfully.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with a fully documented 7-parameter schema and no output schema, the description covers the essentials but leaves gaps: it does not indicate that a preview URL is the return value, nor clarify the read-scope implications versus sibling preview tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and each parameter — including the tier_ids/subscriber_id precedence rules and platform defaults — is already thoroughly documented in the schema. The description contributes no additional parameter meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Generate post preview URL') that is clearly distinct from siblings like get_post, send_post_test, and update_post. However, it does not explicitly contrast itself with send_post_test, which is the closest alternative for previewing a post.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an authorization prerequisite ('OAuth integrations require posts:read') but never says when to use this tool versus alternatives like send_post_test or get_post. No when/when-not guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publication_fields_values_indexList publication field valuesCRead-onlyIdempotent
List publication field values. Reads account data. OAuth integrations require publication_fields:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | **Offset-based pagination (deprecated)**: Page number for offset-based pagination. Please migrate to cursor-based pagination using the `cursor` parameter. If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| cursor | No | **Cursor-based pagination (recommended)**: Use this opaque cursor token to fetch the next page of results. When provided, pagination will use cursor-based method which is more efficient and consistent than offset-based pagination. | |
| status | No | Filter the fields returned for a publication by whether they have been archived. Only applies alongside `publication_id`, and defaults to `active`. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| all_pages | No | Read successive cursor pages, bounded by max_items (default 1000). | |
| max_items | No | Maximum records when all_pages=true. Returns continuation cursor and truncation. | |
| publication_id | No | Return one result per field for this publication. Cannot be combined with `publication_field_id`. | |
| publication_field_id | No | Return one result per publication for this field. Cannot be combined with `publication_id`. Archived fields are accepted, since their values still resolve in content. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the auth requirement ('OAuth integrations require publication_fields:read'), which is genuine context beyond annotations, but 'Reads account data' is vague filler and nothing is said about pagination or result size.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no padding. The middle sentence ('Reads account data') is the weakest and borders on redundant with the readOnlyHint annotation, but the overall size is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters, cursor/offset pagination, and a status filter, this is a moderately complex tool, and the description says nothing about the two mutually exclusive lookup modes or pagination behavior. The 100% schema coverage and existing annotations carry most of the burden, so it is adequate but leaves real gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 9 parameters including pagination modes, status filter, and the mutually exclusive publication_id/publication_field_id pair. The description adds no parameter meaning beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb and resource ('List publication field values'), which is better than a tautology, but it does not distinguish itself from the very similar sibling 'list_publication_fields'. An agent cannot tell from the description whether this returns field definitions or the distinct values stored in those fields.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no exclusions, and no routing to alternatives. The only contextual information given is the OAuth scope prerequisite ('publication_fields:read'), which is a prerequisite rather than usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
publication_fields_values_updateAssign publication field valuesADestructive
Assign publication field values. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require publication_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| values | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_field_id | Yes | The prefixed ID of the publication field object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the safety profile is partly covered. The description adds genuinely new context beyond that: the confirm=true requirement and the OAuth scope publication_fields:write. It could still say more about what is destroyed or how non-idempotency manifests.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the core purpose is front-loaded before the operational constraints. Efficient, though slightly abrupt.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation with a nested values object and no output schema, the description covers the confirmation and auth requirements but omits what happens to publications absent from the values map, the semantics of null/empty clearing (left to the schema), and any reversibility. Adequate but incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents values, account, payload, payload_file, and confirm. The description's only parameter-level contribution is the confirm=true requirement, which is largely duplicative of the confirm schema description. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb 'Assign' and resource 'publication field values', which distinguishes it from the read-only sibling publication_fields_values_index and the field-definition tool update_publication_field. It is clear but does not explicitly name or contrast those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It notes the tool changes account state and requires confirm=true for a user-requested action, which implies when it is appropriate to call. However, it never says when to prefer this over update_publication_field or how it differs from the sibling field-value endpoints, so the routing guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remove_tagRemove subscription tagADestructive
Remove subscription tag. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Tags to remove from the subscriber | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication. | |
| subscription_id | Yes | The prefixed ID of the subscription. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and non-idempotence, so the safety profile is covered. The description adds real value beyond that: it states the call changes account state, mandates confirm=true, and names the required OAuth scope (subscriptions:write). It does not say whether the change is reversible or what happens if a tag is absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then the mutation/confirmation constraint, then the auth requirement. No filler or repetition; it could be marginally tighter but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with no output schema, the description covers the essentials an agent needs: it mutates state, requires confirmation, and requires a specific OAuth scope. Edge behavior (unknown tags, reversibility, bulk semantics via payload) is left unaddressed but is secondary given the rich schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter is already documented, making the 3 baseline appropriate. The description echoes the confirm requirement and confirms the mutation intent but adds no format, defaulting, or interaction detail beyond the schema (e.g., payload vs. body flags).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Remove subscription tag') that clearly identifies the operation. It is distinguishable from the inverse sibling add_tags by verb alone, though it never names or contrasts with that sibling explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete usage precondition - confirm=true only for the user-requested action - which is genuinely helpful. However, it offers no when-to-use vs. when-not guidance and does not point to alternatives such as add_tags or delete_subscription, leaving routing largely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_bulk_subscription_updateUpdate subscriptionsBDestructive
Update subscriptions. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| subscriptions | No | ||
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the safety profile is covered. The description still adds real value beyond that: it warns that the call changes account state, states the confirm=true requirement, and names the OAuth scope subscriptions:write — auth scope is context the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler, and the state-changing/confirm warning is placed early. The opening sentence is somewhat wasted by echoing the title, but nothing is bloated.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive bulk mutation with no output schema and nested payloads, the description covers the destructive/confirm/auth essentials but omits replace-vs-patch semantics, the 1000-item ceiling, and the payload/payload_file/subscriptions mutual exclusion — all of which matter for invoking this correctly and are only partly recoverable from the schema. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents confirm, publication_id, payload, payload_file, account, and the subscription item fields. The description adds no syntax or format detail beyond the schema; the confirm rule it mentions is already spelled out on the confirm property. Baseline 3 applies when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Update subscriptions" restates the title and names a verb+resource but omits the defining trait of this tool: it is a bulk (up to 1000 items) replace-style update. It also never distinguishes itself from the many siblings named update_subscription, patch_subscription, update_bulk_subscription_update, and bulk_subscription_updates_patch_status, so an agent cannot tell which mutation to pick from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage-shaped statement is "requires confirm=true for the user-requested action," which is a gating rule rather than when-to-use guidance. There is no indication of when to prefer this over patch_subscription, update_subscription, or update_bulk_subscription_update, nor any prerequisites such as selecting a publication first.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replace_tierUpdate a tierBDestructive
Update a tier. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require tiers:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| tier_id | Yes | The prefixed ID of the tier object | |
| description | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| prices_attributes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is known. The description adds genuinely new context beyond that: it mutates account state and needs the tiers:write OAuth scope. It stops short of saying what the destructive path can remove (e.g. price deletion via prices_attributes.delete).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short, front-loaded sentences with no filler; the mutation/confirmation constraint leads and the auth requirement follows. Nothing is wasted, though it could be tighter by folding the auth note into the confirmation sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 9-parameter tool with nested price objects and no output schema, the description covers confirmation and auth but omits the replace-vs-update distinction from its sibling, the effect on existing prices, and any indication of partial vs full replacement. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so the schema documents most parameters (account, confirm, payload, payload_file, tier_id, publication_id) already. The description only echoes confirm, adding no syntax or meaning beyond the schema's own text, which matches the baseline 3 for this coverage level.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a verb+resource ('Update a tier'), but the sibling list contains update_tier and create_tier, and the description never distinguishes replace_tier from update_tier or explains the replace/full-replacement semantics implied by the name. An agent cannot tell which tier-mutation tool to pick from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one concrete precondition ('requires confirm=true for the user-requested action') and an auth requirement ('OAuth integrations require tiers:write'), which is useful. However, it offers no when-to-use guidance relative to update_tier, create_tier, or delete, so the routing decision remains implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segments_expand_resultsList segment subscriber IDsBRead-onlyIdempotent
List segment subscriber IDs. Reads account data. OAuth integrations require segments:read.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Pagination returns the results in pages. Each page contains the number of results specified by the `limit` (default: 10). If not specified, results 1-10 from page 1 will be returned. | |
| limit | No | A limit on the number of objects to be returned. The limit can range between 1 and 100, and the default is 10. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| segment_id | Yes | The prefixed ID of the segment object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered structurally. The description adds genuinely useful context beyond that by naming the required OAuth scope (segments:read) and noting it reads account data, but it says nothing about pagination traversal or the scope of the read beyond the single segment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the two facts an agent needs (data access and auth scope). No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only list endpoint with a fully documented schema and no output schema, the description is adequate but leaves two gaps: how results are paged back and how this differs from get_segment_subscribers. The name's 'expand_results' phrasing also hints at behavior the description never explains.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters (page, limit, account, segment_id, publication_id) are already documented with ranges and ID patterns. The description adds no parameter-level meaning, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List segment subscriber IDs') and makes clear the payload is IDs rather than full subscriber objects. However, it does nothing to distinguish itself from the sibling get_segment_subscribers, which an agent would reasonably consider for the same task.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of alternatives. With get_segment_subscribers present in the sibling list, the absence of any routing hint leaves the agent to guess which of the two tools to invoke.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
segments_recalculateRecalculate segmentBDestructive
Recalculate segment. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require segments:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| segment_id | Yes | The prefixed ID of the segment object | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, so the safety profile is covered. The description adds genuinely new context beyond the annotations: the fact that it "changes account state" and the OAuth scope requirement "segments:write." It stops short of saying what state is destroyed or whether the recalculation is synchronous.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the action and the confirm requirement front-loaded; nothing is bloated. Minor deduction because the confirm sentence partially duplicates the schema's own confirm description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with full annotation coverage and a fully described 4-parameter schema, the description supplies the key extras an agent needs: confirm gating, state mutation, and auth scope. No output schema exists, so return-value detail is not expected.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including confirm and account is already documented in the schema. The description repeats the confirm semantics ("requires confirm=true") without adding format or edge-case detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence, "Recalculate segment," is essentially a restatement of the tool name and title, so it does not explain what recalculation actually does (recompute membership? refresh counts? async job?). It is a verb+resource but leaves the operation's effect undefined and does not distinguish it from siblings like get_segment or segments_expand_results.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implies when the tool should be invoked by tying confirm=true to "the user-requested action," which is real usage guidance. However, it names no alternative tool and gives no explicit when-not conditions or prerequisites beyond that single flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_post_testSend test emailBDestructive
Send test email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| post_id | Yes | The prefixed ID of the post object | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| recipient_emails | No | One or more email addresses to send the test to. Returns 422 if the daily test send limit has been reached. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, readOnlyHint=false, openWorldHint=true. The description adds the confirm=true gate and 'changes account state', which is useful supplementary context, but the cryptic 'OAuth integrations require posts' adds little clarity and the destructive side effects are not spelled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and immediately followed by the state-change warning and the confirm requirement. Tight and without padding, though 'OAuth integrations require posts' is terse to the point of ambiguity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with no output schema, the state-change and confirm context is helpful but incomplete: it does not explain what 'account state' is affected, success/return behavior, or the 422 rate-limit implications already hinted at in the schema. Adequate but with clear gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all seven parameters including recipient_emails, confirm, and payload. The description only echoes the confirm requirement and adds no syntax or format detail beyond the schema, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence 'Send test email' restates the title verbatim and gives the resource but no differentiating scope. With many sibling send/email tools (podcasts_send_private_feed_email, preview_post), an agent cannot tell what makes this one distinct or which post/publication it targets from the description alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a prerequisite ('requires confirm=true for the user-requested action'), which is real usage guidance, but gives no when-to-use vs when-not guidance and never contrasts with alternatives like preview_post. Usage is implied rather than directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_bulk_subscription_updateUpdate subscriptionsCDestructive
Update subscriptions. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| subscriptions | No | ||
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and readOnlyHint=false, so the mutation profile is known. The description adds two genuinely useful facts beyond the annotations: the required confirm=true confirmation gate and the OAuth scope subscriptions:write. It stops short of describing scope of destruction or reversibility, but against annotation coverage this is adequate value-add.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the core action followed by the confirm requirement and auth scope. Nothing is padded and the ordering puts the most decision-relevant facts first. It is efficient, though very brief relative to the tool's complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive bulk-mutation tool with a deeply nested schema and no output schema, the description covers the key safety facts (confirm, auth scope) but omits bulk semantics (max 1000, per-item patching) and its relationship to replace_bulk_subscription_update. The rich schema compensates for missing parameter detail, so it is minimally complete rather than fully so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents nearly all parameters in detail (subscription_id pattern, newsletter_list_ids add-only semantics, unsubscribe conflicts, payload alternatives). The description mentions confirm=true, adding a small amount, but does not extend meaning for the nested bulk structures. Baseline 3 is appropriate when the schema carries the load.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a clear verb and resource ("Update subscriptions") and notes it stands out as a bulk/account-state mutation. However, it fails to differentiate from the many sibling update tools such as update_subscription, patch_subscription, update_subscription_by_email, and replace_bulk_subscription_update. An agent cannot tell from the text alone why it should pick this tool over those, which is critical given the crowded sibling set.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only guidance is the precondition that confirm=true is required, which is a safety gate rather than selection criteria. There is no statement of when to use this tool versus the single-update siblings or replace_bulk_subscription_update, nor any exclusion of conflicting tools. An agent is left to infer correct usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_custom_fieldUpdate custom fieldBDestructive
Update custom field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require custom_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| display | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| custom_field_id | Yes | The ID of the Custom Fields object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description goes beyond them by disclosing the auth requirement (custom_fields:write for OAuth integrations) and the confirm-gating precondition, which are behavioral facts not present in the structured fields. It still doesn't say what state is lost on update, keeping it short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the two gating facts (confirm, OAuth scope). Nothing is padded, though the opening sentence is pure redundancy with the name and title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 7-parameter mutation with a nested payload object and no output schema, the description covers the auth scope and confirm gate but says nothing about what the update replaces, whether fields are merged or overwritten, or what the call returns. Annotations and the 86%-documented schema carry most of the remaining burden, making this minimally adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 86%, so the schema already documents account, confirm, payload, payload_file, publication_id and custom_field_id in detail. The description only echoes the confirm=true rule and adds no syntax or format meaning beyond the schema, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence restates the name and title almost verbatim ('Update custom field'), adding no scope or resource detail. It does not distinguish this tool from close siblings like patch_custom_field, create_custom_field, or delete_custom_field, so an agent cannot tell which custom-field mutation to pick without opening the schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives one concrete usage rule: confirm=true only when the user asked for exactly this action, which is real invocation guidance. It offers no when-to-use versus patch_custom_field or create_custom_field, and no exclusions, so usage is only partially implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_newsletter_listUpdate newsletter listBDestructive
Update newsletter list. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | The name of the newsletter list. | |
| slug | No | A unique slug for the newsletter list. | |
| status | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| headers | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| utm_medium | No | The utm_medium appended to links in posts sent to this list. | |
| utm_source | No | The utm_source appended to links in posts sent to this list. | |
| description | No | A description of the newsletter list. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| utm_campaign | No | The utm_campaign appended to links in posts sent to this list. | |
| auto_subscribe | No | Whether new subscribers are automatically subscribed to this list. | |
| email_settings | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object | |
| utm_params_enabled | No | Whether UTM parameters are appended to links in posts sent to this list. When left unset on the list, falls back to the publication. | |
| show_in_preference_center | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and readOnlyHint=false, so the safety profile is known. The description adds genuinely non-redundant context: the call mutates account state and requires an explicit confirm=true plus the newsletter_lists:write scope, which tells the agent about confirmation and auth prerequisites. It stops short of describing what is overwritten when fields are omitted.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler; the confirmation and scope requirements are stated compactly. The only structural weakness is that the lead sentence is a redundant restatement rather than the most decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter destructive mutation with nested objects and no output schema, the description covers confirmation and auth but omits patch semantics (whether unset fields are preserved), the bulk/payload alternative, and what a successful update returns. Adequate to call it safely, but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 18 parameters and 78% schema description coverage, the schema already carries the bulk of parameter meaning, so a 3 baseline applies. The description adds only one parameter-level fact (confirm must be true for the user-requested action) and says nothing about the payload vs. body-flags vs. payload_file mutual exclusion or which fields are left untouched.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence, 'Update newsletter list,' is a verbatim restatement of the tool name and title, which the rubric classifies as tautology. It never says which aspects of the list are updatable (name, slug, status, headers, UTM settings) or how it differs from siblings like create_newsletter_list, delete_newsletter_list, or get_newsletter_list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description supplies one concrete usage precondition — confirm=true is required for the user-requested action — and notes the OAuth scope needed. It gives no guidance on when to prefer this tool over patch-style siblings or update_publication_field, and no when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_newsletter_list_subscriptionUpdate newsletter list subscriptionBDestructive
Update newsletter list subscription. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require newsletter_lists:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| unsubscribe | No | Set to true to unsubscribe the subscription from this newsletter list. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| newsletter_list_id | Yes | The prefixed ID of the newsletter list object | |
| newsletter_list_subscription_id | Yes | The prefixed ID of the newsletter list subscription object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is partly covered. The description adds meaningful context beyond that: it changes account state, requires an explicit confirm flag, and requires the newsletter_lists:write OAuth scope. This is solid added value for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, front-loaded with the action and its preconditions. The opening sentence duplicates the name/title, which is slightly wasteful, but overall there is little filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive mutation tool with full schema coverage and complete annotations, the description supplies the missing pieces an agent needs: the state change, the confirm requirement, and the auth scope. It does not detail reversibility of the unsubscribe action, but with annotations and schema in place this is close to complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description reinforces the confirm flag's semantics ("for the user-requested action") but adds nothing about the unsubscribe flag, payload, or ID parameters beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb and resource ("Update newsletter list subscription"), which matches the name and title almost verbatim. It does not specify what aspect of the subscription is actually changed (the schema reveals it is an unsubscribe flag), so the agent cannot distinguish the specific effect from the sibling create/get/delete subscription tools without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Requires confirm=true for the user-requested action" gives an actionable precondition for invoking the tool. However, there is no guidance on when to use this tool versus alternatives such as create_newsletter_list_subscription, newsletter_list_subscriptions_update_by_subscription_id, or get_newsletter_list_subscription.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_postUpdate postCDestructive
Update post. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require posts:write.
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | The title of the post. | |
| blocks | No | ||
| status | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| headers | No | ||
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| post_id | Yes | The prefixed ID of the post to update | |
| subtitle | No | The subtitle of the post. | |
| recipients | No | ||
| utm_medium | No | The utm_medium appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. | |
| utm_source | No | The utm_source appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. | |
| body_content | No | ||
| content_tags | No | The content tags for this post. When provided, this replaces all existing content tags on the post. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| scheduled_at | No | The time at which the post will be published. Cannot be updated after the post has already been sent. | |
| seo_settings | No | ||
| social_share | No | The social share type to use for this post. | |
| utm_campaign | No | The utm_campaign appended to links in this post. Falls back to the newsletter list, then the publication, then a generated default. | |
| web_settings | No | ||
| email_settings | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| team_author_ids | No | ||
| guest_author_ids | No | ||
| newsletter_list_id | No | The prefixed ID of the newsletter list to associate with this post. When provided, updates the newsletter list association. Pass null to remove the association. | |
| utm_params_enabled | No | Whether UTM parameters are appended to links in this post. When left unset on the post, falls back to the newsletter list, then the publication. | |
| thumbnail_image_url | No | The URL of the thumbnail image to use for the post. | |
| override_scheduled_at | No | A display date that overrides the scheduled_at date shown in the email. Does not affect the actual publish date. | |
| content_merge_strategy | No | ||
| email_capture_type_override | No | The email capture type to use for this post. | |
| custom_link_tracking_enabled | No | If true, custom link tracking will be enabled for this post. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the mutation profile is covered. The description adds genuinely new context: the confirm=true gate, the fact that it changes account state, and the OAuth scope requirement (posts:write). It is consistent with, not contradicted by, the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with constraints, so there is no padding. However, the opening sentence "Update post." earns nothing and could have been spent on scope detail, making the brevity partly under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity destructive mutation with no output schema and 31 parameters, the description covers the safety-critical bits (confirm, auth scope) but is silent on the tool's actual scope, the blocks-vs-body_content exclusivity, and the payload variants. The rich schema compensates for much of the parameter detail, keeping this at a minimum-viable level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 65%, so a meaningful share of the 31 parameters are undocumented. The description only touches confirm, and its phrasing duplicates the schema's own confirm description ("Set true only when the user asked for exactly this action"). It adds no syntax, format, or constraint detail for title, blocks, status, payload, or the other body flags.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Update post" names a specific verb+resource and distinguishes it from create_post/delete_post/get_post, but the sentence is essentially a restatement of the name and says nothing about what aspects of a post can be updated. For a tool with a 31-parameter surface, this is vague rather than specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a conditional rule (confirm=true for the user-requested action) but no guidance on when to use update_post versus siblings like create_post, delete_post, or the payload/payload_file variants. No when-not conditions or alternative routing are offered.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_publication_fieldUpdate publication fieldBDestructive
Update publication field. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require publication_fields:write.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | Set to `archived` to archive the field, or `active` to restore it. Left unchanged when omitted. | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| display | No | The human readable label for the field. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| endpoint_url | No | The URL the value is retrieved from. Only supported for fetched fields. May contain merge tags that resolve per publication. | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| default_value | No | The value used for publications that have not set one of their own. | |
| response_keys | No | ||
| publication_field_id | Yes | The prefixed ID of the publication field object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is known; the description goes further by naming the confirm gate that must be satisfied and the publication_fields:write OAuth scope. It does not explain what archiving via status does to dependent data, which is the one remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the confirm requirement front-loaded alongside the mutation warning. The first sentence is pure redundancy with the title, which is the only waste in an otherwise tight definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 10-parameter destructive mutation with a nested payload object and no output schema, the description covers the highest-risk behaviors (confirm gate, auth scope) but omits consequences of status=archived, whether nested payload replaces existing keys, and the fact that payload cannot be combined with body flags — all of which the agent must infer from the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 90%, so the schema already documents status, payload, endpoint_url, response_keys, payload_file and confirm in detail. The description mentions confirm but adds no syntax, defaults, or mutual-exclusion nuance beyond what the schema's own descriptions provide.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The lead sentence 'Update publication field' is a tautological restatement of the tool name and title; it names no specific updatable aspects (status, display, endpoint_url, payload) even though they exist. The remaining sentences describe behavior and auth rather than what the tool actually modifies, so an agent learns little about purpose from the description text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It supplies one concrete usage condition — 'requires confirm=true for the user-requested action' — and the auth scope needed for OAuth integrations. However, it never contrasts this tool with close siblings such as publication_fields_values_update, create_publication_field, or get_publication_field, so the agent gets a condition but no routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_subscriptionUpdate subscription by IDADestructive
Update subscription by ID. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Optional parameter to set the tier for this subscription. | |
| No | The new email address for the subscription | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| unsubscribe | No | A boolean value specifying whether to unsubscribe this subscription from the publication (not required) | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| custom_fields | No | ||
| premium_tiers | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| subscription_id | Yes | The prefixed ID of the subscription object | |
| premium_tier_ids | No | ||
| stripe_customer_id | No | The Stripe Customer ID of the subscription (not required) | |
| newsletter_list_ids | No | ||
| complimentary_gift_id | No | ||
| unsubscribe_newsletter_list_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely new context: that it changes account state, that confirm=true is a hard gate, and that OAuth callers need subscriptions:write. It stops short of saying what is lost or how to preview a change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and followed by the two operational constraints. Efficient, though the opening clause duplicates the tool title verbatim rather than adding information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with 16 parameters and no output schema, the description covers auth and confirmation but omits the mutually exclusive body-input modes and the consequences of the destructive fields (unsubscribe, delete flags). An agent can call it, but only by reading the schema closely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters at 63% schema description coverage, the schema carries most of the semantic load, and the description only restates the confirm flag, whose schema description is already explicit. It offers nothing about the payload-vs-body-flags mutual exclusivity or the precedence rules among tier, premium_tiers and premium_tier_ids.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource plus the identifier scope ('by ID'), which distinguishes it from the sibling update_subscription_by_email and get_subscription_by_email. It does not, however, differentiate itself from patch_subscription, which operates on the same resource.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives one concrete usage condition ('requires confirm=true for the user-requested action') and an auth prerequisite (OAuth scope subscriptions:write), which is real guidance. It never says when to prefer this over patch_subscription or update_subscription_by_email, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_subscription_by_emailUpdate subscription by emailADestructive
Update subscription by email. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require subscriptions:write.
| Name | Required | Description | Default |
|---|---|---|---|
| tier | No | Optional parameter to set the tier for this subscription. | |
| No | The new email address for the subscription | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| unsubscribe | No | A boolean value specifying whether to unsubscribe this subscription from the publication (not required) | |
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| target_email | Yes | The email of the subscription object | |
| custom_fields | No | ||
| premium_tiers | No | ||
| publication_id | Yes | The prefixed ID of the publication object | |
| premium_tier_ids | No | ||
| stripe_customer_id | No | The Stripe Customer ID of the subscription (not required) | |
| newsletter_list_ids | No | ||
| complimentary_gift_id | No | ||
| unsubscribe_newsletter_list_ids | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and non-idempotent, but the description adds genuinely new behavior: that account state changes, that confirm=true is mandatory for the user-requested action, and that OAuth integrations need subscriptions:write. It stops short of describing reversibility or what state transitions (e.g. unsubscribing) are entailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with the main action front-loaded and the safety constraint immediately after. No filler and nothing redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, 16-parameter tool with nested objects and no output schema, the description covers the confirm/auth essentials but omits how the payload and individual body flags interact and what a caller gets back. It is adequate to invoke safely, but not complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 16 parameters and only 63% schema description coverage, the description should carry meaningful param load, but it only echoes the confirm flag's semantics (already in the schema). It contributes nothing about the payload-vs-body-flags exclusivity or the email-change implications, leaving several params undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource and a targeting key ('by email'), which lets an agent distinguish it from the email-less update_subscription/patch_subscription siblings. It does not explicitly name or contrast those siblings, so it falls short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a real precondition ('requires confirm=true for the user-requested action') and the OAuth scope needed, which is useful routing context. However, it never says when to choose this tool over update_subscription or patch_subscription, or what the email-keyed lookup implies, so usage is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_tierUpdate a tierBDestructive
Update a tier. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require tiers:write.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| tier_id | Yes | The prefixed ID of the tier object | |
| description | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object | |
| prices_attributes | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, but the description adds genuinely new behavioral context: the confirm=true gate, the tiers:write OAuth scope, and that the call changes account state. It stops short of disclosing that price entries can be removed via the delete flag or whether changes are reversible.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and the critical confirm requirement; nothing is padded. The first sentence is largely redundant with the title, which keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive, non-idempotent mutation with nested objects and no output schema, the description covers the safety gate and auth scope but omits what fields can be changed and the fact that price deletion is possible through prices_attributes. Adequate for safe invocation, but thin given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 9 parameters and only 67% schema description coverage, the description should compensate, but it names only 'confirm' and merely echoes the schema's own description of that field. It adds no meaning for the payload vs. payload_file vs. body-flag mutual exclusivity or for the nested prices_attributes structure, leaving a third of parameters undocumented in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence 'Update a tier' is a verb+resource but is essentially a restatement of the tool name and title, adding no detail about what is updatable (name, description, prices). It also fails to distinguish this from the sibling replace_tier, which an agent would need to choose between. Purpose is inferable but under-specified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives two concrete usage constraints: confirm=true must be set for the user-requested action, and OAuth integrations require the tiers:write scope. However, there is no guidance on when to use this versus replace_tier or create_tier, and no statement of preconditions such as needing an existing tier_id.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webhookUpdate webhookCDestructive
Update webhook. Changes account state and requires confirm=true for the user-requested action. OAuth integrations require webhooks:write.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. | |
| confirm | No | Set true only when the user asked for exactly this action. | |
| payload | No | Complete JSON body instead of individual body flags. Supports nullable fields and nested bulk structures. Cannot be combined with body flags or payload_file. | |
| description | No | A description of the webhook. | |
| endpoint_id | Yes | The prefixed ID of the webhook object | |
| event_types | No | ||
| payload_file | No | Local JSON request body file, at most 5 MB. Contents are validated before the API call and are never logged. | |
| publication_id | Yes | The prefixed ID of the publication object |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=false, and openWorldHint=true, so the safety profile is covered. The description adds genuinely non-structured context — account state mutation, the confirm gate, and the webhooks:write OAuth scope. It does not disclose the destructive semantics that matter most here: whether event_types/description are full replacements or merges, and what happens to omitted fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with the constraint information front-loaded and no filler. The opening "Update webhook." is pure restatement of the title and earns no place, but the rest is tight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive 8-parameter mutation with nested objects and no output schema, the description covers the auth and confirmation requirements adequately. It is still incomplete on the update semantics (replace vs merge for event_types) and on sibling routing, which is the main gap for an agent deciding how to call it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 88%, so the schema already documents all eight parameters, including the payload/payload_file mutual exclusion and the confirm semantics. The description adds nothing about parameters, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Update webhook" restates the tool name and title without naming a single updatable attribute (description, event_types) or the resource's scope. It gives no way to distinguish this from create_webhook, delete_webhook, or get_webhook beyond the generic verb. The remaining sentences describe prerequisites, not the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a real prerequisite (confirm=true for a user-requested action) and the OAuth scope required (webhooks:write), which is more than most definitions offer. However, it gives no guidance on when to use this versus sibling mutation tools (create_webhook, delete_webhook, patch-style alternatives), so routing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_identifyIdentify workspaceBRead-onlyIdempotent
Identify workspace. Reads account data. OAuth integrations require identify:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds something annotations cannot: an explicit authorization requirement (identify:read for OAuth integrations), which is genuine behavioral context beyond the structured fields.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three terse sentences, front-loaded with the purpose, with no filler or redundancy. It is efficient, though the extreme brevity leaves the first sentence largely redundant with the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining what "identify" returns, and it does not say what account/workspace data comes back or in what shape. For a simple read tool this is a moderate gap rather than a critical one, since annotations cover the safety profile.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single optional parameter and 100% schema description coverage, the schema fully documents the account parameter including its fallback chain (BEEHIIV_DEFAULT_ACCOUNT, first configured account). The description adds nothing further, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Identify workspace" restates the tool name and title almost verbatim; the only added substance is "Reads account data." It does not distinguish this tool from siblings like list_accounts, identify_oauth_user, or workspaces_permissions, so the agent cannot tell what "identify" actually means operationally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool, when not to, or which sibling to prefer. The note about OAuth scope (identify:read) is a prerequisite, not usage guidance, so selection between this and list_accounts/identify_oauth_user is left entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_permissionsGet workspace permissionsBRead-onlyIdempotent
Get workspace permissions. Reads account data. OAuth integrations require identify:read.
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, openWorld, and non-destructive, so the safety profile is covered. The description adds genuinely new context by naming the required OAuth scope ('identify:read'), which is auth information not present in the annotations. 'Reads account data' is consistent with readOnlyHint but largely redundant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the purpose and free of filler. The first sentence duplicates the title, but the remainder is efficient and each statement carries content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only tool with full annotation coverage and complete schema documentation, the description covers purpose, read behavior, and auth. However, with no output schema, it does not explain what 'permissions' are actually returned, leaving a gap an agent might care about.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single optional parameter and 100% schema description coverage, the schema already fully documents the 'account' parameter including its default fallback. The description adds no additional meaning about the parameter, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence 'Get workspace permissions' is a clear verb+resource but is essentially a verbatim restatement of the title, adding no information beyond it. It does not differentiate this tool from nearby siblings such as workspaces_identify or workspaces_publications_by_subscription_email. Purpose is discernible but thin.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, and no scenario or context for calling it. The OAuth scope note hints at a prerequisite but does not tell the agent when this tool is the right choice over its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workspaces_publications_by_subscription_emailGet publications by subscription emailBRead-onlyIdempotent
Get publications by subscription email. Reads account data. OAuth integrations require publications:read.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The email address to search for subscriptions | ||
| expand | No | Optionally expand the results by adding additional information. `subscription` - Returns the full Subscription object for the email address in each publication. `publication` - Returns the full Publication object instead of just ID and name. `subscription_custom_fields` - Returns custom field values nested within the subscription object. (Returns the subscription object regardless of whether `subscription` is requested.) | |
| account | No | Named private account from BEEHIIV_ACCOUNTS. Defaults to BEEHIIV_DEFAULT_ACCOUNT or the first configured account. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint, so safety is covered. The description adds genuinely useful context beyond them: that it reads account data and that OAuth integrations require the publications:read scope, which is actionable auth information.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each carrying content (purpose, data class, auth scope), with the core purpose front-loaded. Only mild redundancy with the title in the first sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read tool with full annotations and full schema coverage, the auth note is a good addition. However, with no output schema, the description does not indicate that results are publication ID/name pairs (expandable via the expand parameter), leaving the return shape to inference.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so email, expand and account are fully documented in the schema, including the expand enum semantics. The description adds no parameter detail, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('publications') scoped by subscription email, so the agent knows exactly what is returned. It is distinguishable from get_subscription_by_email and list_publications in substance, though it never names those siblings explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no guidance on when to choose this over list_publications or get_subscription_by_email, nor any prerequisite or exclusion. Usage is only inferable from the tool name itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
47 tool updates
v3.0.1- Changed
add_subscriber_to_automation10 fields changed- added
Input schema / $defsAdded value: +{ + "DoubleOptOverride": { + "description": "Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription.", + "title": "DoubleOptOverride", + "type": "string" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / double_opt_override / $refAdded value: +"#/$defs/DoubleOptOverride" - removed
Input schema / properties / double_opt_override / descriptionRemoved value: -"Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription." - removed
Input schema / properties / double_opt_override / titleRemoved value: -"DoubleOptOverride" - removed
Input schema / properties / double_opt_override / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / double_opt_override / $refAdded value: +"#/$defs/DoubleOptOverride" - removed
Input schema / properties / payload / properties / double_opt_override / descriptionRemoved value: -"Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription." - removed
Input schema / properties / payload / properties / double_opt_override / titleRemoved value: -"DoubleOptOverride" - removed
Input schema / properties / payload / properties / double_opt_override / typeRemoved value: -"string"
- Changed
add_tags1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
bulk_subscription_updates_patch_status1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
bulk_subscription_updates_put_status1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
create_ad_network_offer8 fields changed- added
Input schema / $defsAdded value: +{ + "custom_intro": { + "description": "Plain text displayed before the advertisement. Maximum 200 characters and cannot contain URLs. Available only when custom ad introductions are enabled for the publication.", + "type": "string" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / custom_intro / $refAdded value: +"#/$defs/custom_intro" - removed
Input schema / properties / custom_intro / descriptionRemoved value: -"Plain text displayed before the advertisement. Maximum 200 characters and cannot contain URLs. Available only when custom ad introductions are enabled for the publication." - removed
Input schema / properties / custom_intro / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / custom_intro / $refAdded value: +"#/$defs/custom_intro" - removed
Input schema / properties / payload / properties / custom_intro / descriptionRemoved value: -"Plain text displayed before the advertisement. Maximum 200 characters and cannot contain URLs. Available only when custom ad introductions are enabled for the publication." - removed
Input schema / properties / payload / properties / custom_intro / typeRemoved value: -"string"
- Changed
create_bulk_subscription8 fields changed- added
Input schema / $defsAdded value: +{ + "subscriptions": { + "items": { + "additionalProperties": false, + "properties": { + "automation_ids": { + "description": "Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active *Add by API* trigger.", + "items": { + "type": "string" + }, + "type": "array" + }, + "complimentary_gift_id": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "custom_fields": { + "description": "The custom fields must already exist for the publication. Any new custom fields here will be discarded.", + "items": { + "additionalProperties": false, + "description": "The object required for setting custom field values on a subscription", + "properties": { + "name": { + "description": "The name of the existing custom field", + "type": "string" + }, + "value": { + "description": "The value stored for the subscription", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "CustomFieldValue", + "type": "object" + }, + "type": "array" + }, + "double_opt_override": { + "description": "Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription.", + "title": "DoubleOptOverride", + "type": "string" + }, + "email": { + "description": "The email address of the subscription.", + "type": "string" + }, + "newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to subscribe the new subscription to. The newsletter lists must belong to the same publication.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tier_ids": { + "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tiers": { + "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reactivate_existing": { + "default": false, + "description": "Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing.", + "type": "boolean" + }, + "referral_code": { + "description": "This should be a subscribers referral_code. This gives referral credit for the new subscription.", + "type": "string" + }, + "referring_site": { + "description": "The website that the subscriber was referred from", + "type": "string" + }, + "send_welcome_email": { + "default": false, + "type": "boolean" + }, + "skip_newsletter_list_auto_subscribe": { + "description": "When true, the subscriber will not be auto-subscribed to newsletter lists configured with auto-subscribe. Defaults to false.", + "type": "boolean" + }, + "stripe_customer_id": { + "description": "The Stripe customer ID for this subscription.", + "pattern": "^(cus_[0-9a-zA-Z]+)?$", + "title": "OptionalStripeCustomerId", + "type": "string" + }, + "tier": { + "description": "The tier for this subscription.", + "enum": [ + "free", + "premium" + ], + "title": "SubscriptionsCreateRequestTier", + "type": "string" + }, + "utm_campaign": { + "description": "The acquisition campaign of the subscription", + "type": "string" + }, + "utm_content": { + "description": "The acquisition content; typically used for A/B testing or ad variations", + "type": "string" + }, + "utm_medium": { + "description": "The medium of the subscription", + "type": "string" + }, + "utm_source": { + "description": "The source of the subscription.", + "type": "string" + }, + "utm_term": { + "description": "The acquisition term; typically the keyword or search term", + "type": "string" + } + }, + "required": [ + "email" + ], + "title": "SubscriptionRequest", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / subscriptions / $refAdded value: +"#/$defs/subscriptions" - removed
Input schema / properties / payload / properties / subscriptions / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "automation_ids": { - "description": "Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active *Add by API* trigger.", - "items": { - "type": "string" - }, - "type": "array" - }, - "complimentary_gift_id": { - "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", - "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", - "title": "ComplimentaryAccessId", - "type": "string" - }, - "custom_fields": { - "description": "The custom fields must already exist for the publication. Any new custom fields here will be discarded.", - "items": { - "additionalProperties": false, - "description": "The object required for setting custom field values on a subscription", - "properties": { - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value stored for the subscription", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "CustomFieldValue", - "type": "object" - }, - "type": "array" - }, - "double_opt_override": { - "description": "Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription.", - "title": "DoubleOptOverride", - "type": "string" - }, - "email": { - "description": "The email address of the subscription.", - "type": "string" - }, - "newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to subscribe the new subscription to. The newsletter lists must belong to the same publication.", - "items": { - "type": "string" - }, - "type": "array" - }, - "premium_tier_ids": { - "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "premium_tiers": { - "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "reactivate_existing": { - "default": false, - "description": "Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing.", - "type": "boolean" - }, - "referral_code": { - "description": "This should be a subscribers referral_code. This gives referral credit for the new subscription.", - "type": "string" - }, - "referring_site": { - "description": "The website that the subscriber was referred from", - "type": "string" - }, - "send_welcome_email": { - "default": false, - "type": "boolean" - }, - "skip_newsletter_list_auto_subscribe": { - "description": "When true, the subscriber will not be auto-subscribed to newsletter lists configured with auto-subscribe. Defaults to false.", - "type": "boolean" - }, - "stripe_customer_id": { - "description": "The Stripe customer ID for this subscription.", - "pattern": "^(cus_[0-9a-zA-Z]+)?$", - "title": "OptionalStripeCustomerId", - "type": "string" - }, - "tier": { - "description": "The tier for this subscription.", - "enum": [ - "free", - "premium" - ], - "title": "SubscriptionsCreateRequestTier", - "type": "string" - }, - "utm_campaign": { - "description": "The acquisition campaign of the subscription", - "type": "string" - }, - "utm_content": { - "description": "The acquisition content; typically used for A/B testing or ad variations", - "type": "string" - }, - "utm_medium": { - "description": "The medium of the subscription", - "type": "string" - }, - "utm_source": { - "description": "The source of the subscription.", - "type": "string" - }, - "utm_term": { - "description": "The acquisition term; typically the keyword or search term", - "type": "string" - } - }, - "required": [ - "email" - ], - "title": "SubscriptionRequest", - "type": "object" -} - removed
Input schema / properties / payload / properties / subscriptions / typeRemoved value: -"array" - added
Input schema / properties / subscriptions / $refAdded value: +"#/$defs/subscriptions" - removed
Input schema / properties / subscriptions / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "automation_ids": { - "description": "Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active *Add by API* trigger.", - "items": { - "type": "string" - }, - "type": "array" - }, - "complimentary_gift_id": { - "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", - "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", - "title": "ComplimentaryAccessId", - "type": "string" - }, - "custom_fields": { - "description": "The custom fields must already exist for the publication. Any new custom fields here will be discarded.", - "items": { - "additionalProperties": false, - "description": "The object required for setting custom field values on a subscription", - "properties": { - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value stored for the subscription", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "CustomFieldValue", - "type": "object" - }, - "type": "array" - }, - "double_opt_override": { - "description": "Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription.", - "title": "DoubleOptOverride", - "type": "string" - }, - "email": { - "description": "The email address of the subscription.", - "type": "string" - }, - "newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to subscribe the new subscription to. The newsletter lists must belong to the same publication.", - "items": { - "type": "string" - }, - "type": "array" - }, - "premium_tier_ids": { - "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "premium_tiers": { - "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "reactivate_existing": { - "default": false, - "description": "Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing.", - "type": "boolean" - }, - "referral_code": { - "description": "This should be a subscribers referral_code. This gives referral credit for the new subscription.", - "type": "string" - }, - "referring_site": { - "description": "The website that the subscriber was referred from", - "type": "string" - }, - "send_welcome_email": { - "default": false, - "type": "boolean" - }, - "skip_newsletter_list_auto_subscribe": { - "description": "When true, the subscriber will not be auto-subscribed to newsletter lists configured with auto-subscribe. Defaults to false.", - "type": "boolean" - }, - "stripe_customer_id": { - "description": "The Stripe customer ID for this subscription.", - "pattern": "^(cus_[0-9a-zA-Z]+)?$", - "title": "OptionalStripeCustomerId", - "type": "string" - }, - "tier": { - "description": "The tier for this subscription.", - "enum": [ - "free", - "premium" - ], - "title": "SubscriptionsCreateRequestTier", - "type": "string" - }, - "utm_campaign": { - "description": "The acquisition campaign of the subscription", - "type": "string" - }, - "utm_content": { - "description": "The acquisition content; typically used for A/B testing or ad variations", - "type": "string" - }, - "utm_medium": { - "description": "The medium of the subscription", - "type": "string" - }, - "utm_source": { - "description": "The source of the subscription.", - "type": "string" - }, - "utm_term": { - "description": "The acquisition term; typically the keyword or search term", - "type": "string" - } - }, - "required": [ - "email" - ], - "title": "SubscriptionRequest", - "type": "object" -} - removed
Input schema / properties / subscriptions / typeRemoved value: -"array"
- Changed
create_custom_field1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
create_data_deletion1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
create_export12 fields changed- added
Input schema / $defsAdded value: +{ + "SegmentId": { + "description": "Optional prefixed ID of a segment to scope the export to. When omitted the export covers the whole publication. A segment that does not exist, or belongs to another publication, answers 404.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / segment_id / $refAdded value: +"#/$defs/SegmentId" - removed
Input schema / properties / payload / properties / segment_id / descriptionRemoved value: -"Optional prefixed ID of a segment to scope the export to. When omitted the export covers the whole publication. A segment that does not exist, or belongs to another publication, answers 404." - removed
Input schema / properties / payload / properties / segment_id / patternRemoved value: -"^(seg_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / payload / properties / segment_id / titleRemoved value: -"SegmentId" - removed
Input schema / properties / payload / properties / segment_id / typeRemoved value: -"string" - added
Input schema / properties / segment_id / $refAdded value: +"#/$defs/SegmentId" - removed
Input schema / properties / segment_id / descriptionRemoved value: -"Optional prefixed ID of a segment to scope the export to. When omitted the export covers the whole publication. A segment that does not exist, or belongs to another publication, answers 404." - removed
Input schema / properties / segment_id / patternRemoved value: -"^(seg_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / segment_id / titleRemoved value: -"SegmentId" - removed
Input schema / properties / segment_id / typeRemoved value: -"string"
- Changed
create_newsletter_list22 fields changed- added
Input schema / $defsAdded value: +{ + "NewsletterListEmailSettings": { + "additionalProperties": false, + "description": "The sending identity for posts sent to this list. Any field omitted is inherited from the publication.", + "properties": { + "from_address": { + "description": "Email address to send from. Must be an existing from address owned by the publication. Returns 422 if not found.", + "type": "string" + }, + "reply_to_address": { + "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", + "type": "string" + }, + "sender_name": { + "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For the list Weekly Digest on the publication Bee Informed, `list|by|brand` renders as \"Weekly Digest by Bee Informed\". Pass `null` to clear the override and inherit from the publication.", + "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", + "type": "string" + } + }, + "title": "NewsletterListEmailSettings", + "type": "object" + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Custom email headers for posts sent to this list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to `null` to suppress a header inherited from the publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden.", + "type": "object" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / email_settings / $refAdded value: +"#/$defs/NewsletterListEmailSettings" - removed
Input schema / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / email_settings / descriptionRemoved value: -"The sending identity for posts sent to this list. Any field omitted is inherited from the publication." - removed
Input schema / properties / email_settings / propertiesRemoved value: -{ - "from_address": { - "description": "Email address to send from. Must be an existing from address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For the list Weekly Digest on the publication Bee Informed, `list|by|brand` renders as \"Weekly Digest by Bee Informed\". Pass `null` to clear the override and inherit from the publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / email_settings / titleRemoved value: -"NewsletterListEmailSettings" - removed
Input schema / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / headers / descriptionRemoved value: -"Custom email headers for posts sent to this list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to `null` to suppress a header inherited from the publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / email_settings / $refAdded value: +"#/$defs/NewsletterListEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / email_settings / descriptionRemoved value: -"The sending identity for posts sent to this list. Any field omitted is inherited from the publication." - removed
Input schema / properties / payload / properties / email_settings / propertiesRemoved value: -{ - "from_address": { - "description": "Email address to send from. Must be an existing from address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For the list Weekly Digest on the publication Bee Informed, `list|by|brand` renders as \"Weekly Digest by Bee Informed\". Pass `null` to clear the override and inherit from the publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / email_settings / titleRemoved value: -"NewsletterListEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / payload / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / headers / descriptionRemoved value: -"Custom email headers for posts sent to this list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to `null` to suppress a header inherited from the publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / payload / properties / headers / typeRemoved value: -"object"
- Changed
create_newsletter_list_subscription1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
create_post138 fields changed- added
Input schema / $defsAdded value: +{ + "ConditionSetOperator": { + "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", + "enum": [ + "and", + "or" + ], + "title": "ConditionSetOperator", + "type": "string" + }, + "ParagraphBlockTextSection": { + "additionalProperties": false, + "properties": { + "highlight_color": { + "description": "The CSS color value for the text highlight.", + "type": "string" + }, + "link": { + "additionalProperties": false, + "description": "The link of the text.", + "properties": { + "href": { + "description": "The URL of the link.", + "type": "string" + }, + "target": { + "description": "The target of the link (e.g., _blank).", + "type": "string" + } + }, + "required": [ + "href" + ], + "title": "Link", + "type": "object" + }, + "styling": { + "description": "The inline styles for the text.", + "items": { + "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", + "enum": [ + "bold", + "italic", + "underline", + "strikethrough" + ], + "title": "ParagraphBlockTextStyle", + "type": "string" + }, + "type": "array" + }, + "text": { + "description": "The text content of the paragraph.", + "type": "string" + }, + "text_color": { + "description": "The CSS color value for the text.", + "type": "string" + } + }, + "required": [ + "text" + ], + "title": "ParagraphBlockTextSection", + "type": "object" + }, + "PostEmailSettings": { + "additionalProperties": false, + "description": "The email settings to use for this post. If not provided, the default value will be used.", + "properties": { + "custom_live_url": { + "type": "string" + }, + "display_byline_in_email": { + "type": "boolean" + }, + "display_subtitle_in_email": { + "type": "boolean" + }, + "display_title_in_email": { + "type": "boolean" + }, + "email_header_engagement_buttons": { + "type": "string" + }, + "email_header_social_share": { + "type": "string" + }, + "email_preview_text": { + "type": "string" + }, + "email_subject_line": { + "type": "string" + }, + "from_address": { + "type": "string" + }, + "reply_to_address": { + "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", + "type": "string" + }, + "sender_name": { + "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For a post by Jane Doe on the publication Bee Informed, `authors_first|from|brand` renders as \"Jane from Bee Informed\". The `list` token only resolves when the post is associated with a newsletter list. Pass `null` to clear the override and inherit from the newsletter list or publication.", + "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", + "type": "string" + } + }, + "title": "PostEmailSettings", + "type": "object" + }, + "PostMetadata": { + "additionalProperties": false, + "description": "The metadata to use for this post. If not provided, the default value will be used.", + "properties": { + "default_description": { + "type": "string" + }, + "default_title": { + "type": "string" + }, + "og_description": { + "type": "string" + }, + "og_title": { + "type": "string" + }, + "twitter_description": { + "type": "string" + }, + "twitter_title": { + "type": "string" + } + }, + "title": "PostMetadata", + "type": "object" + }, + "PostPublishStatus": { + "default": "draft", + "description": "The status of the post. If not provided, the default (`draft`) value will be used and the post will not be scheduled or published. Explicitly pass `confirmed` to have the post publish immediately (if no `scheduled_at` is provided) or at the `scheduled_at` time.", + "enum": [ + "draft", + "confirmed" + ], + "title": "PostPublishStatus", + "type": "string" + }, + "PostRecipients": { + "additionalProperties": false, + "description": "The recipients to use for this post. If not provided, the default value will be used.", + "properties": { + "email": { + "additionalProperties": false, + "description": "Email audience targeting. Omit this key to create no email targets.", + "properties": { + "exclude_segment_ids": { + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "include_segment_ids": { + "description": "Cannot be combined with `tier_ids`.", + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "tier_ids": { + "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier. Cannot be combined with `include_segment_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "PostEmailRecipients", + "type": "object" + }, + "web": { + "additionalProperties": false, + "description": "Web audience targeting. Omit this key to create no web targets.", + "properties": { + "exclude_segment_ids": { + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "include_segment_ids": { + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "tier_ids": { + "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "PostWebRecipients", + "type": "object" + } + }, + "required": [ + "web", + "email" + ], + "title": "PostRecipients", + "type": "object" + }, + "PostSocialShare": { + "description": "The social share type to use for this post. If not provided, the default value will be used.", + "enum": [ + "comments_and_likes_only", + "with_comments_and_likes", + "top", + "none" + ], + "title": "PostSocialShare", + "type": "string" + }, + "PostTemplateId": { + "description": "The ID of the template to use for the post. If not provided, the default template will be used.", + "pattern": "^(post_template_[0-9a-fA-F\\-]+)$", + "title": "PostTemplateId", + "type": "string" + }, + "PostWebSettings": { + "additionalProperties": false, + "description": "The web settings to use for this post. If not provided, the default value will be used.", + "properties": { + "display_subtitle_on_web": { + "type": "boolean" + }, + "display_thumbnail_on_web": { + "type": "boolean" + }, + "display_title_on_web": { + "type": "boolean" + }, + "hide_from_feed": { + "type": "boolean" + }, + "paywall_break_price_id": { + "description": "The prefixed ID of the price.", + "pattern": "^(price_[0-9a-fA-F\\-]+)$", + "title": "PriceId", + "type": "string" + }, + "paywall_id": { + "description": "The prefixed ID of the paywall.", + "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", + "title": "PaywallId", + "type": "string" + }, + "slug": { + "type": "string" + } + }, + "title": "PostWebSettings", + "type": "object" + }, + "VisibilitySettings": { + "additionalProperties": false, + "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "VisualSettings": { + "additionalProperties": false, + "description": "Optional styling for borders, spacing, colors, etc.", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + }, + "advertisement": { + "additionalProperties": false, + "properties": { + "opportunity_id": { + "description": "The ID of the Advertisement opportunity.", + "type": "string" + }, + "type": { + "description": "Discriminator value: advertisement", + "enum": [ + "advertisement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "opportunity_id" + ], + "type": "object" + }, + "blocks": { + "description": "The structured content blocks that make up the post. Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. You can embed raw HTML snippets within blocks using the `html` block type. Either this field OR the `body_content` field must be provided.", + "items": { + "description": "A block in the post content.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "additionalProperties": false, + "properties": { + "advertisement_kind": { + "description": "The automated advertisement kind to fill at publish time.", + "enum": [ + "primary", + "secondary" + ], + "title": "AutomatedAdvertisementKind", + "type": "string" + }, + "type": { + "description": "Discriminator value: automated_advertisement_placement", + "enum": [ + "automated_advertisement_placement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "advertisement_kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "override_align": { + "description": "The logo alignment. Defaults to center.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "override_sponsor_text": { + "description": "The sponsor text to display with the advertisement logo. Required.", + "enum": [ + "sponsored_by", + "together_with", + "in_partnership_with", + "presented_by", + "todays_sponsor" + ], + "title": "ProgrammaticAdsSponsorText", + "type": "string" + }, + "override_width": { + "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: programmatic_ads_logo", + "enum": [ + "programmatic_ads_logo" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "override_sponsor_text" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "columns": { + "description": "The blocks that make up the columns.", + "items": { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks that make up the column.", + "items": { + "description": "A block in the post content that can be embedded within a column.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + } + ], + "title": "EmbeddableBlocks" + }, + "type": "array" + }, + "position": { + "description": "The column position. This field is deprecated but supported for existing column layouts.", + "enum": [ + "left", + "right" + ], + "title": "ColumnPosition", + "type": "string" + }, + "verticalAlign": { + "description": "The vertical alignment of the column content.", + "enum": [ + "top", + "middle", + "bottom" + ], + "title": "ColumnVerticalAlignment", + "type": "string" + }, + "width": { + "description": "The column width percentage. When omitted, width is calculated automatically.", + "type": "integer" + } + }, + "required": [ + "blocks" + ], + "title": "ColumnBlock", + "type": "object" + }, + "type": "array" + }, + "stackOnMobile": { + "default": true, + "description": "Whether columns should stack vertically on mobile devices.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: columns", + "enum": [ + "columns" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "columns" + ], + "type": "object" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + }, + { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", + "items": { + "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + } + ], + "title": "SectionableBlock" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: section", + "enum": [ + "section" + ], + "type": "string" + }, + "visibility_settings": { + "additionalProperties": false, + "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "visual_settings": { + "additionalProperties": false, + "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + } + }, + "required": [ + "type", + "blocks" + ], + "type": "object" + } + ], + "title": "Block" + }, + "type": "array" + }, + "body_content": { + "description": "The content of the post as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling. Either this field OR the `blocks` field must be provided.", + "type": "string" + }, + "button": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the button.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "href": { + "description": "The URL the button should use.", + "type": "string" + }, + "size": { + "description": "The size of the button (e.g., small, normal, large).", + "enum": [ + "small", + "normal", + "large" + ], + "title": "Sizes", + "type": "string" + }, + "target": { + "description": "The target of the button (e.g., _blank).", + "type": "string" + }, + "text": { + "description": "The text content of the button.", + "type": "string" + }, + "type": { + "description": "Discriminator value: button", + "enum": [ + "button" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "href", + "text" + ], + "type": "object" + }, + "condition_set_ids": { + "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", + "items": { + "type": "string" + }, + "type": "array" + }, + "embed_link": { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: embed_link", + "enum": [ + "embed_link" + ], + "type": "string" + }, + "url": { + "description": "The URL of the embed link.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "url" + ], + "type": "object" + }, + "guest_author_ids": { + "description": "The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. Obtain IDs from the List Authors endpoint. When provided, replaces all existing guest authors on the post.", + "items": { + "description": "The prefixed ID of the guest author.", + "pattern": "^(guest_[0-9a-fA-F\\-]+)$", + "title": "GuestAuthorId", + "type": "string" + }, + "type": "array" + }, + "headers": { + "additionalProperties": { + "type": [ + "string", + "null" + ] + }, + "description": "Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden.", + "type": "object" + }, + "heading": { + "additionalProperties": false, + "properties": { + "anchorHeader": { + "default": true, + "description": "Whether the header should be an anchor header.", + "type": "boolean" + }, + "anchorIncludeInToc": { + "default": true, + "description": "Whether the header should be included in the table of contents.", + "type": "boolean" + }, + "formattedText": { + "description": "The formatted content of the header, supporting links and inline styling.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "level": { + "description": "The level of the header (e.g., 1, 2, 3, etc.).", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "title": "HeadingLevel", + "type": "string" + }, + "text": { + "description": "The text content of the header. Ignored if `formattedText` is provided.", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the header (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: heading", + "enum": [ + "heading" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "level" + ], + "type": "object" + }, + "html": { + "additionalProperties": false, + "properties": { + "html": { + "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", + "type": "string" + }, + "type": { + "description": "Discriminator value: html", + "enum": [ + "html" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "html" + ], + "type": "object" + }, + "image": { + "additionalProperties": false, + "properties": { + "alt_text": { + "description": "Alternative text for the image.", + "type": "string" + }, + "caption": { + "description": "A caption for the image.", + "type": "string" + }, + "captionAlignment": { + "description": "The text alignment of the caption.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageAlignment": { + "description": "The text alignment of the image.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image.", + "type": "string" + }, + "title": { + "description": "The title of the image.", + "type": "string" + }, + "type": { + "description": "Discriminator value: image", + "enum": [ + "image" + ], + "type": "string" + }, + "url": { + "description": "The URL that the image should link to.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + }, + "width": { + "description": "The width of the image. Should be between 1 and 100.", + "type": "integer" + } + }, + "required": [ + "type", + "imageUrl" + ], + "type": "object" + }, + "list": { + "additionalProperties": false, + "properties": { + "items": { + "description": "The items in the list.", + "items": { + "description": "A list item as either plain text or formatted text data.", + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the list item.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "text": { + "description": "The plain text content of the list item.", + "type": "string" + } + }, + "title": "ListBlockItemData", + "type": "object" + } + ], + "title": "ListBlockItem" + }, + "type": "array" + }, + "listType": { + "description": "The type of list (e.g., ordered, unordered).", + "enum": [ + "ordered", + "unordered" + ], + "title": "ListType", + "type": "string" + }, + "startNumber": { + "description": "The number to start the list at. Only applicable if listType is ordered.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: list", + "enum": [ + "list" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "items" + ], + "type": "object" + }, + "override_scheduled_at": { + "description": "If you wish to display a date other than the scheduled_at date in the email, you can provide a date here. This will not affect the actual publish date of the post.", + "format": "date-time", + "type": "string" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the paragraph.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "plaintext": { + "description": "The plaintext content of the paragraph.", + "type": "string" + }, + "textAlign": { + "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the paragraph (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: paragraph", + "enum": [ + "paragraph" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "paywall_break": { + "additionalProperties": false, + "properties": { + "paywall_id": { + "description": "The ID of the paywall.", + "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", + "title": "PaywallId", + "type": "string" + }, + "type": { + "description": "Discriminator value: paywall_break", + "enum": [ + "paywall_break" + ], + "type": "string" + } + }, + "required": [ + "type", + "paywall_id" + ], + "type": "object" + }, + "poll": { + "additionalProperties": false, + "properties": { + "poll_id": { + "description": "The ID of the poll you wish to include.", + "pattern": "^(poll_[0-9a-fA-F\\-]+)$", + "title": "PollId", + "type": "string" + }, + "show_options_initially": { + "description": "Whether to show the poll options initially. Defaults to false.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: poll", + "enum": [ + "poll" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "poll_id" + ], + "type": "object" + }, + "quote": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the quote. Defaults depend on the variant.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "author": { + "description": "The author of the quote.", + "type": "string" + }, + "quote": { + "description": "The text of the quote.", + "type": "string" + }, + "type": { + "description": "Discriminator value: quote", + "enum": [ + "quote" + ], + "type": "string" + }, + "variant": { + "description": "The type of quote block. Defaults to \"block\".", + "enum": [ + "block", + "inline", + "quotation" + ], + "title": "QuoteVariant", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "quote" + ], + "type": "object" + }, + "rss": { + "additionalProperties": false, + "properties": { + "articleLayout": { + "description": "The layout of the articles from the feed.", + "enum": [ + "1-col", + "2-col", + "3-col", + "4-col" + ], + "title": "RssBlockLayout", + "type": "string" + }, + "articlesToShow": { + "description": "The number of articles to show from the feed.", + "type": "integer" + }, + "ctaAlignment": { + "description": "The alignment of the call to action.", + "enum": [ + "Left", + "Center", + "Right" + ], + "title": "RssCtaAlignment", + "type": "string" + }, + "ctaStyle": { + "description": "The style of the call to action.", + "enum": [ + "CTA button", + "CTA link", + "Title as link", + "Thumbnail as link", + "Title and thumbnail as link" + ], + "title": "RssCtaStyle", + "type": "string" + }, + "ctaText": { + "description": "The text of the call to action. Applicable if ctaStyle is button or link.", + "type": "string" + }, + "externalRssFeedId": { + "description": "The ID of the external RSS feed.", + "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", + "title": "ExternalRssFeedId", + "type": "string" + }, + "refreshOnSend": { + "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", + "type": "boolean" + }, + "rssFeedUrl": { + "description": "The URL of the RSS feed.", + "type": "string" + }, + "selectionMode": { + "description": "How to select feed articles, by count or time window.", + "enum": [ + "count", + "time" + ], + "title": "RssSelectionMode", + "type": "string" + }, + "showArticleThumbnail": { + "description": "Whether to show the article thumbnail.", + "type": "boolean" + }, + "showArticleTitle": { + "description": "Whether to show the article title.", + "type": "boolean" + }, + "showAuthor": { + "description": "Whether to show the author.", + "type": "boolean" + }, + "showCategories": { + "description": "Whether to show the categories.", + "type": "boolean" + }, + "showContent": { + "description": "Whether to show the article content.", + "type": "boolean" + }, + "showCta": { + "description": "Whether to show a call to action.", + "type": "boolean" + }, + "showDescription": { + "description": "Whether to show the article description.", + "type": "boolean" + }, + "showPublishedDate": { + "description": "Whether to show the date the article was published", + "type": "boolean" + }, + "thumbnailPosition": { + "description": "The position of the thumbnail.", + "enum": [ + "Above Title", + "Below Title", + "Left of content", + "Right of content", + "Alternating Horizontally" + ], + "title": "RssThumbnailPosition", + "type": "string" + }, + "timeWindowHours": { + "description": "Trailing window in hours when selectionMode is time.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: rss", + "enum": [ + "rss" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "scheduled_at": { + "description": "The time in which the post will be published. If not provided, the post will be published immediately unless `status` is set to `draft`. A draft post cannot be scheduled.", + "format": "date-time", + "type": "string" + }, + "table": { + "additionalProperties": false, + "properties": { + "headerColumn": { + "default": false, + "description": "Whether the first column is a header column.", + "type": "boolean" + }, + "headerRow": { + "default": true, + "description": "Whether the first row is a header row.", + "type": "boolean" + }, + "rows": { + "description": "The rows of the table.", + "items": { + "items": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the cell.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "colspan": { + "default": 1, + "description": "The number of columns the cell spans.", + "type": "integer" + }, + "formattedText": { + "description": "The formatted content of the cell.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "rowspan": { + "default": 1, + "description": "The number of rows the cell spans.", + "type": "integer" + }, + "text": { + "description": "The text content of the cell.", + "type": "string" + } + }, + "title": "TableCellData", + "type": "object" + }, + "type": "array" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: table", + "enum": [ + "table" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "rows" + ], + "type": "object" + }, + "team_author_ids": { + "description": "The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. Note the List Authors endpoint only returns team members who already have a byline on a published post in this publication, so it will not surface IDs for a team member's first assignment. When provided, replaces all existing team authors on the post.", + "items": { + "description": "The prefixed ID of the team author (platform user).", + "pattern": "^(user_[0-9a-fA-F\\-]+)$", + "title": "TeamAuthorId", + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / blocks / descriptionRemoved value: -"The structured content blocks that make up the post. Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. You can embed raw HTML snippets within blocks using the `html` block type. Either this field OR the `body_content` field must be provided." - removed
Input schema / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / body_content / descriptionRemoved value: -"The content of the post as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling. Either this field OR the `blocks` field must be provided." - removed
Input schema / properties / body_content / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / email_settings / $refAdded value: +"#/$defs/PostEmailSettings" - removed
Input schema / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / email_settings / descriptionRemoved value: -"The email settings to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / email_settings / propertiesRemoved value: -{ - "custom_live_url": { - "type": "string" - }, - "display_byline_in_email": { - "type": "boolean" - }, - "display_subtitle_in_email": { - "type": "boolean" - }, - "display_title_in_email": { - "type": "boolean" - }, - "email_header_engagement_buttons": { - "type": "string" - }, - "email_header_social_share": { - "type": "string" - }, - "email_preview_text": { - "type": "string" - }, - "email_subject_line": { - "type": "string" - }, - "from_address": { - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For a post by Jane Doe on the publication Bee Informed, `authors_first|from|brand` renders as \"Jane from Bee Informed\". The `list` token only resolves when the post is associated with a newsletter list. Pass `null` to clear the override and inherit from the newsletter list or publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / email_settings / titleRemoved value: -"PostEmailSettings" - removed
Input schema / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / guest_author_ids / $refAdded value: +"#/$defs/guest_author_ids" - removed
Input schema / properties / guest_author_ids / descriptionRemoved value: -"The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. Obtain IDs from the List Authors endpoint. When provided, replaces all existing guest authors on the post." - removed
Input schema / properties / guest_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the guest author.", - "pattern": "^(guest_[0-9a-fA-F\\-]+)$", - "title": "GuestAuthorId", - "type": "string" -} - removed
Input schema / properties / guest_author_ids / typeRemoved value: -"array" - added
Input schema / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / headers / additionalPropertiesRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Input schema / properties / headers / descriptionRemoved value: -"Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / override_scheduled_at / $refAdded value: +"#/$defs/override_scheduled_at" - removed
Input schema / properties / override_scheduled_at / descriptionRemoved value: -"If you wish to display a date other than the scheduled_at date in the email, you can provide a date here. This will not affect the actual publish date of the post." - removed
Input schema / properties / override_scheduled_at / formatRemoved value: -"date-time" - removed
Input schema / properties / override_scheduled_at / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / payload / properties / blocks / descriptionRemoved value: -"The structured content blocks that make up the post. Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. You can embed raw HTML snippets within blocks using the `html` block type. Either this field OR the `body_content` field must be provided." - removed
Input schema / properties / payload / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / payload / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / payload / properties / body_content / descriptionRemoved value: -"The content of the post as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling. Either this field OR the `blocks` field must be provided." - removed
Input schema / properties / payload / properties / body_content / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / email_settings / $refAdded value: +"#/$defs/PostEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / email_settings / descriptionRemoved value: -"The email settings to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / payload / properties / email_settings / propertiesRemoved value: -{ - "custom_live_url": { - "type": "string" - }, - "display_byline_in_email": { - "type": "boolean" - }, - "display_subtitle_in_email": { - "type": "boolean" - }, - "display_title_in_email": { - "type": "boolean" - }, - "email_header_engagement_buttons": { - "type": "string" - }, - "email_header_social_share": { - "type": "string" - }, - "email_preview_text": { - "type": "string" - }, - "email_subject_line": { - "type": "string" - }, - "from_address": { - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For a post by Jane Doe on the publication Bee Informed, `authors_first|from|brand` renders as \"Jane from Bee Informed\". The `list` token only resolves when the post is associated with a newsletter list. Pass `null` to clear the override and inherit from the newsletter list or publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / email_settings / titleRemoved value: -"PostEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / guest_author_ids / $refAdded value: +"#/$defs/guest_author_ids" - removed
Input schema / properties / payload / properties / guest_author_ids / descriptionRemoved value: -"The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. Obtain IDs from the List Authors endpoint. When provided, replaces all existing guest authors on the post." - removed
Input schema / properties / payload / properties / guest_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the guest author.", - "pattern": "^(guest_[0-9a-fA-F\\-]+)$", - "title": "GuestAuthorId", - "type": "string" -} - removed
Input schema / properties / payload / properties / guest_author_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / payload / properties / headers / additionalPropertiesRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Input schema / properties / payload / properties / headers / descriptionRemoved value: -"Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / payload / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / override_scheduled_at / $refAdded value: +"#/$defs/override_scheduled_at" - removed
Input schema / properties / payload / properties / override_scheduled_at / descriptionRemoved value: -"If you wish to display a date other than the scheduled_at date in the email, you can provide a date here. This will not affect the actual publish date of the post." - removed
Input schema / properties / payload / properties / override_scheduled_at / formatRemoved value: -"date-time" - removed
Input schema / properties / payload / properties / override_scheduled_at / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / post_template_id / $refAdded value: +"#/$defs/PostTemplateId" - removed
Input schema / properties / payload / properties / post_template_id / descriptionRemoved value: -"The ID of the template to use for the post. If not provided, the default template will be used." - removed
Input schema / properties / payload / properties / post_template_id / patternRemoved value: -"^(post_template_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / payload / properties / post_template_id / titleRemoved value: -"PostTemplateId" - removed
Input schema / properties / payload / properties / post_template_id / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / recipients / $refAdded value: +"#/$defs/PostRecipients" - removed
Input schema / properties / payload / properties / recipients / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / recipients / descriptionRemoved value: -"The recipients to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / payload / properties / recipients / propertiesRemoved value: -{ - "email": { - "additionalProperties": false, - "description": "Email audience targeting. Omit this key to create no email targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "description": "Cannot be combined with `tier_ids`.", - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier. Cannot be combined with `include_segment_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostEmailRecipients", - "type": "object" - }, - "web": { - "additionalProperties": false, - "description": "Web audience targeting. Omit this key to create no web targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostWebRecipients", - "type": "object" - } -} - removed
Input schema / properties / payload / properties / recipients / requiredRemoved value: -[ - "web", - "email" -] - removed
Input schema / properties / payload / properties / recipients / titleRemoved value: -"PostRecipients" - removed
Input schema / properties / payload / properties / recipients / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / scheduled_at / $refAdded value: +"#/$defs/scheduled_at" - removed
Input schema / properties / payload / properties / scheduled_at / descriptionRemoved value: -"The time in which the post will be published. If not provided, the post will be published immediately unless `status` is set to `draft`. A draft post cannot be scheduled." - removed
Input schema / properties / payload / properties / scheduled_at / formatRemoved value: -"date-time" - removed
Input schema / properties / payload / properties / scheduled_at / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / seo_settings / $refAdded value: +"#/$defs/PostMetadata" - removed
Input schema / properties / payload / properties / seo_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / seo_settings / descriptionRemoved value: -"The metadata to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / payload / properties / seo_settings / propertiesRemoved value: -{ - "default_description": { - "type": "string" - }, - "default_title": { - "type": "string" - }, - "og_description": { - "type": "string" - }, - "og_title": { - "type": "string" - }, - "twitter_description": { - "type": "string" - }, - "twitter_title": { - "type": "string" - } -} - removed
Input schema / properties / payload / properties / seo_settings / titleRemoved value: -"PostMetadata" - removed
Input schema / properties / payload / properties / seo_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / social_share / $refAdded value: +"#/$defs/PostSocialShare" - removed
Input schema / properties / payload / properties / social_share / descriptionRemoved value: -"The social share type to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / payload / properties / social_share / enumRemoved value: -[ - "comments_and_likes_only", - "with_comments_and_likes", - "top", - "none" -] - removed
Input schema / properties / payload / properties / social_share / titleRemoved value: -"PostSocialShare" - removed
Input schema / properties / payload / properties / social_share / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / status / $refAdded value: +"#/$defs/PostPublishStatus" - removed
Input schema / properties / payload / properties / status / defaultRemoved value: -"draft" - removed
Input schema / properties / payload / properties / status / descriptionRemoved value: -"The status of the post. If not provided, the default (`draft`) value will be used and the post will not be scheduled or published. Explicitly pass `confirmed` to have the post publish immediately (if no `scheduled_at` is provided) or at the `scheduled_at` time." - removed
Input schema / properties / payload / properties / status / enumRemoved value: -[ - "draft", - "confirmed" -] - removed
Input schema / properties / payload / properties / status / titleRemoved value: -"PostPublishStatus" - removed
Input schema / properties / payload / properties / status / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / team_author_ids / $refAdded value: +"#/$defs/team_author_ids" - removed
Input schema / properties / payload / properties / team_author_ids / descriptionRemoved value: -"The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. Note the List Authors endpoint only returns team members who already have a byline on a published post in this publication, so it will not surface IDs for a team member's first assignment. When provided, replaces all existing team authors on the post." - removed
Input schema / properties / payload / properties / team_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the team author (platform user).", - "pattern": "^(user_[0-9a-fA-F\\-]+)$", - "title": "TeamAuthorId", - "type": "string" -} - removed
Input schema / properties / payload / properties / team_author_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / web_settings / $refAdded value: +"#/$defs/PostWebSettings" - removed
Input schema / properties / payload / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / web_settings / descriptionRemoved value: -"The web settings to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / payload / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "type": "boolean" - }, - "display_thumbnail_on_web": { - "type": "boolean" - }, - "display_title_on_web": { - "type": "boolean" - }, - "hide_from_feed": { - "type": "boolean" - }, - "paywall_break_price_id": { - "description": "The prefixed ID of the price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "paywall_id": { - "description": "The prefixed ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "slug": { - "type": "string" - } -} - removed
Input schema / properties / payload / properties / web_settings / titleRemoved value: -"PostWebSettings" - removed
Input schema / properties / payload / properties / web_settings / typeRemoved value: -"object" - added
Input schema / properties / post_template_id / $refAdded value: +"#/$defs/PostTemplateId" - removed
Input schema / properties / post_template_id / descriptionRemoved value: -"The ID of the template to use for the post. If not provided, the default template will be used." - removed
Input schema / properties / post_template_id / patternRemoved value: -"^(post_template_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / post_template_id / titleRemoved value: -"PostTemplateId" - removed
Input schema / properties / post_template_id / typeRemoved value: -"string" - added
Input schema / properties / recipients / $refAdded value: +"#/$defs/PostRecipients" - removed
Input schema / properties / recipients / additionalPropertiesRemoved value: -false - removed
Input schema / properties / recipients / descriptionRemoved value: -"The recipients to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / recipients / propertiesRemoved value: -{ - "email": { - "additionalProperties": false, - "description": "Email audience targeting. Omit this key to create no email targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "description": "Cannot be combined with `tier_ids`.", - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier. Cannot be combined with `include_segment_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostEmailRecipients", - "type": "object" - }, - "web": { - "additionalProperties": false, - "description": "Web audience targeting. Omit this key to create no web targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostWebRecipients", - "type": "object" - } -} - removed
Input schema / properties / recipients / requiredRemoved value: -[ - "web", - "email" -] - removed
Input schema / properties / recipients / titleRemoved value: -"PostRecipients" - removed
Input schema / properties / recipients / typeRemoved value: -"object" - added
Input schema / properties / scheduled_at / $refAdded value: +"#/$defs/scheduled_at" - removed
Input schema / properties / scheduled_at / descriptionRemoved value: -"The time in which the post will be published. If not provided, the post will be published immediately unless `status` is set to `draft`. A draft post cannot be scheduled." - removed
Input schema / properties / scheduled_at / formatRemoved value: -"date-time" - removed
Input schema / properties / scheduled_at / typeRemoved value: -"string" - added
Input schema / properties / seo_settings / $refAdded value: +"#/$defs/PostMetadata" - removed
Input schema / properties / seo_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / seo_settings / descriptionRemoved value: -"The metadata to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / seo_settings / propertiesRemoved value: -{ - "default_description": { - "type": "string" - }, - "default_title": { - "type": "string" - }, - "og_description": { - "type": "string" - }, - "og_title": { - "type": "string" - }, - "twitter_description": { - "type": "string" - }, - "twitter_title": { - "type": "string" - } -} - removed
Input schema / properties / seo_settings / titleRemoved value: -"PostMetadata" - removed
Input schema / properties / seo_settings / typeRemoved value: -"object" - added
Input schema / properties / social_share / $refAdded value: +"#/$defs/PostSocialShare" - removed
Input schema / properties / social_share / descriptionRemoved value: -"The social share type to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / social_share / enumRemoved value: -[ - "comments_and_likes_only", - "with_comments_and_likes", - "top", - "none" -] - removed
Input schema / properties / social_share / titleRemoved value: -"PostSocialShare" - removed
Input schema / properties / social_share / typeRemoved value: -"string" - added
Input schema / properties / status / $refAdded value: +"#/$defs/PostPublishStatus" - removed
Input schema / properties / status / defaultRemoved value: -"draft" - removed
Input schema / properties / status / descriptionRemoved value: -"The status of the post. If not provided, the default (`draft`) value will be used and the post will not be scheduled or published. Explicitly pass `confirmed` to have the post publish immediately (if no `scheduled_at` is provided) or at the `scheduled_at` time." - removed
Input schema / properties / status / enumRemoved value: -[ - "draft", - "confirmed" -] - removed
Input schema / properties / status / titleRemoved value: -"PostPublishStatus" - removed
Input schema / properties / status / typeRemoved value: -"string" - added
Input schema / properties / team_author_ids / $refAdded value: +"#/$defs/team_author_ids" - removed
Input schema / properties / team_author_ids / descriptionRemoved value: -"The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. Note the List Authors endpoint only returns team members who already have a byline on a published post in this publication, so it will not surface IDs for a team member's first assignment. When provided, replaces all existing team authors on the post." - removed
Input schema / properties / team_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the team author (platform user).", - "pattern": "^(user_[0-9a-fA-F\\-]+)$", - "title": "TeamAuthorId", - "type": "string" -} - removed
Input schema / properties / team_author_ids / typeRemoved value: -"array" - added
Input schema / properties / web_settings / $refAdded value: +"#/$defs/PostWebSettings" - removed
Input schema / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / web_settings / descriptionRemoved value: -"The web settings to use for this post. If not provided, the default value will be used." - removed
Input schema / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "type": "boolean" - }, - "display_thumbnail_on_web": { - "type": "boolean" - }, - "display_title_on_web": { - "type": "boolean" - }, - "hide_from_feed": { - "type": "boolean" - }, - "paywall_break_price_id": { - "description": "The prefixed ID of the price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "paywall_id": { - "description": "The prefixed ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "slug": { - "type": "string" - } -} - removed
Input schema / properties / web_settings / titleRemoved value: -"PostWebSettings" - removed
Input schema / properties / web_settings / typeRemoved value: -"object"
- Changed
create_post_template64 fields changed- added
Input schema / $defsAdded value: +{ + "ConditionSetOperator": { + "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", + "enum": [ + "and", + "or" + ], + "title": "ConditionSetOperator", + "type": "string" + }, + "ParagraphBlockTextSection": { + "additionalProperties": false, + "properties": { + "highlight_color": { + "description": "The CSS color value for the text highlight.", + "type": "string" + }, + "link": { + "additionalProperties": false, + "description": "The link of the text.", + "properties": { + "href": { + "description": "The URL of the link.", + "type": "string" + }, + "target": { + "description": "The target of the link (e.g., _blank).", + "type": "string" + } + }, + "required": [ + "href" + ], + "title": "Link", + "type": "object" + }, + "styling": { + "description": "The inline styles for the text.", + "items": { + "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", + "enum": [ + "bold", + "italic", + "underline", + "strikethrough" + ], + "title": "ParagraphBlockTextStyle", + "type": "string" + }, + "type": "array" + }, + "text": { + "description": "The text content of the paragraph.", + "type": "string" + }, + "text_color": { + "description": "The CSS color value for the text.", + "type": "string" + } + }, + "required": [ + "text" + ], + "title": "ParagraphBlockTextSection", + "type": "object" + }, + "PostTemplateEmailSettings": { + "additionalProperties": false, + "description": "The email settings posts built from this template start with.", + "properties": { + "display_byline_in_email": { + "description": "Whether the byline is displayed in the email.", + "type": "boolean" + }, + "display_subtitle_in_email": { + "description": "Whether the subtitle is displayed in the email.", + "type": "boolean" + }, + "display_title_in_email": { + "description": "Whether the title is displayed in the email.", + "type": "boolean" + }, + "email_header_engagement_buttons": { + "description": "Whether the engagement buttons are displayed in the email header.", + "type": "boolean" + }, + "email_header_social_share": { + "description": "Whether the social share links are displayed in the email header.", + "type": "boolean" + }, + "email_preview_text": { + "description": "The preview text of the email.", + "type": "string" + }, + "email_subject_line": { + "description": "The subject line of the email.", + "type": "string" + }, + "from_address": { + "description": "The address the email is sent from.", + "type": "string" + }, + "reply_to_address": { + "description": "The address replies are directed to.", + "type": "string" + }, + "sender_name": { + "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`.", + "type": "string" + } + }, + "title": "PostTemplateEmailSettings", + "type": "object" + }, + "PostTemplateWebSettings": { + "additionalProperties": false, + "description": "The web settings posts built from this template start with.", + "properties": { + "display_subtitle_on_web": { + "description": "Whether the subtitle is displayed on the web.", + "type": "boolean" + }, + "display_thumbnail_on_web": { + "description": "Whether the thumbnail is displayed on the web.", + "type": "boolean" + }, + "display_title_on_web": { + "description": "Whether the title is displayed on the web.", + "type": "boolean" + }, + "paywall_break_price_id": { + "description": "The price offered at the template's paywall break. Templates created in the beehiiv app store this as a bare UUID, so it is not returned as a prefixed ID.", + "type": "string" + }, + "paywall_id": { + "description": "The prefixed ID of the paywall applied at the template's paywall break.", + "type": "string" + }, + "subtitle": { + "description": "The subtitle posts built from this template start with.", + "type": "string" + }, + "title": { + "description": "The headline posts built from this template start with.", + "type": "string" + } + }, + "title": "PostTemplateWebSettings", + "type": "object" + }, + "VisibilitySettings": { + "additionalProperties": false, + "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "VisualSettings": { + "additionalProperties": false, + "description": "Optional styling for borders, spacing, colors, etc.", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + }, + "advertisement": { + "additionalProperties": false, + "properties": { + "opportunity_id": { + "description": "The ID of the Advertisement opportunity.", + "type": "string" + }, + "type": { + "description": "Discriminator value: advertisement", + "enum": [ + "advertisement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "opportunity_id" + ], + "type": "object" + }, + "blocks": { + "description": "The structured content blocks posts built from this template start with. Supports the same block types as Create Post, with the exception of `advertisement`: an advertisement opportunity is booked for a single send and cannot be stored on a template.", + "items": { + "description": "A block in the post content.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "additionalProperties": false, + "properties": { + "advertisement_kind": { + "description": "The automated advertisement kind to fill at publish time.", + "enum": [ + "primary", + "secondary" + ], + "title": "AutomatedAdvertisementKind", + "type": "string" + }, + "type": { + "description": "Discriminator value: automated_advertisement_placement", + "enum": [ + "automated_advertisement_placement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "advertisement_kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "override_align": { + "description": "The logo alignment. Defaults to center.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "override_sponsor_text": { + "description": "The sponsor text to display with the advertisement logo. Required.", + "enum": [ + "sponsored_by", + "together_with", + "in_partnership_with", + "presented_by", + "todays_sponsor" + ], + "title": "ProgrammaticAdsSponsorText", + "type": "string" + }, + "override_width": { + "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: programmatic_ads_logo", + "enum": [ + "programmatic_ads_logo" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "override_sponsor_text" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "columns": { + "description": "The blocks that make up the columns.", + "items": { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks that make up the column.", + "items": { + "description": "A block in the post content that can be embedded within a column.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + } + ], + "title": "EmbeddableBlocks" + }, + "type": "array" + }, + "position": { + "description": "The column position. This field is deprecated but supported for existing column layouts.", + "enum": [ + "left", + "right" + ], + "title": "ColumnPosition", + "type": "string" + }, + "verticalAlign": { + "description": "The vertical alignment of the column content.", + "enum": [ + "top", + "middle", + "bottom" + ], + "title": "ColumnVerticalAlignment", + "type": "string" + }, + "width": { + "description": "The column width percentage. When omitted, width is calculated automatically.", + "type": "integer" + } + }, + "required": [ + "blocks" + ], + "title": "ColumnBlock", + "type": "object" + }, + "type": "array" + }, + "stackOnMobile": { + "default": true, + "description": "Whether columns should stack vertically on mobile devices.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: columns", + "enum": [ + "columns" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "columns" + ], + "type": "object" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + }, + { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", + "items": { + "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + } + ], + "title": "SectionableBlock" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: section", + "enum": [ + "section" + ], + "type": "string" + }, + "visibility_settings": { + "additionalProperties": false, + "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "visual_settings": { + "additionalProperties": false, + "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + } + }, + "required": [ + "type", + "blocks" + ], + "type": "object" + } + ], + "title": "Block" + }, + "type": "array" + }, + "body_content": { + "description": "The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", + "type": "string" + }, + "button": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the button.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "href": { + "description": "The URL the button should use.", + "type": "string" + }, + "size": { + "description": "The size of the button (e.g., small, normal, large).", + "enum": [ + "small", + "normal", + "large" + ], + "title": "Sizes", + "type": "string" + }, + "target": { + "description": "The target of the button (e.g., _blank).", + "type": "string" + }, + "text": { + "description": "The text content of the button.", + "type": "string" + }, + "type": { + "description": "Discriminator value: button", + "enum": [ + "button" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "href", + "text" + ], + "type": "object" + }, + "condition_set_ids": { + "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", + "items": { + "type": "string" + }, + "type": "array" + }, + "embed_link": { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: embed_link", + "enum": [ + "embed_link" + ], + "type": "string" + }, + "url": { + "description": "The URL of the embed link.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "url" + ], + "type": "object" + }, + "guest_author_ids": { + "description": "The prefixed IDs of the guest authors posts built from this template start with. Guest authors must belong to the publication.", + "items": { + "description": "The prefixed ID of the guest author.", + "pattern": "^(guest_[0-9a-fA-F\\-]+)$", + "title": "GuestAuthorId", + "type": "string" + }, + "type": "array" + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Custom email headers posts built from this template start with. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden.", + "type": "object" + }, + "heading": { + "additionalProperties": false, + "properties": { + "anchorHeader": { + "default": true, + "description": "Whether the header should be an anchor header.", + "type": "boolean" + }, + "anchorIncludeInToc": { + "default": true, + "description": "Whether the header should be included in the table of contents.", + "type": "boolean" + }, + "formattedText": { + "description": "The formatted content of the header, supporting links and inline styling.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "level": { + "description": "The level of the header (e.g., 1, 2, 3, etc.).", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "title": "HeadingLevel", + "type": "string" + }, + "text": { + "description": "The text content of the header. Ignored if `formattedText` is provided.", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the header (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: heading", + "enum": [ + "heading" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "level" + ], + "type": "object" + }, + "html": { + "additionalProperties": false, + "properties": { + "html": { + "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", + "type": "string" + }, + "type": { + "description": "Discriminator value: html", + "enum": [ + "html" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "html" + ], + "type": "object" + }, + "image": { + "additionalProperties": false, + "properties": { + "alt_text": { + "description": "Alternative text for the image.", + "type": "string" + }, + "caption": { + "description": "A caption for the image.", + "type": "string" + }, + "captionAlignment": { + "description": "The text alignment of the caption.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageAlignment": { + "description": "The text alignment of the image.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image.", + "type": "string" + }, + "title": { + "description": "The title of the image.", + "type": "string" + }, + "type": { + "description": "Discriminator value: image", + "enum": [ + "image" + ], + "type": "string" + }, + "url": { + "description": "The URL that the image should link to.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + }, + "width": { + "description": "The width of the image. Should be between 1 and 100.", + "type": "integer" + } + }, + "required": [ + "type", + "imageUrl" + ], + "type": "object" + }, + "list": { + "additionalProperties": false, + "properties": { + "items": { + "description": "The items in the list.", + "items": { + "description": "A list item as either plain text or formatted text data.", + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the list item.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "text": { + "description": "The plain text content of the list item.", + "type": "string" + } + }, + "title": "ListBlockItemData", + "type": "object" + } + ], + "title": "ListBlockItem" + }, + "type": "array" + }, + "listType": { + "description": "The type of list (e.g., ordered, unordered).", + "enum": [ + "ordered", + "unordered" + ], + "title": "ListType", + "type": "string" + }, + "startNumber": { + "description": "The number to start the list at. Only applicable if listType is ordered.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: list", + "enum": [ + "list" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "items" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the paragraph.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "plaintext": { + "description": "The plaintext content of the paragraph.", + "type": "string" + }, + "textAlign": { + "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the paragraph (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: paragraph", + "enum": [ + "paragraph" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "paywall_break": { + "additionalProperties": false, + "properties": { + "paywall_id": { + "description": "The ID of the paywall.", + "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", + "title": "PaywallId", + "type": "string" + }, + "type": { + "description": "Discriminator value: paywall_break", + "enum": [ + "paywall_break" + ], + "type": "string" + } + }, + "required": [ + "type", + "paywall_id" + ], + "type": "object" + }, + "poll": { + "additionalProperties": false, + "properties": { + "poll_id": { + "description": "The ID of the poll you wish to include.", + "pattern": "^(poll_[0-9a-fA-F\\-]+)$", + "title": "PollId", + "type": "string" + }, + "show_options_initially": { + "description": "Whether to show the poll options initially. Defaults to false.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: poll", + "enum": [ + "poll" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "poll_id" + ], + "type": "object" + }, + "quote": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the quote. Defaults depend on the variant.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "author": { + "description": "The author of the quote.", + "type": "string" + }, + "quote": { + "description": "The text of the quote.", + "type": "string" + }, + "type": { + "description": "Discriminator value: quote", + "enum": [ + "quote" + ], + "type": "string" + }, + "variant": { + "description": "The type of quote block. Defaults to \"block\".", + "enum": [ + "block", + "inline", + "quotation" + ], + "title": "QuoteVariant", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "quote" + ], + "type": "object" + }, + "rss": { + "additionalProperties": false, + "properties": { + "articleLayout": { + "description": "The layout of the articles from the feed.", + "enum": [ + "1-col", + "2-col", + "3-col", + "4-col" + ], + "title": "RssBlockLayout", + "type": "string" + }, + "articlesToShow": { + "description": "The number of articles to show from the feed.", + "type": "integer" + }, + "ctaAlignment": { + "description": "The alignment of the call to action.", + "enum": [ + "Left", + "Center", + "Right" + ], + "title": "RssCtaAlignment", + "type": "string" + }, + "ctaStyle": { + "description": "The style of the call to action.", + "enum": [ + "CTA button", + "CTA link", + "Title as link", + "Thumbnail as link", + "Title and thumbnail as link" + ], + "title": "RssCtaStyle", + "type": "string" + }, + "ctaText": { + "description": "The text of the call to action. Applicable if ctaStyle is button or link.", + "type": "string" + }, + "externalRssFeedId": { + "description": "The ID of the external RSS feed.", + "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", + "title": "ExternalRssFeedId", + "type": "string" + }, + "refreshOnSend": { + "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", + "type": "boolean" + }, + "rssFeedUrl": { + "description": "The URL of the RSS feed.", + "type": "string" + }, + "selectionMode": { + "description": "How to select feed articles, by count or time window.", + "enum": [ + "count", + "time" + ], + "title": "RssSelectionMode", + "type": "string" + }, + "showArticleThumbnail": { + "description": "Whether to show the article thumbnail.", + "type": "boolean" + }, + "showArticleTitle": { + "description": "Whether to show the article title.", + "type": "boolean" + }, + "showAuthor": { + "description": "Whether to show the author.", + "type": "boolean" + }, + "showCategories": { + "description": "Whether to show the categories.", + "type": "boolean" + }, + "showContent": { + "description": "Whether to show the article content.", + "type": "boolean" + }, + "showCta": { + "description": "Whether to show a call to action.", + "type": "boolean" + }, + "showDescription": { + "description": "Whether to show the article description.", + "type": "boolean" + }, + "showPublishedDate": { + "description": "Whether to show the date the article was published", + "type": "boolean" + }, + "thumbnailPosition": { + "description": "The position of the thumbnail.", + "enum": [ + "Above Title", + "Below Title", + "Left of content", + "Right of content", + "Alternating Horizontally" + ], + "title": "RssThumbnailPosition", + "type": "string" + }, + "timeWindowHours": { + "description": "Trailing window in hours when selectionMode is time.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: rss", + "enum": [ + "rss" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "table": { + "additionalProperties": false, + "properties": { + "headerColumn": { + "default": false, + "description": "Whether the first column is a header column.", + "type": "boolean" + }, + "headerRow": { + "default": true, + "description": "Whether the first row is a header row.", + "type": "boolean" + }, + "rows": { + "description": "The rows of the table.", + "items": { + "items": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the cell.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "colspan": { + "default": 1, + "description": "The number of columns the cell spans.", + "type": "integer" + }, + "formattedText": { + "description": "The formatted content of the cell.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "rowspan": { + "default": 1, + "description": "The number of rows the cell spans.", + "type": "integer" + }, + "text": { + "description": "The text content of the cell.", + "type": "string" + } + }, + "title": "TableCellData", + "type": "object" + }, + "type": "array" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: table", + "enum": [ + "table" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "rows" + ], + "type": "object" + }, + "team_author_ids": { + "description": "The prefixed IDs of the team members posts built from this template start with as authors. Team authors must have access to the publication.", + "items": { + "description": "The prefixed ID of the team author (platform user).", + "pattern": "^(user_[0-9a-fA-F\\-]+)$", + "title": "TeamAuthorId", + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / blocks / descriptionRemoved value: -"The structured content blocks posts built from this template start with. Supports the same block types as Create Post, with the exception of `advertisement`: an advertisement opportunity is booked for a single send and cannot be stored on a template." - removed
Input schema / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / body_content / descriptionRemoved value: -"The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling." - removed
Input schema / properties / body_content / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / email_settings / $refAdded value: +"#/$defs/PostTemplateEmailSettings" - removed
Input schema / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / email_settings / descriptionRemoved value: -"The email settings posts built from this template start with." - removed
Input schema / properties / email_settings / propertiesRemoved value: -{ - "display_byline_in_email": { - "description": "Whether the byline is displayed in the email.", - "type": "boolean" - }, - "display_subtitle_in_email": { - "description": "Whether the subtitle is displayed in the email.", - "type": "boolean" - }, - "display_title_in_email": { - "description": "Whether the title is displayed in the email.", - "type": "boolean" - }, - "email_header_engagement_buttons": { - "description": "Whether the engagement buttons are displayed in the email header.", - "type": "boolean" - }, - "email_header_social_share": { - "description": "Whether the social share links are displayed in the email header.", - "type": "boolean" - }, - "email_preview_text": { - "description": "The preview text of the email.", - "type": "string" - }, - "email_subject_line": { - "description": "The subject line of the email.", - "type": "string" - }, - "from_address": { - "description": "The address the email is sent from.", - "type": "string" - }, - "reply_to_address": { - "description": "The address replies are directed to.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`.", - "type": "string" - } -} - removed
Input schema / properties / email_settings / titleRemoved value: -"PostTemplateEmailSettings" - removed
Input schema / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / guest_author_ids / $refAdded value: +"#/$defs/guest_author_ids" - removed
Input schema / properties / guest_author_ids / descriptionRemoved value: -"The prefixed IDs of the guest authors posts built from this template start with. Guest authors must belong to the publication." - removed
Input schema / properties / guest_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the guest author.", - "pattern": "^(guest_[0-9a-fA-F\\-]+)$", - "title": "GuestAuthorId", - "type": "string" -} - removed
Input schema / properties / guest_author_ids / typeRemoved value: -"array" - added
Input schema / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / headers / descriptionRemoved value: -"Custom email headers posts built from this template start with. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / payload / properties / blocks / descriptionRemoved value: -"The structured content blocks posts built from this template start with. Supports the same block types as Create Post, with the exception of `advertisement`: an advertisement opportunity is booked for a single send and cannot be stored on a template." - removed
Input schema / properties / payload / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / payload / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / payload / properties / body_content / descriptionRemoved value: -"The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling." - removed
Input schema / properties / payload / properties / body_content / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / email_settings / $refAdded value: +"#/$defs/PostTemplateEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / email_settings / descriptionRemoved value: -"The email settings posts built from this template start with." - removed
Input schema / properties / payload / properties / email_settings / propertiesRemoved value: -{ - "display_byline_in_email": { - "description": "Whether the byline is displayed in the email.", - "type": "boolean" - }, - "display_subtitle_in_email": { - "description": "Whether the subtitle is displayed in the email.", - "type": "boolean" - }, - "display_title_in_email": { - "description": "Whether the title is displayed in the email.", - "type": "boolean" - }, - "email_header_engagement_buttons": { - "description": "Whether the engagement buttons are displayed in the email header.", - "type": "boolean" - }, - "email_header_social_share": { - "description": "Whether the social share links are displayed in the email header.", - "type": "boolean" - }, - "email_preview_text": { - "description": "The preview text of the email.", - "type": "string" - }, - "email_subject_line": { - "description": "The subject line of the email.", - "type": "string" - }, - "from_address": { - "description": "The address the email is sent from.", - "type": "string" - }, - "reply_to_address": { - "description": "The address replies are directed to.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`.", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / email_settings / titleRemoved value: -"PostTemplateEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / guest_author_ids / $refAdded value: +"#/$defs/guest_author_ids" - removed
Input schema / properties / payload / properties / guest_author_ids / descriptionRemoved value: -"The prefixed IDs of the guest authors posts built from this template start with. Guest authors must belong to the publication." - removed
Input schema / properties / payload / properties / guest_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the guest author.", - "pattern": "^(guest_[0-9a-fA-F\\-]+)$", - "title": "GuestAuthorId", - "type": "string" -} - removed
Input schema / properties / payload / properties / guest_author_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / payload / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / headers / descriptionRemoved value: -"Custom email headers posts built from this template start with. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / payload / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / team_author_ids / $refAdded value: +"#/$defs/team_author_ids" - removed
Input schema / properties / payload / properties / team_author_ids / descriptionRemoved value: -"The prefixed IDs of the team members posts built from this template start with as authors. Team authors must have access to the publication." - removed
Input schema / properties / payload / properties / team_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the team author (platform user).", - "pattern": "^(user_[0-9a-fA-F\\-]+)$", - "title": "TeamAuthorId", - "type": "string" -} - removed
Input schema / properties / payload / properties / team_author_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / web_settings / $refAdded value: +"#/$defs/PostTemplateWebSettings" - removed
Input schema / properties / payload / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / web_settings / descriptionRemoved value: -"The web settings posts built from this template start with." - removed
Input schema / properties / payload / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "description": "Whether the subtitle is displayed on the web.", - "type": "boolean" - }, - "display_thumbnail_on_web": { - "description": "Whether the thumbnail is displayed on the web.", - "type": "boolean" - }, - "display_title_on_web": { - "description": "Whether the title is displayed on the web.", - "type": "boolean" - }, - "paywall_break_price_id": { - "description": "The price offered at the template's paywall break. Templates created in the beehiiv app store this as a bare UUID, so it is not returned as a prefixed ID.", - "type": "string" - }, - "paywall_id": { - "description": "The prefixed ID of the paywall applied at the template's paywall break.", - "type": "string" - }, - "subtitle": { - "description": "The subtitle posts built from this template start with.", - "type": "string" - }, - "title": { - "description": "The headline posts built from this template start with.", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / web_settings / titleRemoved value: -"PostTemplateWebSettings" - removed
Input schema / properties / payload / properties / web_settings / typeRemoved value: -"object" - added
Input schema / properties / team_author_ids / $refAdded value: +"#/$defs/team_author_ids" - removed
Input schema / properties / team_author_ids / descriptionRemoved value: -"The prefixed IDs of the team members posts built from this template start with as authors. Team authors must have access to the publication." - removed
Input schema / properties / team_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the team author (platform user).", - "pattern": "^(user_[0-9a-fA-F\\-]+)$", - "title": "TeamAuthorId", - "type": "string" -} - removed
Input schema / properties / team_author_ids / typeRemoved value: -"array" - added
Input schema / properties / web_settings / $refAdded value: +"#/$defs/PostTemplateWebSettings" - removed
Input schema / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / web_settings / descriptionRemoved value: -"The web settings posts built from this template start with." - removed
Input schema / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "description": "Whether the subtitle is displayed on the web.", - "type": "boolean" - }, - "display_thumbnail_on_web": { - "description": "Whether the thumbnail is displayed on the web.", - "type": "boolean" - }, - "display_title_on_web": { - "description": "Whether the title is displayed on the web.", - "type": "boolean" - }, - "paywall_break_price_id": { - "description": "The price offered at the template's paywall break. Templates created in the beehiiv app store this as a bare UUID, so it is not returned as a prefixed ID.", - "type": "string" - }, - "paywall_id": { - "description": "The prefixed ID of the paywall applied at the template's paywall break.", - "type": "string" - }, - "subtitle": { - "description": "The subtitle posts built from this template start with.", - "type": "string" - }, - "title": { - "description": "The headline posts built from this template start with.", - "type": "string" - } -} - removed
Input schema / properties / web_settings / titleRemoved value: -"PostTemplateWebSettings" - removed
Input schema / properties / web_settings / typeRemoved value: -"object"
- Changed
create_publication_field16 fields changed- added
Input schema / $defsAdded value: +{ + "name": { + "description": "The merge tag key for the field, unique within the workspace. Derived from `display` when omitted. Normalized to start with a letter and contain only lowercase letters, numbers and underscores, so `Support Email` is stored as `support_email`. A `date` or `number` field also claims its format variants, so `launch_date_mdy` is rejected with `NAME_CLASHES` while a `date` field named `launch_date` exists, and the other way around.", + "type": "string" + }, + "response_keys": { + "description": "The keys declared within the fetched JSON response body. Required when `kind` is `json` and rejected otherwise. A `number` or `date` key also claims its format variants, so a key `temp_round2` is rejected with `RESPONSE_KEYS_CLASHES` beside a `number` key named `temp`.", + "items": { + "additionalProperties": false, + "properties": { + "key": { + "description": "The name of the key within the JSON response body.", + "type": "string" + }, + "kind": { + "description": "The type of value the key holds.", + "enum": [ + "text", + "number", + "date", + "url", + "image_url" + ], + "title": "PublicationFieldResponseKeyKind", + "type": "string" + } + }, + "required": [ + "key", + "kind" + ], + "title": "PublicationFieldResponseKey", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / name / $refAdded value: +"#/$defs/name" - removed
Input schema / properties / name / descriptionRemoved value: -"The merge tag key for the field, unique within the workspace. Derived from `display` when omitted. Normalized to start with a letter and contain only lowercase letters, numbers and underscores, so `Support Email` is stored as `support_email`. A `date` or `number` field also claims its format variants, so `launch_date_mdy` is rejected with `NAME_CLASHES` while a `date` field named `launch_date` exists, and the other way around." - removed
Input schema / properties / name / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / name / $refAdded value: +"#/$defs/name" - removed
Input schema / properties / payload / properties / name / descriptionRemoved value: -"The merge tag key for the field, unique within the workspace. Derived from `display` when omitted. Normalized to start with a letter and contain only lowercase letters, numbers and underscores, so `Support Email` is stored as `support_email`. A `date` or `number` field also claims its format variants, so `launch_date_mdy` is rejected with `NAME_CLASHES` while a `date` field named `launch_date` exists, and the other way around." - removed
Input schema / properties / payload / properties / name / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / response_keys / $refAdded value: +"#/$defs/response_keys" - removed
Input schema / properties / payload / properties / response_keys / descriptionRemoved value: -"The keys declared within the fetched JSON response body. Required when `kind` is `json` and rejected otherwise. A `number` or `date` key also claims its format variants, so a key `temp_round2` is rejected with `RESPONSE_KEYS_CLASHES` beside a `number` key named `temp`." - removed
Input schema / properties / payload / properties / response_keys / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "key": { - "description": "The name of the key within the JSON response body.", - "type": "string" - }, - "kind": { - "description": "The type of value the key holds.", - "enum": [ - "text", - "number", - "date", - "url", - "image_url" - ], - "title": "PublicationFieldResponseKeyKind", - "type": "string" - } - }, - "required": [ - "key", - "kind" - ], - "title": "PublicationFieldResponseKey", - "type": "object" -} - removed
Input schema / properties / payload / properties / response_keys / typeRemoved value: -"array" - added
Input schema / properties / response_keys / $refAdded value: +"#/$defs/response_keys" - removed
Input schema / properties / response_keys / descriptionRemoved value: -"The keys declared within the fetched JSON response body. Required when `kind` is `json` and rejected otherwise. A `number` or `date` key also claims its format variants, so a key `temp_round2` is rejected with `RESPONSE_KEYS_CLASHES` beside a `number` key named `temp`." - removed
Input schema / properties / response_keys / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "key": { - "description": "The name of the key within the JSON response body.", - "type": "string" - }, - "kind": { - "description": "The type of value the key holds.", - "enum": [ - "text", - "number", - "date", - "url", - "image_url" - ], - "title": "PublicationFieldResponseKeyKind", - "type": "string" - } - }, - "required": [ - "key", - "kind" - ], - "title": "PublicationFieldResponseKey", - "type": "object" -} - removed
Input schema / properties / response_keys / typeRemoved value: -"array"
- Changed
create_segment10 fields changed- added
Input schema / $defsAdded value: +{ + "SegmentSubscriptionInput": { + "description": "Input for segment creation. Use `subscriptions` or `emails` to create a manual segment from explicit lists, or `custom_fields` to create a dynamic segment filtered by custom field values.", + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "subscriptions": { + "items": { + "description": "The prefixed ID of the subscription.", + "pattern": "^(sub_[0-9a-fA-F\\-]+)$", + "title": "SubscriptionId", + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: subscriptions", + "enum": [ + "subscriptions" + ], + "type": "string" + } + }, + "required": [ + "type", + "subscriptions" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "emails": { + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: emails", + "enum": [ + "emails" + ], + "type": "string" + } + }, + "required": [ + "type", + "emails" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "custom_fields": { + "items": { + "additionalProperties": false, + "description": "A single custom field filter condition.", + "properties": { + "name": { + "description": "The display name of the custom field (case-insensitive match). Must be an existing custom field on the publication.", + "type": "string" + }, + "operator": { + "description": "The comparison operator for the filter (e.g., `equal`, `not_equal`, `contains`, `exists`, `does_not_exist`). Available operators depend on the custom field's type.", + "type": "string" + }, + "value": { + "description": "The value to compare against. Required for all operators except `exists` and `does_not_exist`.", + "type": "string" + } + }, + "required": [ + "name", + "operator" + ], + "title": "CustomFieldFilter", + "type": "object" + }, + "type": "array" + }, + "operator": { + "description": "The logical operator used to combine multiple custom field filters. Defaults to `and` if not specified.", + "enum": [ + "and", + "or" + ], + "title": "CustomFieldsLogicalOperator", + "type": "string" + }, + "type": { + "description": "Discriminator value: custom_fields", + "enum": [ + "custom_fields" + ], + "type": "string" + } + }, + "required": [ + "type", + "custom_fields" + ], + "type": "object" + } + ], + "title": "SegmentSubscriptionInput" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / input / $refAdded value: +"#/$defs/SegmentSubscriptionInput" - removed
Input schema / properties / input / descriptionRemoved value: -"Input for segment creation. Use `subscriptions` or `emails` to create a manual segment from explicit lists, or `custom_fields` to create a dynamic segment filtered by custom field values." - removed
Input schema / properties / input / oneOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "subscriptions": { - "items": { - "description": "The prefixed ID of the subscription.", - "pattern": "^(sub_[0-9a-fA-F\\-]+)$", - "title": "SubscriptionId", - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: subscriptions", - "enum": [ - "subscriptions" - ], - "type": "string" - } - }, - "required": [ - "type", - "subscriptions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "emails": { - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: emails", - "enum": [ - "emails" - ], - "type": "string" - } - }, - "required": [ - "type", - "emails" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "custom_fields": { - "items": { - "additionalProperties": false, - "description": "A single custom field filter condition.", - "properties": { - "name": { - "description": "The display name of the custom field (case-insensitive match). Must be an existing custom field on the publication.", - "type": "string" - }, - "operator": { - "description": "The comparison operator for the filter (e.g., `equal`, `not_equal`, `contains`, `exists`, `does_not_exist`). Available operators depend on the custom field's type.", - "type": "string" - }, - "value": { - "description": "The value to compare against. Required for all operators except `exists` and `does_not_exist`.", - "type": "string" - } - }, - "required": [ - "name", - "operator" - ], - "title": "CustomFieldFilter", - "type": "object" - }, - "type": "array" - }, - "operator": { - "description": "The logical operator used to combine multiple custom field filters. Defaults to `and` if not specified.", - "enum": [ - "and", - "or" - ], - "title": "CustomFieldsLogicalOperator", - "type": "string" - }, - "type": { - "description": "Discriminator value: custom_fields", - "enum": [ - "custom_fields" - ], - "type": "string" - } - }, - "required": [ - "type", - "custom_fields" - ], - "type": "object" - } -] - removed
Input schema / properties / input / titleRemoved value: -"SegmentSubscriptionInput" - added
Input schema / properties / payload / properties / input / $refAdded value: +"#/$defs/SegmentSubscriptionInput" - removed
Input schema / properties / payload / properties / input / descriptionRemoved value: -"Input for segment creation. Use `subscriptions` or `emails` to create a manual segment from explicit lists, or `custom_fields` to create a dynamic segment filtered by custom field values." - removed
Input schema / properties / payload / properties / input / oneOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "subscriptions": { - "items": { - "description": "The prefixed ID of the subscription.", - "pattern": "^(sub_[0-9a-fA-F\\-]+)$", - "title": "SubscriptionId", - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: subscriptions", - "enum": [ - "subscriptions" - ], - "type": "string" - } - }, - "required": [ - "type", - "subscriptions" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "emails": { - "items": { - "type": "string" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: emails", - "enum": [ - "emails" - ], - "type": "string" - } - }, - "required": [ - "type", - "emails" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "custom_fields": { - "items": { - "additionalProperties": false, - "description": "A single custom field filter condition.", - "properties": { - "name": { - "description": "The display name of the custom field (case-insensitive match). Must be an existing custom field on the publication.", - "type": "string" - }, - "operator": { - "description": "The comparison operator for the filter (e.g., `equal`, `not_equal`, `contains`, `exists`, `does_not_exist`). Available operators depend on the custom field's type.", - "type": "string" - }, - "value": { - "description": "The value to compare against. Required for all operators except `exists` and `does_not_exist`.", - "type": "string" - } - }, - "required": [ - "name", - "operator" - ], - "title": "CustomFieldFilter", - "type": "object" - }, - "type": "array" - }, - "operator": { - "description": "The logical operator used to combine multiple custom field filters. Defaults to `and` if not specified.", - "enum": [ - "and", - "or" - ], - "title": "CustomFieldsLogicalOperator", - "type": "string" - }, - "type": { - "description": "Discriminator value: custom_fields", - "enum": [ - "custom_fields" - ], - "type": "string" - } - }, - "required": [ - "type", - "custom_fields" - ], - "type": "object" - } -] - removed
Input schema / properties / payload / properties / input / titleRemoved value: -"SegmentSubscriptionInput"
- Changed
create_subscription60 fields changed- added
Input schema / $defsAdded value: +{ + "ComplimentaryAccessId": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "DoubleOptOverride": { + "description": "Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription.", + "title": "DoubleOptOverride", + "type": "string" + }, + "automation_ids": { + "description": "Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active *Add by API* trigger.", + "items": { + "type": "string" + }, + "type": "array" + }, + "custom_fields": { + "description": "The custom fields must already exist for the publication. Any new custom fields here will be discarded.", + "items": { + "additionalProperties": false, + "description": "The object required for setting custom field values on a subscription", + "properties": { + "name": { + "description": "The name of the existing custom field", + "type": "string" + }, + "value": { + "description": "The value stored for the subscription", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "CustomFieldValue", + "type": "object" + }, + "type": "array" + }, + "premium_tier_ids": { + "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tiers": { + "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "reactivate_existing": { + "default": false, + "description": "Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing.", + "type": "boolean" + } +} - added
Input schema / properties / automation_ids / $refAdded value: +"#/$defs/automation_ids" - removed
Input schema / properties / automation_ids / descriptionRemoved value: -"Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active *Add by API* trigger." - removed
Input schema / properties / automation_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / automation_ids / typeRemoved value: -"array" - added
Input schema / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / custom_fields / descriptionRemoved value: -"The custom fields must already exist for the publication. Any new custom fields here will be discarded." - removed
Input schema / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "description": "The object required for setting custom field values on a subscription", - "properties": { - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value stored for the subscription", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "CustomFieldValue", - "type": "object" -} - removed
Input schema / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / double_opt_override / $refAdded value: +"#/$defs/DoubleOptOverride" - removed
Input schema / properties / double_opt_override / descriptionRemoved value: -"Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription." - removed
Input schema / properties / double_opt_override / titleRemoved value: -"DoubleOptOverride" - removed
Input schema / properties / double_opt_override / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / automation_ids / $refAdded value: +"#/$defs/automation_ids" - removed
Input schema / properties / payload / properties / automation_ids / descriptionRemoved value: -"Enroll the subscriber into automations after their subscription has been created. Requires the automations to have an active *Add by API* trigger." - removed
Input schema / properties / payload / properties / automation_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / automation_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / payload / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / payload / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / payload / properties / custom_fields / descriptionRemoved value: -"The custom fields must already exist for the publication. Any new custom fields here will be discarded." - removed
Input schema / properties / payload / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "description": "The object required for setting custom field values on a subscription", - "properties": { - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value stored for the subscription", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "CustomFieldValue", - "type": "object" -} - removed
Input schema / properties / payload / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / double_opt_override / $refAdded value: +"#/$defs/DoubleOptOverride" - removed
Input schema / properties / payload / properties / double_opt_override / descriptionRemoved value: -"Override the publication's default double opt-in settings for this subscription. Possible values are: - \"on\" : The subscriber will receive a double opt-in confirmation email and will need to confirm their subscription prior to being marked as active. - \"off\" : The subscriber will be marked as active immediately and will not receive a double opt-in confirmation email. - \"not_set\" : The publication's default double opt-in settings will be applied to this subscription." - removed
Input schema / properties / payload / properties / double_opt_override / titleRemoved value: -"DoubleOptOverride" - removed
Input schema / properties / payload / properties / double_opt_override / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / payload / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / payload / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / reactivate_existing / $refAdded value: +"#/$defs/reactivate_existing" - removed
Input schema / properties / payload / properties / reactivate_existing / defaultRemoved value: -false - removed
Input schema / properties / payload / properties / reactivate_existing / descriptionRemoved value: -"Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing." - removed
Input schema / properties / payload / properties / reactivate_existing / typeRemoved value: -"boolean" - added
Input schema / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / reactivate_existing / $refAdded value: +"#/$defs/reactivate_existing" - removed
Input schema / properties / reactivate_existing / defaultRemoved value: -false - removed
Input schema / properties / reactivate_existing / descriptionRemoved value: -"Whether or not to reactivate the subscription if they have already unsubscribed. This option should be used only if the subscriber is knowingly resubscribing." - removed
Input schema / properties / reactivate_existing / typeRemoved value: -"boolean"
- Changed
create_tier8 fields changed- added
Input schema / $defsAdded value: +{ + "prices_attributes": { + "items": { + "additionalProperties": false, + "properties": { + "amount_cents": { + "type": "integer" + }, + "cta": { + "type": "string" + }, + "currency": { + "enum": [ + "usd", + "aud", + "cad", + "eur", + "gbp", + "inr", + "brl", + "mxn", + "nzd", + "dkk" + ], + "title": "TierPriceCurrency", + "type": "string" + }, + "enabled": { + "default": true, + "type": "boolean" + }, + "features": { + "items": { + "type": "string" + }, + "type": "array" + }, + "interval": { + "enum": [ + "month", + "quarter", + "year", + "one_time", + "donation" + ], + "title": "TierPriceInterval", + "type": "string" + }, + "interval_display": { + "type": "string" + } + }, + "required": [ + "currency", + "amount_cents", + "interval" + ], + "title": "TierPricesAttributesItem", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / prices_attributes / $refAdded value: +"#/$defs/prices_attributes" - removed
Input schema / properties / payload / properties / prices_attributes / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "amount_cents": { - "type": "integer" - }, - "cta": { - "type": "string" - }, - "currency": { - "enum": [ - "usd", - "aud", - "cad", - "eur", - "gbp", - "inr", - "brl", - "mxn", - "nzd", - "dkk" - ], - "title": "TierPriceCurrency", - "type": "string" - }, - "enabled": { - "default": true, - "type": "boolean" - }, - "features": { - "items": { - "type": "string" - }, - "type": "array" - }, - "interval": { - "enum": [ - "month", - "quarter", - "year", - "one_time", - "donation" - ], - "title": "TierPriceInterval", - "type": "string" - }, - "interval_display": { - "type": "string" - } - }, - "required": [ - "currency", - "amount_cents", - "interval" - ], - "title": "TierPricesAttributesItem", - "type": "object" -} - removed
Input schema / properties / payload / properties / prices_attributes / typeRemoved value: -"array" - added
Input schema / properties / prices_attributes / $refAdded value: +"#/$defs/prices_attributes" - removed
Input schema / properties / prices_attributes / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "amount_cents": { - "type": "integer" - }, - "cta": { - "type": "string" - }, - "currency": { - "enum": [ - "usd", - "aud", - "cad", - "eur", - "gbp", - "inr", - "brl", - "mxn", - "nzd", - "dkk" - ], - "title": "TierPriceCurrency", - "type": "string" - }, - "enabled": { - "default": true, - "type": "boolean" - }, - "features": { - "items": { - "type": "string" - }, - "type": "array" - }, - "interval": { - "enum": [ - "month", - "quarter", - "year", - "one_time", - "donation" - ], - "title": "TierPriceInterval", - "type": "string" - }, - "interval_display": { - "type": "string" - } - }, - "required": [ - "currency", - "amount_cents", - "interval" - ], - "title": "TierPricesAttributesItem", - "type": "object" -} - removed
Input schema / properties / prices_attributes / typeRemoved value: -"array"
- Changed
create_webhook10 fields changed- added
Input schema / $defsAdded value: +{ + "event_types": { + "description": "The types of events the webhook will receive.", + "items": { + "enum": [ + "post.sent", + "post.updated", + "subscription.confirmed", + "subscription.created", + "subscription.downgraded", + "subscription.paused", + "subscription.resumed", + "subscription.tier.paused", + "subscription.tier.resumed", + "subscription.upgraded", + "subscription.tier.created", + "subscription.tier.deleted", + "subscription.deleted", + "newsletter_list_subscription.subscribed", + "newsletter_list_subscription.unsubscribed", + "newsletter_list_subscription.paused", + "newsletter_list_subscription.resumed", + "post.scheduled", + "survey.response_submitted", + "podcasts.episode.published", + "podcasts.episode.updated", + "podcasts.episode.archived", + "podcasts.episode.deleted", + "podcasts.private_feed.activated", + "podcasts.private_feed.access_revoked", + "podcasts.private_feed.deactivated" + ], + "title": "WebhookEventType", + "type": "string" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / event_types / $refAdded value: +"#/$defs/event_types" - removed
Input schema / properties / event_types / descriptionRemoved value: -"The types of events the webhook will receive." - removed
Input schema / properties / event_types / itemsRemoved value: -{ - "enum": [ - "post.sent", - "post.updated", - "subscription.confirmed", - "subscription.created", - "subscription.downgraded", - "subscription.paused", - "subscription.resumed", - "subscription.tier.paused", - "subscription.tier.resumed", - "subscription.upgraded", - "subscription.tier.created", - "subscription.tier.deleted", - "subscription.deleted", - "newsletter_list_subscription.subscribed", - "newsletter_list_subscription.unsubscribed", - "newsletter_list_subscription.paused", - "newsletter_list_subscription.resumed", - "post.scheduled", - "survey.response_submitted", - "podcasts.episode.published", - "podcasts.episode.updated", - "podcasts.episode.archived", - "podcasts.episode.deleted", - "podcasts.private_feed.activated", - "podcasts.private_feed.access_revoked", - "podcasts.private_feed.deactivated" - ], - "title": "WebhookEventType", - "type": "string" -} - removed
Input schema / properties / event_types / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / event_types / $refAdded value: +"#/$defs/event_types" - removed
Input schema / properties / payload / properties / event_types / descriptionRemoved value: -"The types of events the webhook will receive." - removed
Input schema / properties / payload / properties / event_types / itemsRemoved value: -{ - "enum": [ - "post.sent", - "post.updated", - "subscription.confirmed", - "subscription.created", - "subscription.downgraded", - "subscription.paused", - "subscription.resumed", - "subscription.tier.paused", - "subscription.tier.resumed", - "subscription.upgraded", - "subscription.tier.created", - "subscription.tier.deleted", - "subscription.deleted", - "newsletter_list_subscription.subscribed", - "newsletter_list_subscription.unsubscribed", - "newsletter_list_subscription.paused", - "newsletter_list_subscription.resumed", - "post.scheduled", - "survey.response_submitted", - "podcasts.episode.published", - "podcasts.episode.updated", - "podcasts.episode.archived", - "podcasts.episode.deleted", - "podcasts.private_feed.activated", - "podcasts.private_feed.access_revoked", - "podcasts.private_feed.deactivated" - ], - "title": "WebhookEventType", - "type": "string" -} - removed
Input schema / properties / payload / properties / event_types / typeRemoved value: -"array"
- Changed
delete_custom_field1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
delete_newsletter_list1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
delete_post1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
delete_segment1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
delete_subscription1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
delete_webhook1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
newsletter_list_subscriptions_create_import1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
newsletter_list_subscriptions_update_by_subscription_id1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
patch_custom_field1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
patch_subscription52 fields changed- added
Input schema / $defsAdded value: +{ + "ComplimentaryAccessId": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "custom_fields": { + "description": "An array of custom field objects to update", + "items": { + "additionalProperties": false, + "properties": { + "delete": { + "description": "A boolean value to specify whether to delete this custom field entry from the subscription", + "type": "boolean" + }, + "name": { + "description": "The display value of the custom field", + "type": "string" + }, + "value": { + "description": "The value of the custom field", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", + "type": "object" + }, + "type": "array" + }, + "newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tier_ids": { + "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tiers": { + "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unsubscribe_newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / custom_fields / descriptionRemoved value: -"An array of custom field objects to update" - removed
Input schema / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The display value of the custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", - "type": "object" -} - removed
Input schema / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / newsletter_list_ids / $refAdded value: +"#/$defs/newsletter_list_ids" - removed
Input schema / properties / newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`." - removed
Input schema / properties / newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / payload / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / payload / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / payload / properties / custom_fields / descriptionRemoved value: -"An array of custom field objects to update" - removed
Input schema / properties / payload / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The display value of the custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", - "type": "object" -} - removed
Input schema / properties / payload / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / newsletter_list_ids / $refAdded value: +"#/$defs/newsletter_list_ids" - removed
Input schema / properties / payload / properties / newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`." - removed
Input schema / properties / payload / properties / newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / payload / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / payload / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / $refAdded value: +"#/$defs/unsubscribe_newsletter_list_ids" - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`." - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / unsubscribe_newsletter_list_ids / $refAdded value: +"#/$defs/unsubscribe_newsletter_list_ids" - removed
Input schema / properties / unsubscribe_newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`." - removed
Input schema / properties / unsubscribe_newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / unsubscribe_newsletter_list_ids / typeRemoved value: -"array"
- Changed
podcasts_send_private_feed_email1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
podcasts_send_private_feed_email_by_email1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
post_templates_workspace_create48 fields changed- added
Input schema / $defsAdded value: +{ + "ConditionSetOperator": { + "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", + "enum": [ + "and", + "or" + ], + "title": "ConditionSetOperator", + "type": "string" + }, + "ParagraphBlockTextSection": { + "additionalProperties": false, + "properties": { + "highlight_color": { + "description": "The CSS color value for the text highlight.", + "type": "string" + }, + "link": { + "additionalProperties": false, + "description": "The link of the text.", + "properties": { + "href": { + "description": "The URL of the link.", + "type": "string" + }, + "target": { + "description": "The target of the link (e.g., _blank).", + "type": "string" + } + }, + "required": [ + "href" + ], + "title": "Link", + "type": "object" + }, + "styling": { + "description": "The inline styles for the text.", + "items": { + "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", + "enum": [ + "bold", + "italic", + "underline", + "strikethrough" + ], + "title": "ParagraphBlockTextStyle", + "type": "string" + }, + "type": "array" + }, + "text": { + "description": "The text content of the paragraph.", + "type": "string" + }, + "text_color": { + "description": "The CSS color value for the text.", + "type": "string" + } + }, + "required": [ + "text" + ], + "title": "ParagraphBlockTextSection", + "type": "object" + }, + "VisibilitySettings": { + "additionalProperties": false, + "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "VisualSettings": { + "additionalProperties": false, + "description": "Optional styling for borders, spacing, colors, etc.", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + }, + "WorkspacePostTemplateEmailSettings": { + "additionalProperties": false, + "description": "The email settings posts built from this template start with.", + "properties": { + "display_byline_in_email": { + "description": "Whether the byline is displayed in the email.", + "type": "boolean" + }, + "display_subtitle_in_email": { + "description": "Whether the subtitle is displayed in the email.", + "type": "boolean" + }, + "display_title_in_email": { + "description": "Whether the title is displayed in the email.", + "type": "boolean" + }, + "email_header_engagement_buttons": { + "description": "Whether the engagement buttons are displayed in the email header.", + "type": "boolean" + }, + "email_header_social_share": { + "description": "Whether the social share links are displayed in the email header.", + "type": "boolean" + }, + "email_preview_text": { + "description": "The preview text of the email.", + "type": "string" + }, + "email_subject_line": { + "description": "The subject line of the email.", + "type": "string" + }, + "sender_name": { + "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. Resolved against the publication a post is built for.", + "type": "string" + } + }, + "title": "WorkspacePostTemplateEmailSettings", + "type": "object" + }, + "WorkspacePostTemplateWebSettings": { + "additionalProperties": false, + "description": "The web settings posts built from this template start with.", + "properties": { + "display_subtitle_on_web": { + "description": "Whether the subtitle is displayed on the web.", + "type": "boolean" + }, + "display_thumbnail_on_web": { + "description": "Whether the thumbnail is displayed on the web.", + "type": "boolean" + }, + "display_title_on_web": { + "description": "Whether the title is displayed on the web.", + "type": "boolean" + }, + "subtitle": { + "description": "The subtitle posts built from this template start with.", + "type": "string" + }, + "title": { + "description": "The headline posts built from this template start with.", + "type": "string" + } + }, + "title": "WorkspacePostTemplateWebSettings", + "type": "object" + }, + "advertisement": { + "additionalProperties": false, + "properties": { + "opportunity_id": { + "description": "The ID of the Advertisement opportunity.", + "type": "string" + }, + "type": { + "description": "Discriminator value: advertisement", + "enum": [ + "advertisement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "opportunity_id" + ], + "type": "object" + }, + "blocks": { + "description": "The structured content blocks posts built from this template start with. Blocks that need a publication are refused; see the endpoint description.", + "items": { + "description": "A block in the post content.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "additionalProperties": false, + "properties": { + "advertisement_kind": { + "description": "The automated advertisement kind to fill at publish time.", + "enum": [ + "primary", + "secondary" + ], + "title": "AutomatedAdvertisementKind", + "type": "string" + }, + "type": { + "description": "Discriminator value: automated_advertisement_placement", + "enum": [ + "automated_advertisement_placement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "advertisement_kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "override_align": { + "description": "The logo alignment. Defaults to center.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "override_sponsor_text": { + "description": "The sponsor text to display with the advertisement logo. Required.", + "enum": [ + "sponsored_by", + "together_with", + "in_partnership_with", + "presented_by", + "todays_sponsor" + ], + "title": "ProgrammaticAdsSponsorText", + "type": "string" + }, + "override_width": { + "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: programmatic_ads_logo", + "enum": [ + "programmatic_ads_logo" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "override_sponsor_text" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "columns": { + "description": "The blocks that make up the columns.", + "items": { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks that make up the column.", + "items": { + "description": "A block in the post content that can be embedded within a column.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + } + ], + "title": "EmbeddableBlocks" + }, + "type": "array" + }, + "position": { + "description": "The column position. This field is deprecated but supported for existing column layouts.", + "enum": [ + "left", + "right" + ], + "title": "ColumnPosition", + "type": "string" + }, + "verticalAlign": { + "description": "The vertical alignment of the column content.", + "enum": [ + "top", + "middle", + "bottom" + ], + "title": "ColumnVerticalAlignment", + "type": "string" + }, + "width": { + "description": "The column width percentage. When omitted, width is calculated automatically.", + "type": "integer" + } + }, + "required": [ + "blocks" + ], + "title": "ColumnBlock", + "type": "object" + }, + "type": "array" + }, + "stackOnMobile": { + "default": true, + "description": "Whether columns should stack vertically on mobile devices.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: columns", + "enum": [ + "columns" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "columns" + ], + "type": "object" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + }, + { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", + "items": { + "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + } + ], + "title": "SectionableBlock" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: section", + "enum": [ + "section" + ], + "type": "string" + }, + "visibility_settings": { + "additionalProperties": false, + "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "visual_settings": { + "additionalProperties": false, + "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + } + }, + "required": [ + "type", + "blocks" + ], + "type": "object" + } + ], + "title": "Block" + }, + "type": "array" + }, + "body_content": { + "description": "The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization, so use inline styles for all visual styling.", + "type": "string" + }, + "button": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the button.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "href": { + "description": "The URL the button should use.", + "type": "string" + }, + "size": { + "description": "The size of the button (e.g., small, normal, large).", + "enum": [ + "small", + "normal", + "large" + ], + "title": "Sizes", + "type": "string" + }, + "target": { + "description": "The target of the button (e.g., _blank).", + "type": "string" + }, + "text": { + "description": "The text content of the button.", + "type": "string" + }, + "type": { + "description": "Discriminator value: button", + "enum": [ + "button" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "href", + "text" + ], + "type": "object" + }, + "condition_set_ids": { + "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", + "items": { + "type": "string" + }, + "type": "array" + }, + "embed_link": { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: embed_link", + "enum": [ + "embed_link" + ], + "type": "string" + }, + "url": { + "description": "The URL of the embed link.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "url" + ], + "type": "object" + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Custom email headers posts built from this template start with. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden.", + "type": "object" + }, + "heading": { + "additionalProperties": false, + "properties": { + "anchorHeader": { + "default": true, + "description": "Whether the header should be an anchor header.", + "type": "boolean" + }, + "anchorIncludeInToc": { + "default": true, + "description": "Whether the header should be included in the table of contents.", + "type": "boolean" + }, + "formattedText": { + "description": "The formatted content of the header, supporting links and inline styling.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "level": { + "description": "The level of the header (e.g., 1, 2, 3, etc.).", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "title": "HeadingLevel", + "type": "string" + }, + "text": { + "description": "The text content of the header. Ignored if `formattedText` is provided.", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the header (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: heading", + "enum": [ + "heading" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "level" + ], + "type": "object" + }, + "html": { + "additionalProperties": false, + "properties": { + "html": { + "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", + "type": "string" + }, + "type": { + "description": "Discriminator value: html", + "enum": [ + "html" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "html" + ], + "type": "object" + }, + "image": { + "additionalProperties": false, + "properties": { + "alt_text": { + "description": "Alternative text for the image.", + "type": "string" + }, + "caption": { + "description": "A caption for the image.", + "type": "string" + }, + "captionAlignment": { + "description": "The text alignment of the caption.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageAlignment": { + "description": "The text alignment of the image.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image.", + "type": "string" + }, + "title": { + "description": "The title of the image.", + "type": "string" + }, + "type": { + "description": "Discriminator value: image", + "enum": [ + "image" + ], + "type": "string" + }, + "url": { + "description": "The URL that the image should link to.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + }, + "width": { + "description": "The width of the image. Should be between 1 and 100.", + "type": "integer" + } + }, + "required": [ + "type", + "imageUrl" + ], + "type": "object" + }, + "list": { + "additionalProperties": false, + "properties": { + "items": { + "description": "The items in the list.", + "items": { + "description": "A list item as either plain text or formatted text data.", + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the list item.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "text": { + "description": "The plain text content of the list item.", + "type": "string" + } + }, + "title": "ListBlockItemData", + "type": "object" + } + ], + "title": "ListBlockItem" + }, + "type": "array" + }, + "listType": { + "description": "The type of list (e.g., ordered, unordered).", + "enum": [ + "ordered", + "unordered" + ], + "title": "ListType", + "type": "string" + }, + "startNumber": { + "description": "The number to start the list at. Only applicable if listType is ordered.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: list", + "enum": [ + "list" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "items" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the paragraph.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "plaintext": { + "description": "The plaintext content of the paragraph.", + "type": "string" + }, + "textAlign": { + "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the paragraph (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: paragraph", + "enum": [ + "paragraph" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "paywall_break": { + "additionalProperties": false, + "properties": { + "paywall_id": { + "description": "The ID of the paywall.", + "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", + "title": "PaywallId", + "type": "string" + }, + "type": { + "description": "Discriminator value: paywall_break", + "enum": [ + "paywall_break" + ], + "type": "string" + } + }, + "required": [ + "type", + "paywall_id" + ], + "type": "object" + }, + "poll": { + "additionalProperties": false, + "properties": { + "poll_id": { + "description": "The ID of the poll you wish to include.", + "pattern": "^(poll_[0-9a-fA-F\\-]+)$", + "title": "PollId", + "type": "string" + }, + "show_options_initially": { + "description": "Whether to show the poll options initially. Defaults to false.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: poll", + "enum": [ + "poll" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "poll_id" + ], + "type": "object" + }, + "quote": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the quote. Defaults depend on the variant.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "author": { + "description": "The author of the quote.", + "type": "string" + }, + "quote": { + "description": "The text of the quote.", + "type": "string" + }, + "type": { + "description": "Discriminator value: quote", + "enum": [ + "quote" + ], + "type": "string" + }, + "variant": { + "description": "The type of quote block. Defaults to \"block\".", + "enum": [ + "block", + "inline", + "quotation" + ], + "title": "QuoteVariant", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "quote" + ], + "type": "object" + }, + "rss": { + "additionalProperties": false, + "properties": { + "articleLayout": { + "description": "The layout of the articles from the feed.", + "enum": [ + "1-col", + "2-col", + "3-col", + "4-col" + ], + "title": "RssBlockLayout", + "type": "string" + }, + "articlesToShow": { + "description": "The number of articles to show from the feed.", + "type": "integer" + }, + "ctaAlignment": { + "description": "The alignment of the call to action.", + "enum": [ + "Left", + "Center", + "Right" + ], + "title": "RssCtaAlignment", + "type": "string" + }, + "ctaStyle": { + "description": "The style of the call to action.", + "enum": [ + "CTA button", + "CTA link", + "Title as link", + "Thumbnail as link", + "Title and thumbnail as link" + ], + "title": "RssCtaStyle", + "type": "string" + }, + "ctaText": { + "description": "The text of the call to action. Applicable if ctaStyle is button or link.", + "type": "string" + }, + "externalRssFeedId": { + "description": "The ID of the external RSS feed.", + "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", + "title": "ExternalRssFeedId", + "type": "string" + }, + "refreshOnSend": { + "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", + "type": "boolean" + }, + "rssFeedUrl": { + "description": "The URL of the RSS feed.", + "type": "string" + }, + "selectionMode": { + "description": "How to select feed articles, by count or time window.", + "enum": [ + "count", + "time" + ], + "title": "RssSelectionMode", + "type": "string" + }, + "showArticleThumbnail": { + "description": "Whether to show the article thumbnail.", + "type": "boolean" + }, + "showArticleTitle": { + "description": "Whether to show the article title.", + "type": "boolean" + }, + "showAuthor": { + "description": "Whether to show the author.", + "type": "boolean" + }, + "showCategories": { + "description": "Whether to show the categories.", + "type": "boolean" + }, + "showContent": { + "description": "Whether to show the article content.", + "type": "boolean" + }, + "showCta": { + "description": "Whether to show a call to action.", + "type": "boolean" + }, + "showDescription": { + "description": "Whether to show the article description.", + "type": "boolean" + }, + "showPublishedDate": { + "description": "Whether to show the date the article was published", + "type": "boolean" + }, + "thumbnailPosition": { + "description": "The position of the thumbnail.", + "enum": [ + "Above Title", + "Below Title", + "Left of content", + "Right of content", + "Alternating Horizontally" + ], + "title": "RssThumbnailPosition", + "type": "string" + }, + "timeWindowHours": { + "description": "Trailing window in hours when selectionMode is time.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: rss", + "enum": [ + "rss" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "table": { + "additionalProperties": false, + "properties": { + "headerColumn": { + "default": false, + "description": "Whether the first column is a header column.", + "type": "boolean" + }, + "headerRow": { + "default": true, + "description": "Whether the first row is a header row.", + "type": "boolean" + }, + "rows": { + "description": "The rows of the table.", + "items": { + "items": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the cell.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "colspan": { + "default": 1, + "description": "The number of columns the cell spans.", + "type": "integer" + }, + "formattedText": { + "description": "The formatted content of the cell.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "rowspan": { + "default": 1, + "description": "The number of rows the cell spans.", + "type": "integer" + }, + "text": { + "description": "The text content of the cell.", + "type": "string" + } + }, + "title": "TableCellData", + "type": "object" + }, + "type": "array" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: table", + "enum": [ + "table" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "rows" + ], + "type": "object" + } +} - added
Input schema / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / blocks / descriptionRemoved value: -"The structured content blocks posts built from this template start with. Blocks that need a publication are refused; see the endpoint description." - removed
Input schema / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / body_content / descriptionRemoved value: -"The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization, so use inline styles for all visual styling." - removed
Input schema / properties / body_content / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / email_settings / $refAdded value: +"#/$defs/WorkspacePostTemplateEmailSettings" - removed
Input schema / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / email_settings / descriptionRemoved value: -"The email settings posts built from this template start with." - removed
Input schema / properties / email_settings / propertiesRemoved value: -{ - "display_byline_in_email": { - "description": "Whether the byline is displayed in the email.", - "type": "boolean" - }, - "display_subtitle_in_email": { - "description": "Whether the subtitle is displayed in the email.", - "type": "boolean" - }, - "display_title_in_email": { - "description": "Whether the title is displayed in the email.", - "type": "boolean" - }, - "email_header_engagement_buttons": { - "description": "Whether the engagement buttons are displayed in the email header.", - "type": "boolean" - }, - "email_header_social_share": { - "description": "Whether the social share links are displayed in the email header.", - "type": "boolean" - }, - "email_preview_text": { - "description": "The preview text of the email.", - "type": "string" - }, - "email_subject_line": { - "description": "The subject line of the email.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. Resolved against the publication a post is built for.", - "type": "string" - } -} - removed
Input schema / properties / email_settings / titleRemoved value: -"WorkspacePostTemplateEmailSettings" - removed
Input schema / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / headers / descriptionRemoved value: -"Custom email headers posts built from this template start with. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / payload / properties / blocks / descriptionRemoved value: -"The structured content blocks posts built from this template start with. Blocks that need a publication are refused; see the endpoint description." - removed
Input schema / properties / payload / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / payload / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / payload / properties / body_content / descriptionRemoved value: -"The content posts built from this template start with, as a single raw HTML string. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization, so use inline styles for all visual styling." - removed
Input schema / properties / payload / properties / body_content / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / email_settings / $refAdded value: +"#/$defs/WorkspacePostTemplateEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / email_settings / descriptionRemoved value: -"The email settings posts built from this template start with." - removed
Input schema / properties / payload / properties / email_settings / propertiesRemoved value: -{ - "display_byline_in_email": { - "description": "Whether the byline is displayed in the email.", - "type": "boolean" - }, - "display_subtitle_in_email": { - "description": "Whether the subtitle is displayed in the email.", - "type": "boolean" - }, - "display_title_in_email": { - "description": "Whether the title is displayed in the email.", - "type": "boolean" - }, - "email_header_engagement_buttons": { - "description": "Whether the engagement buttons are displayed in the email header.", - "type": "boolean" - }, - "email_header_social_share": { - "description": "Whether the social share links are displayed in the email header.", - "type": "boolean" - }, - "email_preview_text": { - "description": "The preview text of the email.", - "type": "string" - }, - "email_subject_line": { - "description": "The subject line of the email.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. Resolved against the publication a post is built for.", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / email_settings / titleRemoved value: -"WorkspacePostTemplateEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / payload / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / headers / descriptionRemoved value: -"Custom email headers posts built from this template start with. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / payload / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / web_settings / $refAdded value: +"#/$defs/WorkspacePostTemplateWebSettings" - removed
Input schema / properties / payload / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / web_settings / descriptionRemoved value: -"The web settings posts built from this template start with." - removed
Input schema / properties / payload / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "description": "Whether the subtitle is displayed on the web.", - "type": "boolean" - }, - "display_thumbnail_on_web": { - "description": "Whether the thumbnail is displayed on the web.", - "type": "boolean" - }, - "display_title_on_web": { - "description": "Whether the title is displayed on the web.", - "type": "boolean" - }, - "subtitle": { - "description": "The subtitle posts built from this template start with.", - "type": "string" - }, - "title": { - "description": "The headline posts built from this template start with.", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / web_settings / titleRemoved value: -"WorkspacePostTemplateWebSettings" - removed
Input schema / properties / payload / properties / web_settings / typeRemoved value: -"object" - added
Input schema / properties / web_settings / $refAdded value: +"#/$defs/WorkspacePostTemplateWebSettings" - removed
Input schema / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / web_settings / descriptionRemoved value: -"The web settings posts built from this template start with." - removed
Input schema / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "description": "Whether the subtitle is displayed on the web.", - "type": "boolean" - }, - "display_thumbnail_on_web": { - "description": "Whether the thumbnail is displayed on the web.", - "type": "boolean" - }, - "display_title_on_web": { - "description": "Whether the title is displayed on the web.", - "type": "boolean" - }, - "subtitle": { - "description": "The subtitle posts built from this template start with.", - "type": "string" - }, - "title": { - "description": "The headline posts built from this template start with.", - "type": "string" - } -} - removed
Input schema / properties / web_settings / titleRemoved value: -"WorkspacePostTemplateWebSettings" - removed
Input schema / properties / web_settings / typeRemoved value: -"object"
- Changed
publication_fields_values_update10 fields changed- added
Input schema / $defsAdded value: +{ + "values": { + "additionalProperties": { + "type": "string" + }, + "description": "The value each publication should resolve to, keyed by prefixed publication ID. A null or empty value clears the publication's own value.", + "type": "object" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / values / $refAdded value: +"#/$defs/values" - removed
Input schema / properties / payload / properties / values / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / values / descriptionRemoved value: -"The value each publication should resolve to, keyed by prefixed publication ID. A null or empty value clears the publication's own value." - removed
Input schema / properties / payload / properties / values / typeRemoved value: -"object" - added
Input schema / properties / values / $refAdded value: +"#/$defs/values" - removed
Input schema / properties / values / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / values / descriptionRemoved value: -"The value each publication should resolve to, keyed by prefixed publication ID. A null or empty value clears the publication's own value." - removed
Input schema / properties / values / typeRemoved value: -"object"
- Changed
remove_tag1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
replace_bulk_subscription_update10 fields changed- added
Input schema / $defsAdded value: +{ + "subscriptions": { + "description": "An array of objects representing the subscriptions to be updated (max 1000).", + "items": { + "additionalProperties": false, + "properties": { + "complimentary_gift_id": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "custom_fields": { + "description": "An array of custom field objects to update", + "items": { + "additionalProperties": false, + "properties": { + "delete": { + "description": "A boolean value to specify whether to delete this custom field entry from the subscription", + "type": "boolean" + }, + "name": { + "description": "The display value of the custom field", + "type": "string" + }, + "value": { + "description": "The value of the custom field", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", + "type": "object" + }, + "type": "array" + }, + "newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "stripe_customer_id": { + "description": "The Stripe Customer ID of the subscription (not required)", + "pattern": "^(cus_[0-9a-zA-Z]+)?$", + "title": "OptionalStripeCustomerId", + "type": "string" + }, + "subscription_id": { + "description": "The prefixed ID of the subscription.", + "pattern": "^(sub_[0-9a-fA-F\\-]+)$", + "title": "SubscriptionId", + "type": "string" + }, + "tier": { + "description": "The Tier of the Subscription (not required)", + "enum": [ + "free", + "premium" + ], + "title": "SubscriptionsPatchRequestSubscriptionsItemTier", + "type": "string" + }, + "unsubscribe": { + "description": "A boolean value specifying whether to unsubscribe this subscription from the publication (not required)", + "type": "boolean" + }, + "unsubscribe_newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "subscription_id" + ], + "title": "SubscriptionsPatchRequestSubscriptionsItem", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / subscriptions / $refAdded value: +"#/$defs/subscriptions" - removed
Input schema / properties / payload / properties / subscriptions / descriptionRemoved value: -"An array of objects representing the subscriptions to be updated (max 1000)." - removed
Input schema / properties / payload / properties / subscriptions / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "complimentary_gift_id": { - "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", - "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", - "title": "ComplimentaryAccessId", - "type": "string" - }, - "custom_fields": { - "description": "An array of custom field objects to update", - "items": { - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The display value of the custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", - "type": "object" - }, - "type": "array" - }, - "newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "stripe_customer_id": { - "description": "The Stripe Customer ID of the subscription (not required)", - "pattern": "^(cus_[0-9a-zA-Z]+)?$", - "title": "OptionalStripeCustomerId", - "type": "string" - }, - "subscription_id": { - "description": "The prefixed ID of the subscription.", - "pattern": "^(sub_[0-9a-fA-F\\-]+)$", - "title": "SubscriptionId", - "type": "string" - }, - "tier": { - "description": "The Tier of the Subscription (not required)", - "enum": [ - "free", - "premium" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItemTier", - "type": "string" - }, - "unsubscribe": { - "description": "A boolean value specifying whether to unsubscribe this subscription from the publication (not required)", - "type": "boolean" - }, - "unsubscribe_newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "subscription_id" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItem", - "type": "object" -} - removed
Input schema / properties / payload / properties / subscriptions / typeRemoved value: -"array" - added
Input schema / properties / subscriptions / $refAdded value: +"#/$defs/subscriptions" - removed
Input schema / properties / subscriptions / descriptionRemoved value: -"An array of objects representing the subscriptions to be updated (max 1000)." - removed
Input schema / properties / subscriptions / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "complimentary_gift_id": { - "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", - "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", - "title": "ComplimentaryAccessId", - "type": "string" - }, - "custom_fields": { - "description": "An array of custom field objects to update", - "items": { - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The display value of the custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", - "type": "object" - }, - "type": "array" - }, - "newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "stripe_customer_id": { - "description": "The Stripe Customer ID of the subscription (not required)", - "pattern": "^(cus_[0-9a-zA-Z]+)?$", - "title": "OptionalStripeCustomerId", - "type": "string" - }, - "subscription_id": { - "description": "The prefixed ID of the subscription.", - "pattern": "^(sub_[0-9a-fA-F\\-]+)$", - "title": "SubscriptionId", - "type": "string" - }, - "tier": { - "description": "The Tier of the Subscription (not required)", - "enum": [ - "free", - "premium" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItemTier", - "type": "string" - }, - "unsubscribe": { - "description": "A boolean value specifying whether to unsubscribe this subscription from the publication (not required)", - "type": "boolean" - }, - "unsubscribe_newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "subscription_id" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItem", - "type": "object" -} - removed
Input schema / properties / subscriptions / typeRemoved value: -"array"
- Changed
replace_tier8 fields changed- added
Input schema / $defsAdded value: +{ + "prices_attributes": { + "items": { + "additionalProperties": false, + "properties": { + "amount_cents": { + "type": "integer" + }, + "cta": { + "type": "string" + }, + "currency": { + "enum": [ + "usd", + "aud", + "cad", + "eur", + "gbp", + "inr", + "brl", + "mxn", + "nzd", + "dkk" + ], + "title": "TierPriceCurrency", + "type": "string" + }, + "delete": { + "default": false, + "description": "Optionally delete the price when updating the tier.", + "type": "boolean" + }, + "features": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "ID of the existing price.", + "pattern": "^(price_[0-9a-fA-F\\-]+)$", + "title": "PriceId", + "type": "string" + }, + "interval": { + "enum": [ + "month", + "quarter", + "year", + "one_time", + "donation" + ], + "title": "TierPriceInterval", + "type": "string" + }, + "interval_display": { + "type": "string" + } + }, + "required": [ + "id", + "currency", + "amount_cents", + "interval" + ], + "title": "UpdateTierPriceRequest", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / prices_attributes / $refAdded value: +"#/$defs/prices_attributes" - removed
Input schema / properties / payload / properties / prices_attributes / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "amount_cents": { - "type": "integer" - }, - "cta": { - "type": "string" - }, - "currency": { - "enum": [ - "usd", - "aud", - "cad", - "eur", - "gbp", - "inr", - "brl", - "mxn", - "nzd", - "dkk" - ], - "title": "TierPriceCurrency", - "type": "string" - }, - "delete": { - "default": false, - "description": "Optionally delete the price when updating the tier.", - "type": "boolean" - }, - "features": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "ID of the existing price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "interval": { - "enum": [ - "month", - "quarter", - "year", - "one_time", - "donation" - ], - "title": "TierPriceInterval", - "type": "string" - }, - "interval_display": { - "type": "string" - } - }, - "required": [ - "id", - "currency", - "amount_cents", - "interval" - ], - "title": "UpdateTierPriceRequest", - "type": "object" -} - removed
Input schema / properties / payload / properties / prices_attributes / typeRemoved value: -"array" - added
Input schema / properties / prices_attributes / $refAdded value: +"#/$defs/prices_attributes" - removed
Input schema / properties / prices_attributes / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "amount_cents": { - "type": "integer" - }, - "cta": { - "type": "string" - }, - "currency": { - "enum": [ - "usd", - "aud", - "cad", - "eur", - "gbp", - "inr", - "brl", - "mxn", - "nzd", - "dkk" - ], - "title": "TierPriceCurrency", - "type": "string" - }, - "delete": { - "default": false, - "description": "Optionally delete the price when updating the tier.", - "type": "boolean" - }, - "features": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "ID of the existing price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "interval": { - "enum": [ - "month", - "quarter", - "year", - "one_time", - "donation" - ], - "title": "TierPriceInterval", - "type": "string" - }, - "interval_display": { - "type": "string" - } - }, - "required": [ - "id", - "currency", - "amount_cents", - "interval" - ], - "title": "UpdateTierPriceRequest", - "type": "object" -} - removed
Input schema / properties / prices_attributes / typeRemoved value: -"array"
- Changed
segments_recalculate1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
send_post_test1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
update_bulk_subscription_update10 fields changed- added
Input schema / $defsAdded value: +{ + "subscriptions": { + "description": "An array of objects representing the subscriptions to be updated (max 1000).", + "items": { + "additionalProperties": false, + "properties": { + "complimentary_gift_id": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "custom_fields": { + "description": "An array of custom field objects to update", + "items": { + "additionalProperties": false, + "properties": { + "delete": { + "description": "A boolean value to specify whether to delete this custom field entry from the subscription", + "type": "boolean" + }, + "name": { + "description": "The display value of the custom field", + "type": "string" + }, + "value": { + "description": "The value of the custom field", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", + "type": "object" + }, + "type": "array" + }, + "newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "stripe_customer_id": { + "description": "The Stripe Customer ID of the subscription (not required)", + "pattern": "^(cus_[0-9a-zA-Z]+)?$", + "title": "OptionalStripeCustomerId", + "type": "string" + }, + "subscription_id": { + "description": "The prefixed ID of the subscription.", + "pattern": "^(sub_[0-9a-fA-F\\-]+)$", + "title": "SubscriptionId", + "type": "string" + }, + "tier": { + "description": "The Tier of the Subscription (not required)", + "enum": [ + "free", + "premium" + ], + "title": "SubscriptionsPatchRequestSubscriptionsItemTier", + "type": "string" + }, + "unsubscribe": { + "description": "A boolean value specifying whether to unsubscribe this subscription from the publication (not required)", + "type": "boolean" + }, + "unsubscribe_newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "subscription_id" + ], + "title": "SubscriptionsPatchRequestSubscriptionsItem", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / subscriptions / $refAdded value: +"#/$defs/subscriptions" - removed
Input schema / properties / payload / properties / subscriptions / descriptionRemoved value: -"An array of objects representing the subscriptions to be updated (max 1000)." - removed
Input schema / properties / payload / properties / subscriptions / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "complimentary_gift_id": { - "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", - "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", - "title": "ComplimentaryAccessId", - "type": "string" - }, - "custom_fields": { - "description": "An array of custom field objects to update", - "items": { - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The display value of the custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", - "type": "object" - }, - "type": "array" - }, - "newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "stripe_customer_id": { - "description": "The Stripe Customer ID of the subscription (not required)", - "pattern": "^(cus_[0-9a-zA-Z]+)?$", - "title": "OptionalStripeCustomerId", - "type": "string" - }, - "subscription_id": { - "description": "The prefixed ID of the subscription.", - "pattern": "^(sub_[0-9a-fA-F\\-]+)$", - "title": "SubscriptionId", - "type": "string" - }, - "tier": { - "description": "The Tier of the Subscription (not required)", - "enum": [ - "free", - "premium" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItemTier", - "type": "string" - }, - "unsubscribe": { - "description": "A boolean value specifying whether to unsubscribe this subscription from the publication (not required)", - "type": "boolean" - }, - "unsubscribe_newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "subscription_id" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItem", - "type": "object" -} - removed
Input schema / properties / payload / properties / subscriptions / typeRemoved value: -"array" - added
Input schema / properties / subscriptions / $refAdded value: +"#/$defs/subscriptions" - removed
Input schema / properties / subscriptions / descriptionRemoved value: -"An array of objects representing the subscriptions to be updated (max 1000)." - removed
Input schema / properties / subscriptions / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "complimentary_gift_id": { - "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", - "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", - "title": "ComplimentaryAccessId", - "type": "string" - }, - "custom_fields": { - "description": "An array of custom field objects to update", - "items": { - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The display value of the custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPatchRequestSubscriptionsItemCustomFieldsItem", - "type": "object" - }, - "type": "array" - }, - "newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", - "items": { - "type": "string" - }, - "type": "array" - }, - "stripe_customer_id": { - "description": "The Stripe Customer ID of the subscription (not required)", - "pattern": "^(cus_[0-9a-zA-Z]+)?$", - "title": "OptionalStripeCustomerId", - "type": "string" - }, - "subscription_id": { - "description": "The prefixed ID of the subscription.", - "pattern": "^(sub_[0-9a-fA-F\\-]+)$", - "title": "SubscriptionId", - "type": "string" - }, - "tier": { - "description": "The Tier of the Subscription (not required)", - "enum": [ - "free", - "premium" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItemTier", - "type": "string" - }, - "unsubscribe": { - "description": "A boolean value specifying whether to unsubscribe this subscription from the publication (not required)", - "type": "boolean" - }, - "unsubscribe_newsletter_list_ids": { - "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "subscription_id" - ], - "title": "SubscriptionsPatchRequestSubscriptionsItem", - "type": "object" -} - removed
Input schema / properties / subscriptions / typeRemoved value: -"array"
- Changed
update_custom_field1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
update_newsletter_list38 fields changed- added
Input schema / $defsAdded value: +{ + "NewsletterListEmailSettings": { + "additionalProperties": false, + "description": "The sending identity for posts sent to this list. Only the provided fields within this object will be updated.", + "properties": { + "from_address": { + "description": "Email address to send from. Must be an existing from address owned by the publication. Returns 422 if not found.", + "type": "string" + }, + "reply_to_address": { + "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", + "type": "string" + }, + "sender_name": { + "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For the list Weekly Digest on the publication Bee Informed, `list|by|brand` renders as \"Weekly Digest by Bee Informed\". Pass `null` to clear the override and inherit from the publication.", + "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", + "type": "string" + } + }, + "title": "NewsletterListEmailSettings", + "type": "object" + }, + "NewsletterListWritableStatus": { + "description": "The status of the newsletter list. Valid values are `active` and `archived`. Setting `draft` is not permitted.", + "enum": [ + "active", + "archived" + ], + "title": "NewsletterListWritableStatus", + "type": "string" + }, + "headers": { + "additionalProperties": { + "type": "string" + }, + "description": "Custom email headers for posts sent to this list. When provided, this replaces all existing headers on the list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to `null` to suppress a header inherited from the publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden.", + "type": "object" + }, + "show_in_preference_center": { + "description": "Whether the list appears on the subscriber Manage Preferences page, where subscribers can opt in to or out of it. Archived lists cannot be shown; archiving a list hides it.", + "type": "boolean" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / email_settings / $refAdded value: +"#/$defs/NewsletterListEmailSettings" - removed
Input schema / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / email_settings / descriptionRemoved value: -"The sending identity for posts sent to this list. Only the provided fields within this object will be updated." - removed
Input schema / properties / email_settings / propertiesRemoved value: -{ - "from_address": { - "description": "Email address to send from. Must be an existing from address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For the list Weekly Digest on the publication Bee Informed, `list|by|brand` renders as \"Weekly Digest by Bee Informed\". Pass `null` to clear the override and inherit from the publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / email_settings / titleRemoved value: -"NewsletterListEmailSettings" - removed
Input schema / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / headers / descriptionRemoved value: -"Custom email headers for posts sent to this list. When provided, this replaces all existing headers on the list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to `null` to suppress a header inherited from the publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / email_settings / $refAdded value: +"#/$defs/NewsletterListEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / email_settings / descriptionRemoved value: -"The sending identity for posts sent to this list. Only the provided fields within this object will be updated." - removed
Input schema / properties / payload / properties / email_settings / propertiesRemoved value: -{ - "from_address": { - "description": "Email address to send from. Must be an existing from address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For the list Weekly Digest on the publication Bee Informed, `list|by|brand` renders as \"Weekly Digest by Bee Informed\". Pass `null` to clear the override and inherit from the publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / email_settings / titleRemoved value: -"NewsletterListEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / payload / properties / headers / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / headers / descriptionRemoved value: -"Custom email headers for posts sent to this list. When provided, this replaces all existing headers on the list. Merges with publication headers at send time, with this list's values winning on a key collision. Set a value to `null` to suppress a header inherited from the publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / payload / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / show_in_preference_center / $refAdded value: +"#/$defs/show_in_preference_center" - removed
Input schema / properties / payload / properties / show_in_preference_center / descriptionRemoved value: -"Whether the list appears on the subscriber Manage Preferences page, where subscribers can opt in to or out of it. Archived lists cannot be shown; archiving a list hides it." - removed
Input schema / properties / payload / properties / show_in_preference_center / typeRemoved value: -"boolean" - added
Input schema / properties / payload / properties / status / $refAdded value: +"#/$defs/NewsletterListWritableStatus" - removed
Input schema / properties / payload / properties / status / descriptionRemoved value: -"The status of the newsletter list. Valid values are `active` and `archived`. Setting `draft` is not permitted." - removed
Input schema / properties / payload / properties / status / enumRemoved value: -[ - "active", - "archived" -] - removed
Input schema / properties / payload / properties / status / titleRemoved value: -"NewsletterListWritableStatus" - removed
Input schema / properties / payload / properties / status / typeRemoved value: -"string" - added
Input schema / properties / show_in_preference_center / $refAdded value: +"#/$defs/show_in_preference_center" - removed
Input schema / properties / show_in_preference_center / descriptionRemoved value: -"Whether the list appears on the subscriber Manage Preferences page, where subscribers can opt in to or out of it. Archived lists cannot be shown; archiving a list hides it." - removed
Input schema / properties / show_in_preference_center / typeRemoved value: -"boolean" - added
Input schema / properties / status / $refAdded value: +"#/$defs/NewsletterListWritableStatus" - removed
Input schema / properties / status / descriptionRemoved value: -"The status of the newsletter list. Valid values are `active` and `archived`. Setting `draft` is not permitted." - removed
Input schema / properties / status / enumRemoved value: -[ - "active", - "archived" -] - removed
Input schema / properties / status / titleRemoved value: -"NewsletterListWritableStatus" - removed
Input schema / properties / status / typeRemoved value: -"string"
- Changed
update_newsletter_list_subscription1 field changed- changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action."
- Changed
update_post112 fields changed- added
Input schema / $defsAdded value: +{ + "ConditionSetOperator": { + "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", + "enum": [ + "and", + "or" + ], + "title": "ConditionSetOperator", + "type": "string" + }, + "ContentMergeStrategy": { + "description": "Controls how provided `blocks` interact with the post's existing content. Defaults to `replace`. Use `append_to_template` to preserve template header blocks when updating posts that were created from a template.", + "enum": [ + "replace", + "append_to_template", + "append", + "prepend" + ], + "title": "ContentMergeStrategy", + "type": "string" + }, + "ParagraphBlockTextSection": { + "additionalProperties": false, + "properties": { + "highlight_color": { + "description": "The CSS color value for the text highlight.", + "type": "string" + }, + "link": { + "additionalProperties": false, + "description": "The link of the text.", + "properties": { + "href": { + "description": "The URL of the link.", + "type": "string" + }, + "target": { + "description": "The target of the link (e.g., _blank).", + "type": "string" + } + }, + "required": [ + "href" + ], + "title": "Link", + "type": "object" + }, + "styling": { + "description": "The inline styles for the text.", + "items": { + "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", + "enum": [ + "bold", + "italic", + "underline", + "strikethrough" + ], + "title": "ParagraphBlockTextStyle", + "type": "string" + }, + "type": "array" + }, + "text": { + "description": "The text content of the paragraph.", + "type": "string" + }, + "text_color": { + "description": "The CSS color value for the text.", + "type": "string" + } + }, + "required": [ + "text" + ], + "title": "ParagraphBlockTextSection", + "type": "object" + }, + "PostEmailSettings": { + "additionalProperties": false, + "description": "The email settings to use for this post. Only the provided fields within this object will be updated.", + "properties": { + "custom_live_url": { + "type": "string" + }, + "display_byline_in_email": { + "type": "boolean" + }, + "display_subtitle_in_email": { + "type": "boolean" + }, + "display_title_in_email": { + "type": "boolean" + }, + "email_header_engagement_buttons": { + "type": "string" + }, + "email_header_social_share": { + "type": "string" + }, + "email_preview_text": { + "type": "string" + }, + "email_subject_line": { + "type": "string" + }, + "from_address": { + "type": "string" + }, + "reply_to_address": { + "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", + "type": "string" + }, + "sender_name": { + "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For a post by Jane Doe on the publication Bee Informed, `authors_first|from|brand` renders as \"Jane from Bee Informed\". The `list` token only resolves when the post is associated with a newsletter list. Pass `null` to clear the override and inherit from the newsletter list or publication.", + "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", + "type": "string" + } + }, + "title": "PostEmailSettings", + "type": "object" + }, + "PostMetadata": { + "additionalProperties": false, + "description": "The SEO metadata to use for this post. Only the provided fields within this object will be updated.", + "properties": { + "default_description": { + "type": "string" + }, + "default_title": { + "type": "string" + }, + "og_description": { + "type": "string" + }, + "og_title": { + "type": "string" + }, + "twitter_description": { + "type": "string" + }, + "twitter_title": { + "type": "string" + } + }, + "title": "PostMetadata", + "type": "object" + }, + "PostPublishStatus": { + "default": "draft", + "description": "Transition the post's status. Use `confirmed` to schedule or publish a draft post. Only the `draft` → `confirmed` transition is supported : a confirmed post cannot be moved back to `draft`.", + "enum": [ + "draft", + "confirmed" + ], + "title": "PostPublishStatus", + "type": "string" + }, + "PostRecipients": { + "additionalProperties": false, + "description": "The recipients for this post. When provided, replaces all existing web and email audience targets with the specified values. If omitted, existing targets are unchanged.", + "properties": { + "email": { + "additionalProperties": false, + "description": "Email audience targeting. Omit this key to create no email targets.", + "properties": { + "exclude_segment_ids": { + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "include_segment_ids": { + "description": "Cannot be combined with `tier_ids`.", + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "tier_ids": { + "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier. Cannot be combined with `include_segment_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "PostEmailRecipients", + "type": "object" + }, + "web": { + "additionalProperties": false, + "description": "Web audience targeting. Omit this key to create no web targets.", + "properties": { + "exclude_segment_ids": { + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "include_segment_ids": { + "items": { + "description": "The prefixed ID of the segment.", + "pattern": "^(seg_[0-9a-fA-F\\-]+)$", + "title": "SegmentId", + "type": "string" + }, + "type": "array" + }, + "tier_ids": { + "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "title": "PostWebRecipients", + "type": "object" + } + }, + "required": [ + "web", + "email" + ], + "title": "PostRecipients", + "type": "object" + }, + "PostWebSettings": { + "additionalProperties": false, + "description": "The web settings to use for this post. Only the provided fields within this object will be updated.", + "properties": { + "display_subtitle_on_web": { + "type": "boolean" + }, + "display_thumbnail_on_web": { + "type": "boolean" + }, + "display_title_on_web": { + "type": "boolean" + }, + "hide_from_feed": { + "type": "boolean" + }, + "paywall_break_price_id": { + "description": "The prefixed ID of the price.", + "pattern": "^(price_[0-9a-fA-F\\-]+)$", + "title": "PriceId", + "type": "string" + }, + "paywall_id": { + "description": "The prefixed ID of the paywall.", + "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", + "title": "PaywallId", + "type": "string" + }, + "slug": { + "type": "string" + } + }, + "title": "PostWebSettings", + "type": "object" + }, + "VisibilitySettings": { + "additionalProperties": false, + "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "VisualSettings": { + "additionalProperties": false, + "description": "Optional styling for borders, spacing, colors, etc.", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + }, + "advertisement": { + "additionalProperties": false, + "properties": { + "opportunity_id": { + "description": "The ID of the Advertisement opportunity.", + "type": "string" + }, + "type": { + "description": "Discriminator value: advertisement", + "enum": [ + "advertisement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "opportunity_id" + ], + "type": "object" + }, + "blocks": { + "description": "The structured content blocks for the post. How these interact with existing content depends on `content_merge_strategy` (default: full replacement). Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. Cannot be provided together with `body_content`.", + "items": { + "description": "A block in the post content.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "additionalProperties": false, + "properties": { + "advertisement_kind": { + "description": "The automated advertisement kind to fill at publish time.", + "enum": [ + "primary", + "secondary" + ], + "title": "AutomatedAdvertisementKind", + "type": "string" + }, + "type": { + "description": "Discriminator value: automated_advertisement_placement", + "enum": [ + "automated_advertisement_placement" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "advertisement_kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "override_align": { + "description": "The logo alignment. Defaults to center.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "override_sponsor_text": { + "description": "The sponsor text to display with the advertisement logo. Required.", + "enum": [ + "sponsored_by", + "together_with", + "in_partnership_with", + "presented_by", + "todays_sponsor" + ], + "title": "ProgrammaticAdsSponsorText", + "type": "string" + }, + "override_width": { + "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: programmatic_ads_logo", + "enum": [ + "programmatic_ads_logo" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "override_sponsor_text" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "columns": { + "description": "The blocks that make up the columns.", + "items": { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks that make up the column.", + "items": { + "description": "A block in the post content that can be embedded within a column.", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + } + ], + "title": "EmbeddableBlocks" + }, + "type": "array" + }, + "position": { + "description": "The column position. This field is deprecated but supported for existing column layouts.", + "enum": [ + "left", + "right" + ], + "title": "ColumnPosition", + "type": "string" + }, + "verticalAlign": { + "description": "The vertical alignment of the column content.", + "enum": [ + "top", + "middle", + "bottom" + ], + "title": "ColumnVerticalAlignment", + "type": "string" + }, + "width": { + "description": "The column width percentage. When omitted, width is calculated automatically.", + "type": "integer" + } + }, + "required": [ + "blocks" + ], + "title": "ColumnBlock", + "type": "object" + }, + "type": "array" + }, + "stackOnMobile": { + "default": true, + "description": "Whether columns should stack vertically on mobile devices.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: columns", + "enum": [ + "columns" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "columns" + ], + "type": "object" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + }, + { + "additionalProperties": false, + "properties": { + "blocks": { + "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", + "items": { + "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", + "oneOf": [ + { + "$ref": "#/$defs/paragraph" + }, + { + "$ref": "#/$defs/image" + }, + { + "$ref": "#/$defs/button" + }, + { + "$ref": "#/$defs/heading" + }, + { + "$ref": "#/$defs/rss" + }, + { + "$ref": "#/$defs/advertisement" + }, + { + "$ref": "#/$defs/list" + }, + { + "$ref": "#/$defs/table" + }, + { + "$ref": "#/$defs/html" + }, + { + "$ref": "#/$defs/embed_link" + }, + { + "$ref": "#/$defs/poll" + }, + { + "$ref": "#/$defs/quote" + }, + { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: content_break", + "enum": [ + "content_break" + ], + "type": "string" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + { + "$ref": "#/$defs/paywall_break" + } + ], + "title": "SectionableBlock" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: section", + "enum": [ + "section" + ], + "type": "string" + }, + "visibility_settings": { + "additionalProperties": false, + "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", + "properties": { + "condition_set_ids": { + "$ref": "#/$defs/condition_set_ids" + }, + "condition_set_operator": { + "$ref": "#/$defs/ConditionSetOperator" + }, + "show_on_email": { + "description": "Whether to show the block on the email.", + "type": "boolean" + }, + "show_on_web": { + "description": "Whether to show the block on the web.", + "type": "boolean" + }, + "show_to_anonymous_users_web": { + "description": "Whether to show the block to anonymous users on the web.", + "type": "boolean" + }, + "show_to_free_subscribers": { + "description": "Whether to show the block to free subscribers.", + "type": "boolean" + }, + "show_to_paid_subscribers": { + "description": "Whether to show the block to paid subscribers.", + "type": "boolean" + }, + "show_to_subscribers_with_referral_condition": { + "description": "The condition required to show the block to subscribers.", + "enum": [ + "eq", + "gt", + "lt" + ], + "title": "ReferralCondition", + "type": "string" + }, + "show_to_subscribers_with_referral_value": { + "description": "The exact referral count required to show the block to subscribers.", + "type": "integer" + } + }, + "title": "VisibilitySettings", + "type": "object" + }, + "visual_settings": { + "additionalProperties": false, + "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", + "properties": { + "background_color": { + "description": "The background color of the block.", + "type": "string" + }, + "border_color": { + "description": "The border color of the block.", + "type": "string" + }, + "border_radius": { + "description": "The border radius of the block.", + "type": "integer" + }, + "border_radius_bottom_left": { + "description": "The border radius of the bottom left of the block.", + "type": "integer" + }, + "border_radius_bottom_right": { + "description": "The border radius of the bottom right of the block.", + "type": "integer" + }, + "border_radius_top_left": { + "description": "The border radius of the top left of the block.", + "type": "integer" + }, + "border_radius_top_right": { + "description": "The border radius of the top right of the block.", + "type": "integer" + }, + "border_style": { + "description": "The border style of the block.", + "enum": [ + "solid", + "dashed", + "dotted" + ], + "title": "BorderStyle", + "type": "string" + }, + "border_width": { + "description": "The border width of the block.", + "type": "integer" + }, + "border_width_bottom": { + "description": "The border width of the bottom of the block.", + "type": "integer" + }, + "border_width_left": { + "description": "The border width of the left of the block.", + "type": "integer" + }, + "border_width_right": { + "description": "The border width of the right of the block.", + "type": "integer" + }, + "border_width_top": { + "description": "The border width of the top of the block.", + "type": "integer" + }, + "inner_spacing": { + "description": "The inner spacing of the block.", + "type": "integer" + }, + "inner_spacing_bottom": { + "description": "The inner spacing of the bottom of the block.", + "type": "integer" + }, + "inner_spacing_left": { + "description": "The inner spacing of the left of the block.", + "type": "integer" + }, + "inner_spacing_right": { + "description": "The inner spacing of the right of the block.", + "type": "integer" + }, + "inner_spacing_top": { + "description": "The inner spacing of the top of the block.", + "type": "integer" + }, + "outer_spacing": { + "description": "The outer spacing of the block.", + "type": "integer" + }, + "outer_spacing_bottom": { + "description": "The outer spacing of the bottom of the block.", + "type": "integer" + }, + "outer_spacing_left": { + "description": "The outer spacing of the left of the block.", + "type": "integer" + }, + "outer_spacing_right": { + "description": "The outer spacing of the right of the block.", + "type": "integer" + }, + "outer_spacing_top": { + "description": "The outer spacing of the top of the block.", + "type": "integer" + }, + "text_color": { + "description": "The text color of the block.", + "type": "string" + } + }, + "title": "VisualSettings", + "type": "object" + } + }, + "required": [ + "type", + "blocks" + ], + "type": "object" + } + ], + "title": "Block" + }, + "type": "array" + }, + "body_content": { + "description": "Raw HTML to replace the post's current content. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling. Cannot be provided together with `blocks`.", + "type": "string" + }, + "button": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the button.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "href": { + "description": "The URL the button should use.", + "type": "string" + }, + "size": { + "description": "The size of the button (e.g., small, normal, large).", + "enum": [ + "small", + "normal", + "large" + ], + "title": "Sizes", + "type": "string" + }, + "target": { + "description": "The target of the button (e.g., _blank).", + "type": "string" + }, + "text": { + "description": "The text content of the button.", + "type": "string" + }, + "type": { + "description": "Discriminator value: button", + "enum": [ + "button" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "href", + "text" + ], + "type": "object" + }, + "condition_set_ids": { + "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", + "items": { + "type": "string" + }, + "type": "array" + }, + "embed_link": { + "additionalProperties": false, + "properties": { + "type": { + "description": "Discriminator value: embed_link", + "enum": [ + "embed_link" + ], + "type": "string" + }, + "url": { + "description": "The URL of the embed link.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "url" + ], + "type": "object" + }, + "guest_author_ids": { + "description": "The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. When provided, replaces all existing guest authors on the post.", + "items": { + "description": "The prefixed ID of the guest author.", + "pattern": "^(guest_[0-9a-fA-F\\-]+)$", + "title": "GuestAuthorId", + "type": "string" + }, + "type": "array" + }, + "headers": { + "additionalProperties": { + "type": [ + "string", + "null" + ] + }, + "description": "Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden.", + "type": "object" + }, + "heading": { + "additionalProperties": false, + "properties": { + "anchorHeader": { + "default": true, + "description": "Whether the header should be an anchor header.", + "type": "boolean" + }, + "anchorIncludeInToc": { + "default": true, + "description": "Whether the header should be included in the table of contents.", + "type": "boolean" + }, + "formattedText": { + "description": "The formatted content of the header, supporting links and inline styling.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "level": { + "description": "The level of the header (e.g., 1, 2, 3, etc.).", + "enum": [ + "1", + "2", + "3", + "4", + "5", + "6" + ], + "title": "HeadingLevel", + "type": "string" + }, + "text": { + "description": "The text content of the header. Ignored if `formattedText` is provided.", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the header (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: heading", + "enum": [ + "heading" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "level" + ], + "type": "object" + }, + "html": { + "additionalProperties": false, + "properties": { + "html": { + "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", + "type": "string" + }, + "type": { + "description": "Discriminator value: html", + "enum": [ + "html" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "html" + ], + "type": "object" + }, + "image": { + "additionalProperties": false, + "properties": { + "alt_text": { + "description": "Alternative text for the image.", + "type": "string" + }, + "caption": { + "description": "A caption for the image.", + "type": "string" + }, + "captionAlignment": { + "description": "The text alignment of the caption.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageAlignment": { + "description": "The text alignment of the image.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "imageUrl": { + "description": "The URL of the image.", + "type": "string" + }, + "title": { + "description": "The title of the image.", + "type": "string" + }, + "type": { + "description": "Discriminator value: image", + "enum": [ + "image" + ], + "type": "string" + }, + "url": { + "description": "The URL that the image should link to.", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + }, + "width": { + "description": "The width of the image. Should be between 1 and 100.", + "type": "integer" + } + }, + "required": [ + "type", + "imageUrl" + ], + "type": "object" + }, + "list": { + "additionalProperties": false, + "properties": { + "items": { + "description": "The items in the list.", + "items": { + "description": "A list item as either plain text or formatted text data.", + "oneOf": [ + { + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the list item.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "text": { + "description": "The plain text content of the list item.", + "type": "string" + } + }, + "title": "ListBlockItemData", + "type": "object" + } + ], + "title": "ListBlockItem" + }, + "type": "array" + }, + "listType": { + "description": "The type of list (e.g., ordered, unordered).", + "enum": [ + "ordered", + "unordered" + ], + "title": "ListType", + "type": "string" + }, + "startNumber": { + "description": "The number to start the list at. Only applicable if listType is ordered.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: list", + "enum": [ + "list" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "items" + ], + "type": "object" + }, + "paragraph": { + "additionalProperties": false, + "properties": { + "formattedText": { + "description": "The formatted content of the paragraph.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "plaintext": { + "description": "The plaintext content of the paragraph.", + "type": "string" + }, + "textAlign": { + "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "textAlignment": { + "description": "The text alignment of the paragraph (e.g., left, center, right).", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "type": { + "description": "Discriminator value: paragraph", + "enum": [ + "paragraph" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "paywall_break": { + "additionalProperties": false, + "properties": { + "paywall_id": { + "description": "The ID of the paywall.", + "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", + "title": "PaywallId", + "type": "string" + }, + "type": { + "description": "Discriminator value: paywall_break", + "enum": [ + "paywall_break" + ], + "type": "string" + } + }, + "required": [ + "type", + "paywall_id" + ], + "type": "object" + }, + "poll": { + "additionalProperties": false, + "properties": { + "poll_id": { + "description": "The ID of the poll you wish to include.", + "pattern": "^(poll_[0-9a-fA-F\\-]+)$", + "title": "PollId", + "type": "string" + }, + "show_options_initially": { + "description": "Whether to show the poll options initially. Defaults to false.", + "type": "boolean" + }, + "type": { + "description": "Discriminator value: poll", + "enum": [ + "poll" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "poll_id" + ], + "type": "object" + }, + "quote": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the quote. Defaults depend on the variant.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "author": { + "description": "The author of the quote.", + "type": "string" + }, + "quote": { + "description": "The text of the quote.", + "type": "string" + }, + "type": { + "description": "Discriminator value: quote", + "enum": [ + "quote" + ], + "type": "string" + }, + "variant": { + "description": "The type of quote block. Defaults to \"block\".", + "enum": [ + "block", + "inline", + "quotation" + ], + "title": "QuoteVariant", + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "quote" + ], + "type": "object" + }, + "rss": { + "additionalProperties": false, + "properties": { + "articleLayout": { + "description": "The layout of the articles from the feed.", + "enum": [ + "1-col", + "2-col", + "3-col", + "4-col" + ], + "title": "RssBlockLayout", + "type": "string" + }, + "articlesToShow": { + "description": "The number of articles to show from the feed.", + "type": "integer" + }, + "ctaAlignment": { + "description": "The alignment of the call to action.", + "enum": [ + "Left", + "Center", + "Right" + ], + "title": "RssCtaAlignment", + "type": "string" + }, + "ctaStyle": { + "description": "The style of the call to action.", + "enum": [ + "CTA button", + "CTA link", + "Title as link", + "Thumbnail as link", + "Title and thumbnail as link" + ], + "title": "RssCtaStyle", + "type": "string" + }, + "ctaText": { + "description": "The text of the call to action. Applicable if ctaStyle is button or link.", + "type": "string" + }, + "externalRssFeedId": { + "description": "The ID of the external RSS feed.", + "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", + "title": "ExternalRssFeedId", + "type": "string" + }, + "refreshOnSend": { + "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", + "type": "boolean" + }, + "rssFeedUrl": { + "description": "The URL of the RSS feed.", + "type": "string" + }, + "selectionMode": { + "description": "How to select feed articles, by count or time window.", + "enum": [ + "count", + "time" + ], + "title": "RssSelectionMode", + "type": "string" + }, + "showArticleThumbnail": { + "description": "Whether to show the article thumbnail.", + "type": "boolean" + }, + "showArticleTitle": { + "description": "Whether to show the article title.", + "type": "boolean" + }, + "showAuthor": { + "description": "Whether to show the author.", + "type": "boolean" + }, + "showCategories": { + "description": "Whether to show the categories.", + "type": "boolean" + }, + "showContent": { + "description": "Whether to show the article content.", + "type": "boolean" + }, + "showCta": { + "description": "Whether to show a call to action.", + "type": "boolean" + }, + "showDescription": { + "description": "Whether to show the article description.", + "type": "boolean" + }, + "showPublishedDate": { + "description": "Whether to show the date the article was published", + "type": "boolean" + }, + "thumbnailPosition": { + "description": "The position of the thumbnail.", + "enum": [ + "Above Title", + "Below Title", + "Left of content", + "Right of content", + "Alternating Horizontally" + ], + "title": "RssThumbnailPosition", + "type": "string" + }, + "timeWindowHours": { + "description": "Trailing window in hours when selectionMode is time.", + "type": "integer" + }, + "type": { + "description": "Discriminator value: rss", + "enum": [ + "rss" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type" + ], + "type": "object" + }, + "table": { + "additionalProperties": false, + "properties": { + "headerColumn": { + "default": false, + "description": "Whether the first column is a header column.", + "type": "boolean" + }, + "headerRow": { + "default": true, + "description": "Whether the first row is a header row.", + "type": "boolean" + }, + "rows": { + "description": "The rows of the table.", + "items": { + "items": { + "additionalProperties": false, + "properties": { + "alignment": { + "description": "The text alignment of the cell.", + "enum": [ + "left", + "center", + "right" + ], + "title": "TextAlignment", + "type": "string" + }, + "colspan": { + "default": 1, + "description": "The number of columns the cell spans.", + "type": "integer" + }, + "formattedText": { + "description": "The formatted content of the cell.", + "items": { + "$ref": "#/$defs/ParagraphBlockTextSection" + }, + "type": "array" + }, + "rowspan": { + "default": 1, + "description": "The number of rows the cell spans.", + "type": "integer" + }, + "text": { + "description": "The text content of the cell.", + "type": "string" + } + }, + "title": "TableCellData", + "type": "object" + }, + "type": "array" + }, + "type": "array" + }, + "type": { + "description": "Discriminator value: table", + "enum": [ + "table" + ], + "type": "string" + }, + "visibility_settings": { + "$ref": "#/$defs/VisibilitySettings" + }, + "visual_settings": { + "$ref": "#/$defs/VisualSettings" + } + }, + "required": [ + "type", + "rows" + ], + "type": "object" + }, + "team_author_ids": { + "description": "The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. When provided, replaces all existing team authors on the post.", + "items": { + "description": "The prefixed ID of the team author (platform user).", + "pattern": "^(user_[0-9a-fA-F\\-]+)$", + "title": "TeamAuthorId", + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / blocks / descriptionRemoved value: -"The structured content blocks for the post. How these interact with existing content depends on `content_merge_strategy` (default: full replacement). Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. Cannot be provided together with `body_content`." - removed
Input schema / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / body_content / descriptionRemoved value: -"Raw HTML to replace the post's current content. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling. Cannot be provided together with `blocks`." - removed
Input schema / properties / body_content / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / content_merge_strategy / $refAdded value: +"#/$defs/ContentMergeStrategy" - removed
Input schema / properties / content_merge_strategy / descriptionRemoved value: -"Controls how provided `blocks` interact with the post's existing content. Defaults to `replace`. Use `append_to_template` to preserve template header blocks when updating posts that were created from a template." - removed
Input schema / properties / content_merge_strategy / enumRemoved value: -[ - "replace", - "append_to_template", - "append", - "prepend" -] - removed
Input schema / properties / content_merge_strategy / titleRemoved value: -"ContentMergeStrategy" - removed
Input schema / properties / content_merge_strategy / typeRemoved value: -"string" - added
Input schema / properties / email_settings / $refAdded value: +"#/$defs/PostEmailSettings" - removed
Input schema / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / email_settings / descriptionRemoved value: -"The email settings to use for this post. Only the provided fields within this object will be updated." - removed
Input schema / properties / email_settings / propertiesRemoved value: -{ - "custom_live_url": { - "type": "string" - }, - "display_byline_in_email": { - "type": "boolean" - }, - "display_subtitle_in_email": { - "type": "boolean" - }, - "display_title_in_email": { - "type": "boolean" - }, - "email_header_engagement_buttons": { - "type": "string" - }, - "email_header_social_share": { - "type": "string" - }, - "email_preview_text": { - "type": "string" - }, - "email_subject_line": { - "type": "string" - }, - "from_address": { - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For a post by Jane Doe on the publication Bee Informed, `authors_first|from|brand` renders as \"Jane from Bee Informed\". The `list` token only resolves when the post is associated with a newsletter list. Pass `null` to clear the override and inherit from the newsletter list or publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / email_settings / titleRemoved value: -"PostEmailSettings" - removed
Input schema / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / guest_author_ids / $refAdded value: +"#/$defs/guest_author_ids" - removed
Input schema / properties / guest_author_ids / descriptionRemoved value: -"The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. When provided, replaces all existing guest authors on the post." - removed
Input schema / properties / guest_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the guest author.", - "pattern": "^(guest_[0-9a-fA-F\\-]+)$", - "title": "GuestAuthorId", - "type": "string" -} - removed
Input schema / properties / guest_author_ids / typeRemoved value: -"array" - added
Input schema / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / headers / additionalPropertiesRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Input schema / properties / headers / descriptionRemoved value: -"Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / blocks / $refAdded value: +"#/$defs/blocks" - removed
Input schema / properties / payload / properties / blocks / descriptionRemoved value: -"The structured content blocks for the post. How these interact with existing content depends on `content_merge_strategy` (default: full replacement). Supports block types such as paragraph, image, heading, button, html, table, list, columns, and more. Cannot be provided together with `body_content`." - removed
Input schema / properties / payload / properties / blocks / itemsRemoved value: -{ - "description": "A block in the post content.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "advertisement_kind": { - "description": "The automated advertisement kind to fill at publish time.", - "enum": [ - "primary", - "secondary" - ], - "title": "AutomatedAdvertisementKind", - "type": "string" - }, - "type": { - "description": "Discriminator value: automated_advertisement_placement", - "enum": [ - "automated_advertisement_placement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "advertisement_kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "override_align": { - "description": "The logo alignment. Defaults to center.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "override_sponsor_text": { - "description": "The sponsor text to display with the advertisement logo. Required.", - "enum": [ - "sponsored_by", - "together_with", - "in_partnership_with", - "presented_by", - "todays_sponsor" - ], - "title": "ProgrammaticAdsSponsorText", - "type": "string" - }, - "override_width": { - "description": "The logo width as a percentage. Must be greater than 0. Defaults to 100.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: programmatic_ads_logo", - "enum": [ - "programmatic_ads_logo" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "override_sponsor_text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "columns": { - "description": "The blocks that make up the columns.", - "items": { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks that make up the column.", - "items": { - "description": "A block in the post content that can be embedded within a column.", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - } - ], - "title": "EmbeddableBlocks" - }, - "type": "array" - }, - "position": { - "description": "The column position. This field is deprecated but supported for existing column layouts.", - "enum": [ - "left", - "right" - ], - "title": "ColumnPosition", - "type": "string" - }, - "verticalAlign": { - "description": "The vertical alignment of the column content.", - "enum": [ - "top", - "middle", - "bottom" - ], - "title": "ColumnVerticalAlignment", - "type": "string" - }, - "width": { - "description": "The column width percentage. When omitted, width is calculated automatically.", - "type": "integer" - } - }, - "required": [ - "blocks" - ], - "title": "ColumnBlock", - "type": "object" - }, - "type": "array" - }, - "stackOnMobile": { - "default": true, - "description": "Whether columns should stack vertically on mobile devices.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: columns", - "enum": [ - "columns" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "columns" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "blocks": { - "description": "The blocks to group inside this section. Must contain at least one block. Cannot contain `section` or `columns` blocks.", - "items": { - "description": "A block that can appear inside a section. Excludes `section` and `columns` (TipTap's schema does not allow nested sections).", - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the paragraph.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "plaintext": { - "description": "The plaintext content of the paragraph.", - "type": "string" - }, - "textAlign": { - "description": "Legacy paragraph alignment field. Use `textAlignment` for new integrations.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the paragraph (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: paragraph", - "enum": [ - "paragraph" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alt_text": { - "description": "Alternative text for the image.", - "type": "string" - }, - "caption": { - "description": "A caption for the image.", - "type": "string" - }, - "captionAlignment": { - "description": "The text alignment of the caption.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageAlignment": { - "description": "The text alignment of the image.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "imageUrl": { - "description": "The URL of the image.", - "type": "string" - }, - "title": { - "description": "The title of the image.", - "type": "string" - }, - "type": { - "description": "Discriminator value: image", - "enum": [ - "image" - ], - "type": "string" - }, - "url": { - "description": "The URL that the image should link to.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - }, - "width": { - "description": "The width of the image. Should be between 1 and 100.", - "type": "integer" - } - }, - "required": [ - "type", - "imageUrl" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the button.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "href": { - "description": "The URL the button should use.", - "type": "string" - }, - "size": { - "description": "The size of the button (e.g., small, normal, large).", - "enum": [ - "small", - "normal", - "large" - ], - "title": "Sizes", - "type": "string" - }, - "target": { - "description": "The target of the button (e.g., _blank).", - "type": "string" - }, - "text": { - "description": "The text content of the button.", - "type": "string" - }, - "type": { - "description": "Discriminator value: button", - "enum": [ - "button" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "href", - "text" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchorHeader": { - "default": true, - "description": "Whether the header should be an anchor header.", - "type": "boolean" - }, - "anchorIncludeInToc": { - "default": true, - "description": "Whether the header should be included in the table of contents.", - "type": "boolean" - }, - "formattedText": { - "description": "The formatted content of the header, supporting links and inline styling.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "level": { - "description": "The level of the header (e.g., 1, 2, 3, etc.).", - "enum": [ - "1", - "2", - "3", - "4", - "5", - "6" - ], - "title": "HeadingLevel", - "type": "string" - }, - "text": { - "description": "The text content of the header. Ignored if `formattedText` is provided.", - "type": "string" - }, - "textAlignment": { - "description": "The text alignment of the header (e.g., left, center, right).", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "type": { - "description": "Discriminator value: heading", - "enum": [ - "heading" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "level" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "articleLayout": { - "description": "The layout of the articles from the feed.", - "enum": [ - "1-col", - "2-col", - "3-col", - "4-col" - ], - "title": "RssBlockLayout", - "type": "string" - }, - "articlesToShow": { - "description": "The number of articles to show from the feed.", - "type": "integer" - }, - "ctaAlignment": { - "description": "The alignment of the call to action.", - "enum": [ - "Left", - "Center", - "Right" - ], - "title": "RssCtaAlignment", - "type": "string" - }, - "ctaStyle": { - "description": "The style of the call to action.", - "enum": [ - "CTA button", - "CTA link", - "Title as link", - "Thumbnail as link", - "Title and thumbnail as link" - ], - "title": "RssCtaStyle", - "type": "string" - }, - "ctaText": { - "description": "The text of the call to action. Applicable if ctaStyle is button or link.", - "type": "string" - }, - "externalRssFeedId": { - "description": "The ID of the external RSS feed.", - "pattern": "^(external_rss_[0-9a-fA-F\\-]+)$", - "title": "ExternalRssFeedId", - "type": "string" - }, - "refreshOnSend": { - "description": "Whether or not to refresh the contents from the RSS feed before sending out the email.", - "type": "boolean" - }, - "rssFeedUrl": { - "description": "The URL of the RSS feed.", - "type": "string" - }, - "selectionMode": { - "description": "How to select feed articles, by count or time window.", - "enum": [ - "count", - "time" - ], - "title": "RssSelectionMode", - "type": "string" - }, - "showArticleThumbnail": { - "description": "Whether to show the article thumbnail.", - "type": "boolean" - }, - "showArticleTitle": { - "description": "Whether to show the article title.", - "type": "boolean" - }, - "showAuthor": { - "description": "Whether to show the author.", - "type": "boolean" - }, - "showCategories": { - "description": "Whether to show the categories.", - "type": "boolean" - }, - "showContent": { - "description": "Whether to show the article content.", - "type": "boolean" - }, - "showCta": { - "description": "Whether to show a call to action.", - "type": "boolean" - }, - "showDescription": { - "description": "Whether to show the article description.", - "type": "boolean" - }, - "showPublishedDate": { - "description": "Whether to show the date the article was published", - "type": "boolean" - }, - "thumbnailPosition": { - "description": "The position of the thumbnail.", - "enum": [ - "Above Title", - "Below Title", - "Left of content", - "Right of content", - "Alternating Horizontally" - ], - "title": "RssThumbnailPosition", - "type": "string" - }, - "timeWindowHours": { - "description": "Trailing window in hours when selectionMode is time.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: rss", - "enum": [ - "rss" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "opportunity_id": { - "description": "The ID of the Advertisement opportunity.", - "type": "string" - }, - "type": { - "description": "Discriminator value: advertisement", - "enum": [ - "advertisement" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "opportunity_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "items": { - "description": "The items in the list.", - "items": { - "description": "A list item as either plain text or formatted text data.", - "oneOf": [ - { - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "formattedText": { - "description": "The formatted content of the list item.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "text": { - "description": "The plain text content of the list item.", - "type": "string" - } - }, - "title": "ListBlockItemData", - "type": "object" - } - ], - "title": "ListBlockItem" - }, - "type": "array" - }, - "listType": { - "description": "The type of list (e.g., ordered, unordered).", - "enum": [ - "ordered", - "unordered" - ], - "title": "ListType", - "type": "string" - }, - "startNumber": { - "description": "The number to start the list at. Only applicable if listType is ordered.", - "type": "integer" - }, - "type": { - "description": "Discriminator value: list", - "enum": [ - "list" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "items" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "headerColumn": { - "default": false, - "description": "Whether the first column is a header column.", - "type": "boolean" - }, - "headerRow": { - "default": true, - "description": "Whether the first row is a header row.", - "type": "boolean" - }, - "rows": { - "description": "The rows of the table.", - "items": { - "items": { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the cell.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "colspan": { - "default": 1, - "description": "The number of columns the cell spans.", - "type": "integer" - }, - "formattedText": { - "description": "The formatted content of the cell.", - "items": { - "additionalProperties": false, - "properties": { - "highlight_color": { - "description": "The CSS color value for the text highlight.", - "type": "string" - }, - "link": { - "additionalProperties": false, - "description": "The link of the text.", - "properties": { - "href": { - "description": "The URL of the link.", - "type": "string" - }, - "target": { - "description": "The target of the link (e.g., _blank).", - "type": "string" - } - }, - "required": [ - "href" - ], - "title": "Link", - "type": "object" - }, - "styling": { - "description": "The inline styles for the text.", - "items": { - "description": "Inline formatting to apply to a formatted text section. `strikethrough` renders as a strike mark.", - "enum": [ - "bold", - "italic", - "underline", - "strikethrough" - ], - "title": "ParagraphBlockTextStyle", - "type": "string" - }, - "type": "array" - }, - "text": { - "description": "The text content of the paragraph.", - "type": "string" - }, - "text_color": { - "description": "The CSS color value for the text.", - "type": "string" - } - }, - "required": [ - "text" - ], - "title": "ParagraphBlockTextSection", - "type": "object" - }, - "type": "array" - }, - "rowspan": { - "default": 1, - "description": "The number of rows the cell spans.", - "type": "integer" - }, - "text": { - "description": "The text content of the cell.", - "type": "string" - } - }, - "title": "TableCellData", - "type": "object" - }, - "type": "array" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: table", - "enum": [ - "table" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "rows" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "The raw HTML content. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling.", - "type": "string" - }, - "type": { - "description": "Discriminator value: html", - "enum": [ - "html" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: embed_link", - "enum": [ - "embed_link" - ], - "type": "string" - }, - "url": { - "description": "The URL of the embed link.", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "url" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "poll_id": { - "description": "The ID of the poll you wish to include.", - "pattern": "^(poll_[0-9a-fA-F\\-]+)$", - "title": "PollId", - "type": "string" - }, - "show_options_initially": { - "description": "Whether to show the poll options initially. Defaults to false.", - "type": "boolean" - }, - "type": { - "description": "Discriminator value: poll", - "enum": [ - "poll" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "poll_id" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "alignment": { - "description": "The text alignment of the quote. Defaults depend on the variant.", - "enum": [ - "left", - "center", - "right" - ], - "title": "TextAlignment", - "type": "string" - }, - "author": { - "description": "The author of the quote.", - "type": "string" - }, - "quote": { - "description": "The text of the quote.", - "type": "string" - }, - "type": { - "description": "Discriminator value: quote", - "enum": [ - "quote" - ], - "type": "string" - }, - "variant": { - "description": "The type of quote block. Defaults to \"block\".", - "enum": [ - "block", - "inline", - "quotation" - ], - "title": "QuoteVariant", - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this block is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling for borders, spacing, colors, etc.", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "quote" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "type": { - "description": "Discriminator value: content_break", - "enum": [ - "content_break" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "paywall_id": { - "description": "The ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "type": { - "description": "Discriminator value: paywall_break", - "enum": [ - "paywall_break" - ], - "type": "string" - } - }, - "required": [ - "type", - "paywall_id" - ], - "type": "object" - } - ], - "title": "SectionableBlock" - }, - "type": "array" - }, - "type": { - "description": "Discriminator value: section", - "enum": [ - "section" - ], - "type": "string" - }, - "visibility_settings": { - "additionalProperties": false, - "description": "Optional rules for when/where this section is shown, including dynamic content targeting via condition sets.", - "properties": { - "condition_set_ids": { - "description": "An optional list of condition set UUIDs to gate this block behind dynamic content targeting. When provided, only subscribers matching the specified condition sets will see this block. Condition sets must belong to the same publication and be active.", - "items": { - "type": "string" - }, - "type": "array" - }, - "condition_set_operator": { - "description": "Instructs how to combine multiple condition sets. Defaults to \"or\" (subscriber can match any condition). Use \"and\" to show the block if the subscriber meets all conditions.", - "enum": [ - "and", - "or" - ], - "title": "ConditionSetOperator", - "type": "string" - }, - "show_on_email": { - "description": "Whether to show the block on the email.", - "type": "boolean" - }, - "show_on_web": { - "description": "Whether to show the block on the web.", - "type": "boolean" - }, - "show_to_anonymous_users_web": { - "description": "Whether to show the block to anonymous users on the web.", - "type": "boolean" - }, - "show_to_free_subscribers": { - "description": "Whether to show the block to free subscribers.", - "type": "boolean" - }, - "show_to_paid_subscribers": { - "description": "Whether to show the block to paid subscribers.", - "type": "boolean" - }, - "show_to_subscribers_with_referral_condition": { - "description": "The condition required to show the block to subscribers.", - "enum": [ - "eq", - "gt", - "lt" - ], - "title": "ReferralCondition", - "type": "string" - }, - "show_to_subscribers_with_referral_value": { - "description": "The exact referral count required to show the block to subscribers.", - "type": "integer" - } - }, - "title": "VisibilitySettings", - "type": "object" - }, - "visual_settings": { - "additionalProperties": false, - "description": "Optional styling applied to the section as a whole (background color, padding, borders, etc.).", - "properties": { - "background_color": { - "description": "The background color of the block.", - "type": "string" - }, - "border_color": { - "description": "The border color of the block.", - "type": "string" - }, - "border_radius": { - "description": "The border radius of the block.", - "type": "integer" - }, - "border_radius_bottom_left": { - "description": "The border radius of the bottom left of the block.", - "type": "integer" - }, - "border_radius_bottom_right": { - "description": "The border radius of the bottom right of the block.", - "type": "integer" - }, - "border_radius_top_left": { - "description": "The border radius of the top left of the block.", - "type": "integer" - }, - "border_radius_top_right": { - "description": "The border radius of the top right of the block.", - "type": "integer" - }, - "border_style": { - "description": "The border style of the block.", - "enum": [ - "solid", - "dashed", - "dotted" - ], - "title": "BorderStyle", - "type": "string" - }, - "border_width": { - "description": "The border width of the block.", - "type": "integer" - }, - "border_width_bottom": { - "description": "The border width of the bottom of the block.", - "type": "integer" - }, - "border_width_left": { - "description": "The border width of the left of the block.", - "type": "integer" - }, - "border_width_right": { - "description": "The border width of the right of the block.", - "type": "integer" - }, - "border_width_top": { - "description": "The border width of the top of the block.", - "type": "integer" - }, - "inner_spacing": { - "description": "The inner spacing of the block.", - "type": "integer" - }, - "inner_spacing_bottom": { - "description": "The inner spacing of the bottom of the block.", - "type": "integer" - }, - "inner_spacing_left": { - "description": "The inner spacing of the left of the block.", - "type": "integer" - }, - "inner_spacing_right": { - "description": "The inner spacing of the right of the block.", - "type": "integer" - }, - "inner_spacing_top": { - "description": "The inner spacing of the top of the block.", - "type": "integer" - }, - "outer_spacing": { - "description": "The outer spacing of the block.", - "type": "integer" - }, - "outer_spacing_bottom": { - "description": "The outer spacing of the bottom of the block.", - "type": "integer" - }, - "outer_spacing_left": { - "description": "The outer spacing of the left of the block.", - "type": "integer" - }, - "outer_spacing_right": { - "description": "The outer spacing of the right of the block.", - "type": "integer" - }, - "outer_spacing_top": { - "description": "The outer spacing of the top of the block.", - "type": "integer" - }, - "text_color": { - "description": "The text color of the block.", - "type": "string" - } - }, - "title": "VisualSettings", - "type": "object" - } - }, - "required": [ - "type", - "blocks" - ], - "type": "object" - } - ], - "title": "Block" -} - removed
Input schema / properties / payload / properties / blocks / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / body_content / $refAdded value: +"#/$defs/body_content" - removed
Input schema / properties / payload / properties / body_content / descriptionRemoved value: -"Raw HTML to replace the post's current content. The HTML is wrapped in an `htmlSnippet` block internally. Note that ` ` and ` ` tags are removed during sanitization : use inline styles for all visual styling. Cannot be provided together with `blocks`." - removed
Input schema / properties / payload / properties / body_content / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / content_merge_strategy / $refAdded value: +"#/$defs/ContentMergeStrategy" - removed
Input schema / properties / payload / properties / content_merge_strategy / descriptionRemoved value: -"Controls how provided `blocks` interact with the post's existing content. Defaults to `replace`. Use `append_to_template` to preserve template header blocks when updating posts that were created from a template." - removed
Input schema / properties / payload / properties / content_merge_strategy / enumRemoved value: -[ - "replace", - "append_to_template", - "append", - "prepend" -] - removed
Input schema / properties / payload / properties / content_merge_strategy / titleRemoved value: -"ContentMergeStrategy" - removed
Input schema / properties / payload / properties / content_merge_strategy / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / email_settings / $refAdded value: +"#/$defs/PostEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / email_settings / descriptionRemoved value: -"The email settings to use for this post. Only the provided fields within this object will be updated." - removed
Input schema / properties / payload / properties / email_settings / propertiesRemoved value: -{ - "custom_live_url": { - "type": "string" - }, - "display_byline_in_email": { - "type": "boolean" - }, - "display_subtitle_in_email": { - "type": "boolean" - }, - "display_title_in_email": { - "type": "boolean" - }, - "email_header_engagement_buttons": { - "type": "string" - }, - "email_header_social_share": { - "type": "string" - }, - "email_preview_text": { - "type": "string" - }, - "email_subject_line": { - "type": "string" - }, - "from_address": { - "type": "string" - }, - "reply_to_address": { - "description": "Email address to set as Reply-To. Must be a verified reply-to address owned by the publication. Returns 422 if not found.", - "type": "string" - }, - "sender_name": { - "description": "The sender name preset, expressed as a composition key: either a single token, or ` | | `. Tokens are `brand`, `list`, `authors_first` and `authors_full`; connectors are `from`, `with`, `by`, `at`, `comma`, `colon` and `space`. For a post by Jane Doe on the publication Bee Informed, `authors_first|from|brand` renders as \"Jane from Bee Informed\". The `list` token only resolves when the post is associated with a newsletter list. Pass `null` to clear the override and inherit from the newsletter list or publication.", - "pattern": "^(brand|list|authors_first|authors_full)(\\|(from|with|by|at|comma|colon|space)\\|(brand|list|authors_first|authors_full))?$", - "type": "string" - } -} - removed
Input schema / properties / payload / properties / email_settings / titleRemoved value: -"PostEmailSettings" - removed
Input schema / properties / payload / properties / email_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / guest_author_ids / $refAdded value: +"#/$defs/guest_author_ids" - removed
Input schema / properties / payload / properties / guest_author_ids / descriptionRemoved value: -"The prefixed IDs of the guest authors to associate with this post. Guest authors must belong to the publication. When provided, replaces all existing guest authors on the post." - removed
Input schema / properties / payload / properties / guest_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the guest author.", - "pattern": "^(guest_[0-9a-fA-F\\-]+)$", - "title": "GuestAuthorId", - "type": "string" -} - removed
Input schema / properties / payload / properties / guest_author_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / headers / $refAdded value: +"#/$defs/headers" - removed
Input schema / properties / payload / properties / headers / additionalPropertiesRemoved value: -{ - "type": [ - "string", - "null" - ] -} - removed
Input schema / properties / payload / properties / headers / descriptionRemoved value: -"Custom email headers for this post. Merges with newsletter list and publication headers at send time, with this post's values winning on a key collision. Set a value to `null` to suppress a header inherited from the newsletter list or publication. System-managed headers (e.g. List-Unsubscribe, X-SMTPAPI) cannot be overridden." - removed
Input schema / properties / payload / properties / headers / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / recipients / $refAdded value: +"#/$defs/PostRecipients" - removed
Input schema / properties / payload / properties / recipients / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / recipients / descriptionRemoved value: -"The recipients for this post. When provided, replaces all existing web and email audience targets with the specified values. If omitted, existing targets are unchanged." - removed
Input schema / properties / payload / properties / recipients / propertiesRemoved value: -{ - "email": { - "additionalProperties": false, - "description": "Email audience targeting. Omit this key to create no email targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "description": "Cannot be combined with `tier_ids`.", - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier. Cannot be combined with `include_segment_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostEmailRecipients", - "type": "object" - }, - "web": { - "additionalProperties": false, - "description": "Web audience targeting. Omit this key to create no web targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostWebRecipients", - "type": "object" - } -} - removed
Input schema / properties / payload / properties / recipients / requiredRemoved value: -[ - "web", - "email" -] - removed
Input schema / properties / payload / properties / recipients / titleRemoved value: -"PostRecipients" - removed
Input schema / properties / payload / properties / recipients / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / seo_settings / $refAdded value: +"#/$defs/PostMetadata" - removed
Input schema / properties / payload / properties / seo_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / seo_settings / descriptionRemoved value: -"The SEO metadata to use for this post. Only the provided fields within this object will be updated." - removed
Input schema / properties / payload / properties / seo_settings / propertiesRemoved value: -{ - "default_description": { - "type": "string" - }, - "default_title": { - "type": "string" - }, - "og_description": { - "type": "string" - }, - "og_title": { - "type": "string" - }, - "twitter_description": { - "type": "string" - }, - "twitter_title": { - "type": "string" - } -} - removed
Input schema / properties / payload / properties / seo_settings / titleRemoved value: -"PostMetadata" - removed
Input schema / properties / payload / properties / seo_settings / typeRemoved value: -"object" - added
Input schema / properties / payload / properties / status / $refAdded value: +"#/$defs/PostPublishStatus" - removed
Input schema / properties / payload / properties / status / defaultRemoved value: -"draft" - removed
Input schema / properties / payload / properties / status / descriptionRemoved value: -"Transition the post's status. Use `confirmed` to schedule or publish a draft post. Only the `draft` → `confirmed` transition is supported : a confirmed post cannot be moved back to `draft`." - removed
Input schema / properties / payload / properties / status / enumRemoved value: -[ - "draft", - "confirmed" -] - removed
Input schema / properties / payload / properties / status / titleRemoved value: -"PostPublishStatus" - removed
Input schema / properties / payload / properties / status / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / team_author_ids / $refAdded value: +"#/$defs/team_author_ids" - removed
Input schema / properties / payload / properties / team_author_ids / descriptionRemoved value: -"The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. When provided, replaces all existing team authors on the post." - removed
Input schema / properties / payload / properties / team_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the team author (platform user).", - "pattern": "^(user_[0-9a-fA-F\\-]+)$", - "title": "TeamAuthorId", - "type": "string" -} - removed
Input schema / properties / payload / properties / team_author_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / web_settings / $refAdded value: +"#/$defs/PostWebSettings" - removed
Input schema / properties / payload / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / payload / properties / web_settings / descriptionRemoved value: -"The web settings to use for this post. Only the provided fields within this object will be updated." - removed
Input schema / properties / payload / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "type": "boolean" - }, - "display_thumbnail_on_web": { - "type": "boolean" - }, - "display_title_on_web": { - "type": "boolean" - }, - "hide_from_feed": { - "type": "boolean" - }, - "paywall_break_price_id": { - "description": "The prefixed ID of the price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "paywall_id": { - "description": "The prefixed ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "slug": { - "type": "string" - } -} - removed
Input schema / properties / payload / properties / web_settings / titleRemoved value: -"PostWebSettings" - removed
Input schema / properties / payload / properties / web_settings / typeRemoved value: -"object" - added
Input schema / properties / recipients / $refAdded value: +"#/$defs/PostRecipients" - removed
Input schema / properties / recipients / additionalPropertiesRemoved value: -false - removed
Input schema / properties / recipients / descriptionRemoved value: -"The recipients for this post. When provided, replaces all existing web and email audience targets with the specified values. If omitted, existing targets are unchanged." - removed
Input schema / properties / recipients / propertiesRemoved value: -{ - "email": { - "additionalProperties": false, - "description": "Email audience targeting. Omit this key to create no email targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "description": "Cannot be combined with `tier_ids`.", - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier. Cannot be combined with `include_segment_ids`.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostEmailRecipients", - "type": "object" - }, - "web": { - "additionalProperties": false, - "description": "Web audience targeting. Omit this key to create no web targets.", - "properties": { - "exclude_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "include_segment_ids": { - "items": { - "description": "The prefixed ID of the segment.", - "pattern": "^(seg_[0-9a-fA-F\\-]+)$", - "title": "SegmentId", - "type": "string" - }, - "type": "array" - }, - "tier_ids": { - "description": "The tier IDs to target. Accepts specific tier UUIDs or the special values `\"free\"`, `\"premium\"`, or `\"all\"`. When `\"all\"` is provided, targets all subscriber tiers : free subscribers, and premium subscribers if the publication has an active paid tier.", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "title": "PostWebRecipients", - "type": "object" - } -} - removed
Input schema / properties / recipients / requiredRemoved value: -[ - "web", - "email" -] - removed
Input schema / properties / recipients / titleRemoved value: -"PostRecipients" - removed
Input schema / properties / recipients / typeRemoved value: -"object" - added
Input schema / properties / seo_settings / $refAdded value: +"#/$defs/PostMetadata" - removed
Input schema / properties / seo_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / seo_settings / descriptionRemoved value: -"The SEO metadata to use for this post. Only the provided fields within this object will be updated." - removed
Input schema / properties / seo_settings / propertiesRemoved value: -{ - "default_description": { - "type": "string" - }, - "default_title": { - "type": "string" - }, - "og_description": { - "type": "string" - }, - "og_title": { - "type": "string" - }, - "twitter_description": { - "type": "string" - }, - "twitter_title": { - "type": "string" - } -} - removed
Input schema / properties / seo_settings / titleRemoved value: -"PostMetadata" - removed
Input schema / properties / seo_settings / typeRemoved value: -"object" - added
Input schema / properties / status / $refAdded value: +"#/$defs/PostPublishStatus" - removed
Input schema / properties / status / defaultRemoved value: -"draft" - removed
Input schema / properties / status / descriptionRemoved value: -"Transition the post's status. Use `confirmed` to schedule or publish a draft post. Only the `draft` → `confirmed` transition is supported : a confirmed post cannot be moved back to `draft`." - removed
Input schema / properties / status / enumRemoved value: -[ - "draft", - "confirmed" -] - removed
Input schema / properties / status / titleRemoved value: -"PostPublishStatus" - removed
Input schema / properties / status / typeRemoved value: -"string" - added
Input schema / properties / team_author_ids / $refAdded value: +"#/$defs/team_author_ids" - removed
Input schema / properties / team_author_ids / descriptionRemoved value: -"The prefixed IDs of the team members to associate with this post as authors. Team authors must have access to the publication. When provided, replaces all existing team authors on the post." - removed
Input schema / properties / team_author_ids / itemsRemoved value: -{ - "description": "The prefixed ID of the team author (platform user).", - "pattern": "^(user_[0-9a-fA-F\\-]+)$", - "title": "TeamAuthorId", - "type": "string" -} - removed
Input schema / properties / team_author_ids / typeRemoved value: -"array" - added
Input schema / properties / web_settings / $refAdded value: +"#/$defs/PostWebSettings" - removed
Input schema / properties / web_settings / additionalPropertiesRemoved value: -false - removed
Input schema / properties / web_settings / descriptionRemoved value: -"The web settings to use for this post. Only the provided fields within this object will be updated." - removed
Input schema / properties / web_settings / propertiesRemoved value: -{ - "display_subtitle_on_web": { - "type": "boolean" - }, - "display_thumbnail_on_web": { - "type": "boolean" - }, - "display_title_on_web": { - "type": "boolean" - }, - "hide_from_feed": { - "type": "boolean" - }, - "paywall_break_price_id": { - "description": "The prefixed ID of the price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "paywall_id": { - "description": "The prefixed ID of the paywall.", - "pattern": "^(paywall_[0-9a-fA-F\\-]+)$", - "title": "PaywallId", - "type": "string" - }, - "slug": { - "type": "string" - } -} - removed
Input schema / properties / web_settings / titleRemoved value: -"PostWebSettings" - removed
Input schema / properties / web_settings / typeRemoved value: -"object"
- Changed
update_publication_field10 fields changed- added
Input schema / $defsAdded value: +{ + "response_keys": { + "description": "The keys declared within the fetched JSON response body. Replaces the existing list. Only supported for `json` fields. A `number` or `date` key also claims its format variants, so a key `temp_round2` is rejected with `RESPONSE_KEYS_CLASHES` beside a `number` key named `temp`.", + "items": { + "additionalProperties": false, + "properties": { + "key": { + "description": "The name of the key within the JSON response body.", + "type": "string" + }, + "kind": { + "description": "The type of value the key holds.", + "enum": [ + "text", + "number", + "date", + "url", + "image_url" + ], + "title": "PublicationFieldResponseKeyKind", + "type": "string" + } + }, + "required": [ + "key", + "kind" + ], + "title": "PublicationFieldResponseKey", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / response_keys / $refAdded value: +"#/$defs/response_keys" - removed
Input schema / properties / payload / properties / response_keys / descriptionRemoved value: -"The keys declared within the fetched JSON response body. Replaces the existing list. Only supported for `json` fields. A `number` or `date` key also claims its format variants, so a key `temp_round2` is rejected with `RESPONSE_KEYS_CLASHES` beside a `number` key named `temp`." - removed
Input schema / properties / payload / properties / response_keys / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "key": { - "description": "The name of the key within the JSON response body.", - "type": "string" - }, - "kind": { - "description": "The type of value the key holds.", - "enum": [ - "text", - "number", - "date", - "url", - "image_url" - ], - "title": "PublicationFieldResponseKeyKind", - "type": "string" - } - }, - "required": [ - "key", - "kind" - ], - "title": "PublicationFieldResponseKey", - "type": "object" -} - removed
Input schema / properties / payload / properties / response_keys / typeRemoved value: -"array" - added
Input schema / properties / response_keys / $refAdded value: +"#/$defs/response_keys" - removed
Input schema / properties / response_keys / descriptionRemoved value: -"The keys declared within the fetched JSON response body. Replaces the existing list. Only supported for `json` fields. A `number` or `date` key also claims its format variants, so a key `temp_round2` is rejected with `RESPONSE_KEYS_CLASHES` beside a `number` key named `temp`." - removed
Input schema / properties / response_keys / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "key": { - "description": "The name of the key within the JSON response body.", - "type": "string" - }, - "kind": { - "description": "The type of value the key holds.", - "enum": [ - "text", - "number", - "date", - "url", - "image_url" - ], - "title": "PublicationFieldResponseKeyKind", - "type": "string" - } - }, - "required": [ - "key", - "kind" - ], - "title": "PublicationFieldResponseKey", - "type": "object" -} - removed
Input schema / properties / response_keys / typeRemoved value: -"array"
- Changed
update_subscription52 fields changed- added
Input schema / $defsAdded value: +{ + "ComplimentaryAccessId": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "custom_fields": { + "description": "An array of custom field objects to update", + "items": { + "additionalProperties": false, + "properties": { + "delete": { + "description": "A boolean value to specify whether to delete this custom field entry from the subscription", + "type": "boolean" + }, + "name": { + "description": "The name of the existing custom field", + "type": "string" + }, + "value": { + "description": "The value of the custom field", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem", + "type": "object" + }, + "type": "array" + }, + "newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tier_ids": { + "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tiers": { + "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unsubscribe_newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / custom_fields / descriptionRemoved value: -"An array of custom field objects to update" - removed
Input schema / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem", - "type": "object" -} - removed
Input schema / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / newsletter_list_ids / $refAdded value: +"#/$defs/newsletter_list_ids" - removed
Input schema / properties / newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`." - removed
Input schema / properties / newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / payload / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / payload / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / payload / properties / custom_fields / descriptionRemoved value: -"An array of custom field objects to update" - removed
Input schema / properties / payload / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem", - "type": "object" -} - removed
Input schema / properties / payload / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / newsletter_list_ids / $refAdded value: +"#/$defs/newsletter_list_ids" - removed
Input schema / properties / payload / properties / newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`." - removed
Input schema / properties / payload / properties / newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / payload / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / payload / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / $refAdded value: +"#/$defs/unsubscribe_newsletter_list_ids" - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`." - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / unsubscribe_newsletter_list_ids / $refAdded value: +"#/$defs/unsubscribe_newsletter_list_ids" - removed
Input schema / properties / unsubscribe_newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`." - removed
Input schema / properties / unsubscribe_newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / unsubscribe_newsletter_list_ids / typeRemoved value: -"array"
- Changed
update_subscription_by_email52 fields changed- added
Input schema / $defsAdded value: +{ + "ComplimentaryAccessId": { + "description": "The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication.", + "pattern": "^(comp_access_[0-9a-fA-F\\-]+)$", + "title": "ComplimentaryAccessId", + "type": "string" + }, + "custom_fields": { + "description": "An array of custom field objects to update", + "items": { + "additionalProperties": false, + "properties": { + "delete": { + "description": "A boolean value to specify whether to delete this custom field entry from the subscription", + "type": "boolean" + }, + "name": { + "description": "The name of the existing custom field", + "type": "string" + }, + "value": { + "description": "The value of the custom field", + "oneOf": [ + { + "type": "string" + }, + { + "format": "double", + "type": "number" + }, + { + "type": "boolean" + }, + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "title": "CustomFieldDataType" + } + }, + "title": "SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem", + "type": "object" + }, + "type": "array" + }, + "newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tier_ids": { + "description": "An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "premium_tiers": { + "description": "An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter.", + "items": { + "type": "string" + }, + "type": "array" + }, + "unsubscribe_newsletter_list_ids": { + "description": "An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`.", + "items": { + "type": "string" + }, + "type": "array" + } +} - added
Input schema / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / complimentary_gift_id / typeRemoved value: -"string" - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / custom_fields / descriptionRemoved value: -"An array of custom field objects to update" - removed
Input schema / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem", - "type": "object" -} - removed
Input schema / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / newsletter_list_ids / $refAdded value: +"#/$defs/newsletter_list_ids" - removed
Input schema / properties / newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`." - removed
Input schema / properties / newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / complimentary_gift_id / $refAdded value: +"#/$defs/ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / descriptionRemoved value: -"The prefixed ID of a complimentary access object to apply to this subscription. The complimentary access must belong to the same publication." - removed
Input schema / properties / payload / properties / complimentary_gift_id / patternRemoved value: -"^(comp_access_[0-9a-fA-F\\-]+)$" - removed
Input schema / properties / payload / properties / complimentary_gift_id / titleRemoved value: -"ComplimentaryAccessId" - removed
Input schema / properties / payload / properties / complimentary_gift_id / typeRemoved value: -"string" - added
Input schema / properties / payload / properties / custom_fields / $refAdded value: +"#/$defs/custom_fields" - removed
Input schema / properties / payload / properties / custom_fields / descriptionRemoved value: -"An array of custom field objects to update" - removed
Input schema / properties / payload / properties / custom_fields / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "delete": { - "description": "A boolean value to specify whether to delete this custom field entry from the subscription", - "type": "boolean" - }, - "name": { - "description": "The name of the existing custom field", - "type": "string" - }, - "value": { - "description": "The value of the custom field", - "oneOf": [ - { - "type": "string" - }, - { - "format": "double", - "type": "number" - }, - { - "type": "boolean" - }, - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "title": "CustomFieldDataType" - } - }, - "title": "SubscriptionsPutRequestSubscriptionsItemCustomFieldsItem", - "type": "object" -} - removed
Input schema / properties / payload / properties / custom_fields / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / newsletter_list_ids / $refAdded value: +"#/$defs/newsletter_list_ids" - removed
Input schema / properties / payload / properties / newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to subscribe this subscription to. Adds to the subscription's existing list memberships; it does not replace them. The newsletter lists must belong to the same publication. Cannot be combined with `unsubscribe`." - removed
Input schema / properties / payload / properties / newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / payload / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / payload / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / payload / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / $refAdded value: +"#/$defs/unsubscribe_newsletter_list_ids" - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`." - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / payload / properties / unsubscribe_newsletter_list_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tier_ids / $refAdded value: +"#/$defs/premium_tier_ids" - removed
Input schema / properties / premium_tier_ids / descriptionRemoved value: -"An array of premium tier IDs to assign to this subscription. When provided, the subscription will be assigned to these specific premium tiers. Can be combined with `premium_tiers` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tier_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tier_ids / typeRemoved value: -"array" - added
Input schema / properties / premium_tiers / $refAdded value: +"#/$defs/premium_tiers" - removed
Input schema / properties / premium_tiers / descriptionRemoved value: -"An array of premium tier names to assign to this subscription. When provided, the subscription will be assigned to premium tiers matching these names. Can be combined with `premium_tier_ids` to include tiers from both (duplicates are removed). Takes precedence over the `tier` parameter." - removed
Input schema / properties / premium_tiers / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / premium_tiers / typeRemoved value: -"array" - added
Input schema / properties / unsubscribe_newsletter_list_ids / $refAdded value: +"#/$defs/unsubscribe_newsletter_list_ids" - removed
Input schema / properties / unsubscribe_newsletter_list_ids / descriptionRemoved value: -"An array of newsletter list prefixed IDs to unsubscribe this subscription from. Unsubscribing from a list the subscription is not on is a no-op. The newsletter lists must belong to the same publication, and the same list cannot appear in `newsletter_list_ids`." - removed
Input schema / properties / unsubscribe_newsletter_list_ids / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / unsubscribe_newsletter_list_ids / typeRemoved value: -"array"
- Changed
update_tier8 fields changed- added
Input schema / $defsAdded value: +{ + "prices_attributes": { + "items": { + "additionalProperties": false, + "properties": { + "amount_cents": { + "type": "integer" + }, + "cta": { + "type": "string" + }, + "currency": { + "enum": [ + "usd", + "aud", + "cad", + "eur", + "gbp", + "inr", + "brl", + "mxn", + "nzd", + "dkk" + ], + "title": "TierPriceCurrency", + "type": "string" + }, + "delete": { + "default": false, + "description": "Optionally delete the price when updating the tier.", + "type": "boolean" + }, + "features": { + "items": { + "type": "string" + }, + "type": "array" + }, + "id": { + "description": "ID of the existing price.", + "pattern": "^(price_[0-9a-fA-F\\-]+)$", + "title": "PriceId", + "type": "string" + }, + "interval": { + "enum": [ + "month", + "quarter", + "year", + "one_time", + "donation" + ], + "title": "TierPriceInterval", + "type": "string" + }, + "interval_display": { + "type": "string" + } + }, + "required": [ + "id", + "currency", + "amount_cents", + "interval" + ], + "title": "UpdateTierPriceRequest", + "type": "object" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / payload / properties / prices_attributes / $refAdded value: +"#/$defs/prices_attributes" - removed
Input schema / properties / payload / properties / prices_attributes / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "amount_cents": { - "type": "integer" - }, - "cta": { - "type": "string" - }, - "currency": { - "enum": [ - "usd", - "aud", - "cad", - "eur", - "gbp", - "inr", - "brl", - "mxn", - "nzd", - "dkk" - ], - "title": "TierPriceCurrency", - "type": "string" - }, - "delete": { - "default": false, - "description": "Optionally delete the price when updating the tier.", - "type": "boolean" - }, - "features": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "ID of the existing price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "interval": { - "enum": [ - "month", - "quarter", - "year", - "one_time", - "donation" - ], - "title": "TierPriceInterval", - "type": "string" - }, - "interval_display": { - "type": "string" - } - }, - "required": [ - "id", - "currency", - "amount_cents", - "interval" - ], - "title": "UpdateTierPriceRequest", - "type": "object" -} - removed
Input schema / properties / payload / properties / prices_attributes / typeRemoved value: -"array" - added
Input schema / properties / prices_attributes / $refAdded value: +"#/$defs/prices_attributes" - removed
Input schema / properties / prices_attributes / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "amount_cents": { - "type": "integer" - }, - "cta": { - "type": "string" - }, - "currency": { - "enum": [ - "usd", - "aud", - "cad", - "eur", - "gbp", - "inr", - "brl", - "mxn", - "nzd", - "dkk" - ], - "title": "TierPriceCurrency", - "type": "string" - }, - "delete": { - "default": false, - "description": "Optionally delete the price when updating the tier.", - "type": "boolean" - }, - "features": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "description": "ID of the existing price.", - "pattern": "^(price_[0-9a-fA-F\\-]+)$", - "title": "PriceId", - "type": "string" - }, - "interval": { - "enum": [ - "month", - "quarter", - "year", - "one_time", - "donation" - ], - "title": "TierPriceInterval", - "type": "string" - }, - "interval_display": { - "type": "string" - } - }, - "required": [ - "id", - "currency", - "amount_cents", - "interval" - ], - "title": "UpdateTierPriceRequest", - "type": "object" -} - removed
Input schema / properties / prices_attributes / typeRemoved value: -"array"
- Changed
update_webhook10 fields changed- added
Input schema / $defsAdded value: +{ + "event_types": { + "description": "The types of events the webhook will receive.", + "items": { + "enum": [ + "post.sent", + "post.updated", + "subscription.confirmed", + "subscription.created", + "subscription.downgraded", + "subscription.paused", + "subscription.resumed", + "subscription.tier.paused", + "subscription.tier.resumed", + "subscription.upgraded", + "subscription.tier.created", + "subscription.tier.deleted", + "subscription.deleted", + "newsletter_list_subscription.subscribed", + "newsletter_list_subscription.unsubscribed", + "newsletter_list_subscription.paused", + "newsletter_list_subscription.resumed", + "post.scheduled", + "survey.response_submitted", + "podcasts.episode.published", + "podcasts.episode.updated", + "podcasts.episode.archived", + "podcasts.episode.deleted", + "podcasts.private_feed.activated", + "podcasts.private_feed.access_revoked", + "podcasts.private_feed.deactivated" + ], + "title": "WebhookEventType", + "type": "string" + }, + "type": "array" + } +} - changed
Input schema / properties / confirm / descriptionPrevious value: -"Must be true for every account mutation. Confirms only the user-requested action."New value: +"Set true only when the user asked for exactly this action." - added
Input schema / properties / event_types / $refAdded value: +"#/$defs/event_types" - removed
Input schema / properties / event_types / descriptionRemoved value: -"The types of events the webhook will receive." - removed
Input schema / properties / event_types / itemsRemoved value: -{ - "enum": [ - "post.sent", - "post.updated", - "subscription.confirmed", - "subscription.created", - "subscription.downgraded", - "subscription.paused", - "subscription.resumed", - "subscription.tier.paused", - "subscription.tier.resumed", - "subscription.upgraded", - "subscription.tier.created", - "subscription.tier.deleted", - "subscription.deleted", - "newsletter_list_subscription.subscribed", - "newsletter_list_subscription.unsubscribed", - "newsletter_list_subscription.paused", - "newsletter_list_subscription.resumed", - "post.scheduled", - "survey.response_submitted", - "podcasts.episode.published", - "podcasts.episode.updated", - "podcasts.episode.archived", - "podcasts.episode.deleted", - "podcasts.private_feed.activated", - "podcasts.private_feed.access_revoked", - "podcasts.private_feed.deactivated" - ], - "title": "WebhookEventType", - "type": "string" -} - removed
Input schema / properties / event_types / typeRemoved value: -"array" - added
Input schema / properties / payload / properties / event_types / $refAdded value: +"#/$defs/event_types" - removed
Input schema / properties / payload / properties / event_types / descriptionRemoved value: -"The types of events the webhook will receive." - removed
Input schema / properties / payload / properties / event_types / itemsRemoved value: -{ - "enum": [ - "post.sent", - "post.updated", - "subscription.confirmed", - "subscription.created", - "subscription.downgraded", - "subscription.paused", - "subscription.resumed", - "subscription.tier.paused", - "subscription.tier.resumed", - "subscription.upgraded", - "subscription.tier.created", - "subscription.tier.deleted", - "subscription.deleted", - "newsletter_list_subscription.subscribed", - "newsletter_list_subscription.unsubscribed", - "newsletter_list_subscription.paused", - "newsletter_list_subscription.resumed", - "post.scheduled", - "survey.response_submitted", - "podcasts.episode.published", - "podcasts.episode.updated", - "podcasts.episode.archived", - "podcasts.episode.deleted", - "podcasts.private_feed.activated", - "podcasts.private_feed.access_revoked", - "podcasts.private_feed.deactivated" - ], - "title": "WebhookEventType", - "type": "string" -} - removed
Input schema / properties / payload / properties / event_types / typeRemoved value: -"array"
117 tool updates
v2.0.0- First observed
ad_network_offers_advertisements - First observed
ad_network_reports_account_summary - First observed
ad_network_reports_summary - First observed
add_subscriber_to_automation - First observed
add_tags - First observed
automations_list_emails - First observed
bulk_subscription_updates_patch_status - First observed
bulk_subscription_updates_put_status - First observed
create_ad_network_offer - First observed
create_bulk_subscription - First observed
create_custom_field - First observed
create_data_deletion - First observed
create_export - First observed
create_newsletter_list - First observed
create_newsletter_list_subscription - First observed
create_post - First observed
create_post_template - First observed
create_publication_field - First observed
create_segment - First observed
create_subscription - First observed
create_tier - First observed
create_webhook - First observed
delete_custom_field - First observed
delete_newsletter_list - First observed
delete_post - First observed
delete_segment - First observed
delete_subscription - First observed
delete_webhook - First observed
get_author - First observed
get_automation - First observed
get_automation_journey - First observed
get_bulk_subscription_update - First observed
get_complimentary_access - First observed
get_condition_set - First observed
get_custom_field - First observed
get_data_deletion - First observed
get_export - First observed
get_newsletter_list - First observed
get_newsletter_list_subscription - First observed
get_poll - First observed
get_post - First observed
get_post_aggregate_stats - First observed
get_post_template - First observed
get_publication - First observed
get_publication_field - First observed
get_referral_program - First observed
get_segment - First observed
get_segment_subscribers - First observed
get_subscription - First observed
get_subscription_by_email - First observed
get_tier - First observed
get_webhook - First observed
identify_oauth_user - First observed
list_accounts - First observed
list_ad_network_offers - First observed
list_ad_network_reports - First observed
list_advertisement_opportunities - First observed
list_authors - First observed
list_automation_journeys - First observed
list_automations - First observed
list_bulk_subscription_updates - First observed
list_complimentary_access - First observed
list_condition_sets - First observed
list_custom_fields - First observed
list_data_deletion - First observed
list_engagements - First observed
list_exports - First observed
list_newsletter_list_subscriptions - First observed
list_newsletter_lists - First observed
list_polls - First observed
list_post_templates - First observed
list_posts - First observed
list_publication_fields - First observed
list_publications - First observed
list_segments - First observed
list_subscriptions - First observed
list_tiers - First observed
list_webhooks - First observed
newsletter_list_subscriptions_create_import - First observed
newsletter_list_subscriptions_get_import - First observed
newsletter_list_subscriptions_update_by_subscription_id - First observed
patch_custom_field - First observed
patch_subscription - First observed
podcasts_get_episode - First observed
podcasts_get_podcast - First observed
podcasts_get_private_feed - First observed
podcasts_get_private_feed_by_email - First observed
podcasts_list_episodes - First observed
podcasts_list_podcasts - First observed
podcasts_send_private_feed_email - First observed
podcasts_send_private_feed_email_by_email - First observed
polls_list_responses - First observed
post_templates_workspace_create - First observed
post_templates_workspace_index - First observed
post_templates_workspace_show - First observed
preview_post - First observed
publication_fields_values_index - First observed
publication_fields_values_update - First observed
remove_tag - First observed
replace_bulk_subscription_update - First observed
replace_tier - First observed
segments_expand_results - First observed
segments_recalculate - First observed
send_post_test - First observed
update_bulk_subscription_update - First observed
update_custom_field - First observed
update_newsletter_list - First observed
update_newsletter_list_subscription - First observed
update_post - First observed
update_publication_field - First observed
update_subscription - First observed
update_subscription_by_email - First observed
update_tier - First observed
update_webhook - First observed
workspaces_identify - First observed
workspaces_permissions - First observed
workspaces_publications_by_subscription_email
TDQS
Scored across 117 tools
Many tools have overlapping or identical purposes, e.g. update_subscription and patch_subscription both say 'Update subscription by ID', replace_tier and update_tier both say 'Update a tier', and several bulk_subscription_updates tools perform the same bulk status update. An agent cannot reliably distinguish which tool to use for a given operation.
Mostly snake_case, but conventions vary widely: simple verb_noun (create_post, list_posts), namespace-prefixed resource_action (podcasts_list_episodes, automations_list_emails), odd orderings (post_templates_workspace_show, ad_network_offers_advertisements), and HTTP-method names (bulk_subscription_updates_put_status, patch_status). The set mixes predictable CRUD verbs with opaque API-derived naming.
117 tools is an extreme mismatch for a single MCP server and suggests exposing the entire Beehiiv API surface rather than a coherent, well-scoped set. Many of these tools are redundant variants of the same operation.
The surface covers most Beehiiv resources—subscriptions, posts, tiers, webhooks, segments, automations, podcasts, polls, ad network, publications, and more—with broad CRUD coverage. A few lifecycle gaps remain (e.g., no delete for tiers or publication fields), but agents can generally work around them.
Maintenance
Related MCP Connectors
Connect AI agents to 1000+ apps with managed authentication and tool-calling.
Discover, inspect and run 63,000+ agent tools from one balance. Pay per call, no subscriptions.
30+ marketing data tools for AI agents: keywords, SERP, backlinks, AI visibility, app store & commerce intelligence, Reddit/LinkedIn/Facebook/YouTube research, web search, page extraction, site audit, image & video generation, one-shot marketing apps. Bring your own API key from supamarketers.com — per-tool pricing in Credits.
Build and run agents and automations across hundreds of apps using natural language.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to manage Ghost CMS content including posts, members, users, tags, tiers, offers, newsletters, invites, roles, and webhooks via the Ghost Admin API.-
- AlicenseNot gradedqualityDmaintenanceEnables to manage Ghost CMS instance using LLM interfaces. Supports comprehensive CRUD operations on posts, members, newsletters, offers, tags, tiers, users, and webhooks.10 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables managing Substack publications: publish Notes and posts, manage drafts, pull analytics, and read any publication's public feed via MCP.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to search and read Substack newsletter feeds, stage and publish drafts, interact with community comments, and track subscriber and post analytics through local tools and a web dashboard.1MIT