Для AI-агентов: markdown этой страницы — /docs/mcp-broadcasts.mdиндекс документации — /llms.txt
MCP: broadcasts
Обновлено
MCP: broadcasts
Это определения инструментов из текущего ToolRegistry, включая полные inputSchema/outputSchema, scope, required_scopes (ALL), risk и версию платформы. Наличие определения не означает, что инструмент уже установлен вашим хостом или разрешён вашим credential. Обновляйте tools/list после изменения бизнеса, readiness и прав. Progressive disclosure через load_domain/describe_tool и существующий meta-dispatch описаны в MCP-руководстве. Scopes и права применяются при вызове; risk не заменяет согласие и отдельные требования денежной операции. JSON ниже — схема, а не успешный результат вызова.
create_broadcast
Create a rich broadcast draft in one call: give required content and optional structured segment_filter, schedule, delivery target, reply setting, TTL and button. This never sends. The declared rich-launch workflow has exactly four calls: create_broadcast, one get_content_draft poll that must return published seqNum, prepare_broadcast_launch, then (only after final human confirmation) execute_broadcast_launch. If that one poll is not published, stop: it is not a hidden retry budget.
{
"description": "Create a rich broadcast draft in one call: give required `content` and optional structured `segment_filter`, schedule, delivery target, reply setting, TTL and button. This never sends. The declared rich-launch workflow has exactly four calls: create_broadcast, one get_content_draft poll that must return published `seqNum`, prepare_broadcast_launch, then (only after final human confirmation) execute_broadcast_launch. If that one poll is not published, stop: it is not a hidden retry budget.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"button_icon_custom_emoji_id": {
"description": "Value for button icon custom emoji id.",
"maxLength": 32,
"type": "string"
},
"button_style": {
"description": "Value for button style.",
"maxLength": 16,
"type": "string"
},
"button_target": {
"description": "Value for button target.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for button target option.",
"properties": {
"kind": {
"const": "delivery_message",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option.",
"properties": {
"kind": {
"const": "url",
"description": "Value for kind.",
"type": "string"
},
"url": {
"description": "Value for url.",
"format": "uri",
"type": "string"
}
},
"required": [
"kind",
"url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option.",
"properties": {
"kind": {
"const": "web_app",
"description": "Value for kind.",
"type": "string"
},
"web_app_url": {
"description": "Value for web app url.",
"format": "uri",
"type": "string"
}
},
"required": [
"kind",
"web_app_url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option.",
"properties": {
"kind": {
"const": "section_root",
"description": "Value for kind.",
"type": "string"
},
"section": {
"description": "Value for section.",
"enum": [
"catalog",
"booking",
"events"
],
"type": "string"
}
},
"required": [
"kind",
"section"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option.",
"properties": {
"entity_seq": {
"description": "Value for entity seq.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"entity_type": {
"description": "Value for entity type.",
"enum": [
"product",
"catalog_group",
"menu_group",
"event",
"resource",
"chain_step",
"marketing_campaign",
"marketing_link",
"form"
],
"type": "string"
},
"kind": {
"const": "deeplink",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind",
"entity_type",
"entity_seq"
],
"type": "object"
}
]
},
"button_title": {
"description": "Value for button title.",
"maxLength": 100,
"type": "string"
},
"content": {
"additionalProperties": false,
"description": "Value for content.",
"properties": {
"mediaRefs": {
"default": [],
"description": "Immutable descriptors from media_finalize. URLs and bytes are forbidden.",
"items": {
"additionalProperties": false,
"description": "Value for media Refs item.",
"properties": {
"caption": {
"description": "Value for caption.",
"maxLength": 1024,
"type": "string"
},
"captionEntities": {
"description": "Value for caption Entities.",
"items": {
"additionalProperties": false,
"description": "Value for caption Entities item.",
"properties": {
"custom_emoji_id": {
"description": "Value for custom emoji id.",
"type": "string"
},
"language": {
"description": "Value for language.",
"type": "string"
},
"length": {
"description": "Value for length.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"offset": {
"description": "Value for offset.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"type": {
"description": "Value for type.",
"enum": [
"mention",
"hashtag",
"cashtag",
"bot_command",
"url",
"email",
"phone_number",
"bold",
"italic",
"underline",
"strikethrough",
"spoiler",
"blockquote",
"expandable_blockquote",
"code",
"pre",
"text_link",
"text_mention",
"custom_emoji"
],
"type": "string"
},
"url": {
"description": "Value for url.",
"type": "string"
},
"user": {
"additionalProperties": false,
"description": "Value for user.",
"properties": {
"firstName": {
"description": "Value for first Name.",
"type": "string"
},
"id": {
"description": "Value for id.",
"pattern": "^-?\\d+$",
"type": "string"
},
"lastName": {
"description": "Value for last Name.",
"type": "string"
},
"username": {
"description": "Value for username.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
}
},
"required": [
"type",
"offset",
"length"
],
"type": "object"
},
"type": "array"
},
"captionHtml": {
"description": "Value for caption Html.",
"maxLength": 16384,
"minLength": 1,
"type": "string"
},
"expectedSizeBytes": {
"description": "Value for expected Size Bytes.",
"exclusiveMinimum": 0,
"maximum": 4294967296,
"type": "integer"
},
"generatedFileName": {
"description": "Value for generated File Name.",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"voice",
"audio",
"video_note"
],
"type": "string"
},
"mediaRef": {
"description": "Value for media Ref.",
"maxLength": 512,
"pattern": "^media-ingress\\/v1\\/[a-f0-9]{64}\\/[A-Za-z0-9_-]{16,128}\\/objects\\/[a-z][a-z0-9-]{0,63}\\/[a-f0-9]{64}\\/[a-f0-9]{24}\\.blob$",
"type": "string"
},
"mimeType": {
"description": "Value for mime Type.",
"maxLength": 255,
"minLength": 1,
"type": "string"
},
"sha256": {
"description": "Value for sha256.",
"pattern": "^[0-9a-f]{64}$",
"type": "string"
},
"type": {
"description": "Value for type.",
"enum": [
"photo",
"video",
"document"
],
"type": "string"
}
},
"required": [
"type",
"mediaRef",
"expectedSizeBytes",
"sha256",
"mimeType"
],
"type": "object"
},
"maxItems": 10,
"type": "array"
},
"sourceUrl": {
"description": "Page to parse once into the card text. No periodic sync.",
"format": "uri",
"type": "string"
},
"text": {
"description": "Telegram HTML message text. Max 4096 chars.",
"maxLength": 4096,
"type": "string"
}
},
"required": [
"mediaRefs"
],
"type": "object"
},
"is_awaiting_reply": {
"description": "Value for is awaiting reply.",
"type": "boolean"
},
"message_ttl_minutes": {
"description": "Value for message ttl minutes.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"saved_segment_seq_num": {
"anyOf": [
{
"description": "Value for saved segment seq num option.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
},
{
"description": "Value for saved segment seq num option.",
"type": "null"
}
],
"description": "Value for saved segment seq num."
},
"schedule": {
"additionalProperties": false,
"description": "Value for schedule.",
"properties": {
"at_local": {
"description": "Value for at local.",
"type": "string"
},
"kind": {
"const": "once",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind",
"at_local"
],
"type": "object"
},
"segment_filter": {
"additionalProperties": false,
"description": "Value for segment filter.",
"properties": {
"exclude": {
"description": "Value for exclude.",
"items": {
"additionalProperties": false,
"description": "Value for exclude item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"include": {
"description": "Value for include.",
"items": {
"additionalProperties": false,
"description": "Value for include item.",
"properties": {
"any": {
"description": "Value for any.",
"items": {
"additionalProperties": false,
"description": "Value for any item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"any"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
}
},
"required": [
"include",
"exclude"
],
"type": "object"
},
"segment_labels": {
"description": "Value for segment labels.",
"maxLength": 500,
"type": "string"
},
"target": {
"description": "Value for target.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for target option.",
"properties": {
"kind": {
"const": "delivery_message",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for target option.",
"properties": {
"kind": {
"const": "url",
"description": "Value for kind.",
"type": "string"
},
"url": {
"description": "Value for url.",
"format": "uri",
"type": "string"
}
},
"required": [
"kind",
"url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for target option.",
"properties": {
"kind": {
"const": "web_app",
"description": "Value for kind.",
"type": "string"
},
"web_app_url": {
"description": "Value for web app url.",
"format": "uri",
"type": "string"
}
},
"required": [
"kind",
"web_app_url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for target option.",
"properties": {
"kind": {
"const": "section_root",
"description": "Value for kind.",
"type": "string"
},
"section": {
"description": "Value for section.",
"enum": [
"catalog",
"booking",
"events"
],
"type": "string"
}
},
"required": [
"kind",
"section"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for target option.",
"properties": {
"entity_seq": {
"description": "Value for entity seq.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"entity_type": {
"description": "Value for entity type.",
"enum": [
"product",
"catalog_group",
"menu_group",
"event",
"resource",
"chain_step",
"marketing_campaign",
"marketing_link",
"form"
],
"type": "string"
},
"kind": {
"const": "deeplink",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind",
"entity_type",
"entity_seq"
],
"type": "object"
}
]
},
"title": {
"description": "Value for title.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"content"
],
"type": "object"
},
"name": "create_broadcast",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "write",
"scope": "broadcasts:write",
"title": "Create Broadcast"
}create_saved_segment
Save a named audience filter. Conditions use the canonical segment axes; recursive saved-segment references are rejected. This never sends a broadcast.
{
"description": "Save a named audience filter. Conditions use the canonical segment axes; recursive saved-segment references are rejected. This never sends a broadcast.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"filter": {
"additionalProperties": false,
"description": "Value for filter.",
"properties": {
"exclude": {
"description": "Value for exclude.",
"items": {
"additionalProperties": false,
"description": "Value for exclude item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"include": {
"description": "Value for include.",
"items": {
"additionalProperties": false,
"description": "Value for include item.",
"properties": {
"any": {
"description": "Value for any.",
"items": {
"additionalProperties": false,
"description": "Value for any item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"any"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
}
},
"required": [
"include",
"exclude"
],
"type": "object"
},
"title": {
"description": "Value for title.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"title",
"filter"
],
"type": "object"
},
"name": "create_saved_segment",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "write",
"scope": "broadcasts:write",
"title": "Create Saved Segment"
}delete_broadcast
Soft-delete a broadcast by seqNum. Idempotent (deleting an absent/already-deleted broadcast returns deleted:true).
{
"description": "Soft-delete a broadcast by `seqNum`. Idempotent (deleting an absent/already-deleted broadcast returns deleted:true).",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"seq_num"
],
"type": "object"
},
"name": "delete_broadcast",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "destructive",
"scope": "broadcasts:write",
"title": "Delete Broadcast"
}delete_saved_segment
Delete a named filter by seq_num and expectedVersion. Detach every broadcast reference first; referenced or stale deletion is rejected.
{
"description": "Delete a named filter by seq_num and expectedVersion. Detach every broadcast reference first; referenced or stale deletion is rejected.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"expectedVersion": {
"description": "Value for expected Version.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
}
},
"required": [
"seq_num",
"expectedVersion"
],
"type": "object"
},
"name": "delete_saved_segment",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "write",
"scope": "broadcasts:write",
"title": "Delete Saved Segment"
}describe_segment_axes
Describe the audience taxonomy you build a broadcast segment from: categories → axes → (for entity axes) their {seq, title} targets. Use it to discover the kind/key/targetIds that make up a SegmentFilter. Ids are per-tenant seq_num (never internal ids). 0-cost read.
{
"description": "Describe the audience taxonomy you build a broadcast segment from: categories → axes → (for entity axes) their `{seq, title}` targets. Use it to discover the `kind`/`key`/`targetIds` that make up a SegmentFilter. Ids are per-tenant `seq_num` (never internal ids). 0-cost read.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "describe_segment_axes",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "Describe Segment Axes"
}execute_broadcast_launch
Launch the reviewed broadcast from its matching prepared scenario. Call this tool only after final human confirmation of the prepared scenario.
{
"description": "Launch the reviewed broadcast from its matching prepared scenario. Call this tool only after final human confirmation of the prepared scenario.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"payload_hash": {
"description": "Value for payload hash.",
"pattern": "^[a-f0-9]{64}$",
"type": "string"
},
"preparation_id": {
"description": "Value for preparation id.",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$",
"type": "string"
}
},
"required": [
"preparation_id",
"payload_hash"
],
"type": "object"
},
"name": "execute_broadcast_launch",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "money",
"scope": "broadcasts:write",
"title": "Execute Broadcast Launch"
}get_broadcast_status
Poll a broadcast by seqNum: returns its engine-driven status (draft/scheduled/sending/completed/failed/cancelled) and the latest execution progress (recipients/sent/failed), or null execution if it was never launched. Use after execute_broadcast_launch to watch a launch to completion. 0-cost read.
{
"description": "Poll a broadcast by `seqNum`: returns its engine-driven status (draft/scheduled/sending/completed/failed/cancelled) and the latest execution progress (recipients/sent/failed), or null execution if it was never launched. Use after execute_broadcast_launch to watch a launch to completion. 0-cost read.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"seq_num"
],
"type": "object"
},
"name": "get_broadcast_status",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "Get Broadcast Status"
}get_saved_segment
Read a named filter and its current version by per-tenant seq_num.
{
"description": "Read a named filter and its current version by per-tenant seq_num.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
}
},
"required": [
"seq_num"
],
"type": "object"
},
"name": "get_saved_segment",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "Get Saved Segment"
}list_broadcasts
List the tenant broadcasts. Returns each with its seqNum (the id you pass to update/delete), engine-driven status (draft/scheduled/…/completed — read-only), audience description, schedule, TTL and optional button. 0-cost read.
{
"description": "List the tenant broadcasts. Returns each with its `seqNum` (the id you pass to update/delete), engine-driven status (draft/scheduled/…/completed — read-only), audience description, schedule, TTL and optional button. 0-cost read.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "list_broadcasts",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "List Broadcasts"
}list_saved_segments
List named audience filters. seqNum is the per-tenant id you pass to get/update/delete. Follow nextAfterSeqNum to download the complete list.
{
"description": "List named audience filters. seqNum is the per-tenant id you pass to get/update/delete. Follow nextAfterSeqNum to download the complete list.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"afterSeqNum": {
"description": "Value for after Seq Num.",
"maximum": 9007199254740991,
"minimum": 0,
"type": "integer"
},
"limit": {
"default": 100,
"description": "Value for limit.",
"exclusiveMinimum": 0,
"maximum": 500,
"type": "integer"
}
},
"required": [
"limit"
],
"type": "object"
},
"name": "list_saved_segments",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "List Saved Segments"
}list_segment_targets
List the second-level targets of a segmentation kind (e.g. the products for commerce, the events for event) as {seq, title} rows, optionally filtered by a search substring. The seq is what you put in a selection's targetIds. 0-cost read.
{
"description": "List the second-level targets of a segmentation `kind` (e.g. the products for `commerce`, the events for `event`) as `{seq, title}` rows, optionally filtered by a `search` substring. The `seq` is what you put in a selection's `targetIds`. 0-cost read.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"key": {
"description": "Value for key.",
"maxLength": 100,
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"limit": {
"default": 50,
"description": "Value for limit.",
"exclusiveMinimum": 0,
"maximum": 50,
"type": "integer"
},
"search": {
"description": "Value for search.",
"maxLength": 200,
"type": "string"
}
},
"required": [
"kind",
"limit"
],
"type": "object"
},
"name": "list_segment_targets",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "List Segment Targets"
}prepare_broadcast_launch
Prepare launch of a broadcast by its tenant-local seq_num. Review the immutable prepared scenario with a human before execution; this tool never sends a message or spends balance.
{
"description": "Prepare launch of a broadcast by its tenant-local `seq_num`. Review the immutable prepared scenario with a human before execution; this tool never sends a message or spends balance.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
}
},
"required": [
"seq_num"
],
"type": "object"
},
"name": "prepare_broadcast_launch",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "write",
"scope": "broadcasts:write",
"title": "Prepare Broadcast Launch"
}preview_segment_reach
Estimate how many people a filter reaches BEFORE you attach it to a broadcast. Returns {valid, issues, reachable}: a malformed filter is a LOUD zero (valid:false + issues telling you what to fix), so you can tell "your filter is broken" from "the segment is genuinely empty". Build the filter from describe_segment_axes. 0-cost read.
{
"description": "Estimate how many people a `filter` reaches BEFORE you attach it to a broadcast. Returns {valid, issues, reachable}: a malformed filter is a LOUD zero (valid:false + issues telling you what to fix), so you can tell \"your filter is broken\" from \"the segment is genuinely empty\". Build the filter from describe_segment_axes. 0-cost read.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"filter": {
"additionalProperties": {},
"description": "Value for filter.",
"propertyNames": {
"type": "string"
},
"type": "object"
}
},
"required": [
"filter"
],
"type": "object"
},
"name": "preview_segment_reach",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "Preview Segment Reach"
}sample_segment_audience
Return a bounded SAMPLE of the people a filter resolves to, as per-tenant seq_num strings (contacts) — to spot-check a segment before sending. A malformed filter is rejected (fix it with preview_segment_reach first); this never returns a sample from a filter it could not parse. Scope: broadcasts:read. 0-cost read.
{
"description": "Return a bounded SAMPLE of the people a `filter` resolves to, as per-tenant `seq_num` strings (contacts) — to spot-check a segment before sending. A malformed filter is rejected (fix it with preview_segment_reach first); this never returns a sample from a filter it could not parse. Scope: broadcasts:read. 0-cost read.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"filter": {
"additionalProperties": {},
"description": "Value for filter.",
"propertyNames": {
"type": "string"
},
"type": "object"
},
"limit": {
"default": 20,
"description": "Value for limit.",
"exclusiveMinimum": 0,
"maximum": 50,
"type": "integer"
}
},
"required": [
"filter",
"limit"
],
"type": "object"
},
"name": "sample_segment_audience",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:read"
],
"risk": "read",
"scope": "broadcasts:read",
"title": "Sample Segment Audience"
}update_broadcast
Update a broadcast draft by its seqNum (a partial patch — send only the fields you change; status is NOT settable here). Idempotent. Returns the updated broadcast. Errors NOT_FOUND if the seqNum does not exist for your tenant.
{
"description": "Update a broadcast draft by its `seqNum` (a partial patch — send only the fields you change; `status` is NOT settable here). Idempotent. Returns the updated broadcast. Errors NOT_FOUND if the seqNum does not exist for your tenant.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"button_target": {
"anyOf": [
{
"description": "Value for button target option.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for button target option option.",
"properties": {
"kind": {
"const": "delivery_message",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option option.",
"properties": {
"kind": {
"const": "url",
"description": "Value for kind.",
"type": "string"
},
"url": {
"description": "Value for url.",
"format": "uri",
"type": "string"
}
},
"required": [
"kind",
"url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option option.",
"properties": {
"kind": {
"const": "web_app",
"description": "Value for kind.",
"type": "string"
},
"web_app_url": {
"description": "Value for web app url.",
"format": "uri",
"type": "string"
}
},
"required": [
"kind",
"web_app_url"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option option.",
"properties": {
"kind": {
"const": "section_root",
"description": "Value for kind.",
"type": "string"
},
"section": {
"description": "Value for section.",
"enum": [
"catalog",
"booking",
"events"
],
"type": "string"
}
},
"required": [
"kind",
"section"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for button target option option.",
"properties": {
"entity_seq": {
"description": "Value for entity seq.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"entity_type": {
"description": "Value for entity type.",
"enum": [
"product",
"catalog_group",
"menu_group",
"event",
"resource",
"chain_step",
"marketing_campaign",
"marketing_link",
"form"
],
"type": "string"
},
"kind": {
"const": "deeplink",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind",
"entity_type",
"entity_seq"
],
"type": "object"
}
]
},
{
"description": "Value for button target option.",
"type": "null"
}
],
"description": "Value for button target."
},
"button_title": {
"anyOf": [
{
"description": "Value for button title option.",
"maxLength": 100,
"type": "string"
},
{
"description": "Value for button title option.",
"type": "null"
}
],
"description": "Value for button title."
},
"message_ttl_minutes": {
"anyOf": [
{
"description": "Value for message ttl minutes option.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
{
"description": "Value for message ttl minutes option.",
"type": "null"
}
],
"description": "Value for message ttl minutes."
},
"saved_segment_seq_num": {
"anyOf": [
{
"description": "Value for saved segment seq num option.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
},
{
"description": "Value for saved segment seq num option.",
"type": "null"
}
],
"description": "Value for saved segment seq num."
},
"schedule": {
"anyOf": [
{
"additionalProperties": false,
"description": "Value for schedule option.",
"properties": {
"at_local": {
"description": "Value for at local.",
"type": "string"
},
"kind": {
"const": "once",
"description": "Value for kind.",
"type": "string"
}
},
"required": [
"kind",
"at_local"
],
"type": "object"
},
{
"description": "Value for schedule option.",
"type": "null"
}
],
"description": "Value for schedule."
},
"segment_filter": {
"anyOf": [
{
"additionalProperties": false,
"description": "Value for segment filter option.",
"properties": {
"exclude": {
"description": "Value for exclude.",
"items": {
"additionalProperties": false,
"description": "Value for exclude item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"include": {
"description": "Value for include.",
"items": {
"additionalProperties": false,
"description": "Value for include item.",
"properties": {
"any": {
"description": "Value for any.",
"items": {
"additionalProperties": false,
"description": "Value for any item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"any"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
}
},
"required": [
"include",
"exclude"
],
"type": "object"
},
{
"description": "Value for segment filter option.",
"type": "null"
}
],
"description": "Value for segment filter."
},
"segment_labels": {
"anyOf": [
{
"description": "Value for segment labels option.",
"maxLength": 500,
"type": "string"
},
{
"description": "Value for segment labels option.",
"type": "null"
}
],
"description": "Value for segment labels."
},
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"title": {
"description": "Value for title.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"seq_num"
],
"type": "object"
},
"name": "update_broadcast",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "write",
"scope": "broadcasts:write",
"title": "Update Broadcast"
}update_saved_segment
Update a named filter by seq_num and expectedVersion. Existing draft broadcast references see the new filter until launch; launched executions retain their snapshot. A stale version is rejected.
{
"description": "Update a named filter by seq_num and expectedVersion. Existing draft broadcast references see the new filter until launch; launched executions retain their snapshot. A stale version is rejected.",
"domain": "broadcasts",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"bot": {
"description": "Optional slug of the bot you expect to act on (get_active_bot). If the active bot differs, the call is refused with ACTIVE_BOT_CHANGED and nothing runs.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"expectedVersion": {
"description": "Value for expected Version.",
"exclusiveMinimum": 0,
"maximum": 9007199254740991,
"type": "integer"
},
"filter": {
"additionalProperties": false,
"description": "Value for filter.",
"properties": {
"exclude": {
"description": "Value for exclude.",
"items": {
"additionalProperties": false,
"description": "Value for exclude item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"type": "array"
},
"include": {
"description": "Value for include.",
"items": {
"additionalProperties": false,
"description": "Value for include item.",
"properties": {
"any": {
"description": "Value for any.",
"items": {
"additionalProperties": false,
"description": "Value for any item.",
"properties": {
"amountGte": {
"description": "Value for amount Gte.",
"minimum": 0,
"type": "number"
},
"groupTargetIds": {
"description": "Value for group Target Ids.",
"items": {
"description": "Value for group Target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"key": {
"description": "Value for key.",
"minLength": 1,
"type": "string"
},
"kind": {
"description": "Value for kind.",
"enum": [
"preset",
"recipe",
"tag",
"purchase_amount",
"user_event",
"commerce",
"event",
"booking",
"form",
"channel",
"campaign",
"chain",
"chain_step",
"broadcast",
"manual"
],
"type": "string"
},
"period": {
"description": "Value for period.",
"oneOf": [
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "last_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"days": {
"description": "Value for days.",
"maximum": 3650,
"minimum": 1,
"type": "integer"
},
"mode": {
"const": "older_days",
"description": "Value for mode.",
"type": "string"
}
},
"required": [
"mode",
"days"
],
"type": "object"
},
{
"additionalProperties": false,
"description": "Value for period option.",
"properties": {
"from": {
"description": "Value for from.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"mode": {
"const": "between",
"description": "Value for mode.",
"type": "string"
},
"to": {
"description": "Value for to.",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
}
},
"required": [
"mode",
"from",
"to"
],
"type": "object"
}
]
},
"targetIds": {
"description": "Value for target Ids.",
"items": {
"description": "Value for target Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 50,
"minItems": 1,
"type": "array"
},
"userIds": {
"description": "Value for user Ids.",
"items": {
"description": "Value for user Ids item.",
"pattern": "^\\d+$",
"type": "string"
},
"maxItems": 5000,
"minItems": 1,
"type": "array"
}
},
"required": [
"kind",
"key"
],
"type": "object"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
}
},
"required": [
"any"
],
"type": "object"
},
"maxItems": 5,
"type": "array"
}
},
"required": [
"include",
"exclude"
],
"type": "object"
},
"seq_num": {
"description": "Value for seq num.",
"exclusiveMinimum": 0,
"maximum": 2147483647,
"type": "integer"
},
"title": {
"description": "Value for title.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"expectedVersion",
"seq_num"
],
"type": "object"
},
"name": "update_saved_segment",
"outputSchema": null,
"platform_version": "1.0.19",
"required_scopes": [
"broadcasts:write"
],
"risk": "write",
"scope": "broadcasts:write",
"title": "Update Saved Segment"
}