{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/api-evangelist/magicbell/main/json-schema/magicbell-broadcast.json", "title": "Broadcast", "required": [ "title", "recipients" ], "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "category": { "maxLength": 255, "pattern": "^[A-Za-z0-9_\\.\\-/:]+$", "type": "string", "nullable": true }, "content": { "maxLength": 10485760, "type": "string", "nullable": true }, "created_at": { "type": "string", "description": "The timestamp when the broadcast was created.", "format": "date-time", "readOnly": true }, "custom_attributes": { "type": "object", "nullable": true }, "id": { "type": "string", "description": "The unique id for this broadcast." }, "overrides": { "type": "object", "properties": { "channels": { "type": "object", "properties": { "email": { "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "content": { "maxLength": 1048576, "type": "string" }, "title": { "maxLength": 255, "minLength": 1, "type": "string" } } }, "in_app": { "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "content": { "maxLength": 1048576, "type": "string" }, "title": { "maxLength": 255, "minLength": 1, "type": "string" } } }, "mobile_push": { "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "content": { "maxLength": 1048576, "type": "string" }, "title": { "maxLength": 255, "minLength": 1, "type": "string" } } }, "slack": { "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "content": { "maxLength": 1048576, "type": "string" }, "title": { "maxLength": 255, "minLength": 1, "type": "string" } } }, "sms": { "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "content": { "maxLength": 1048576, "type": "string" }, "title": { "maxLength": 255, "minLength": 1, "type": "string" } } }, "web_push": { "type": "object", "properties": { "action_url": { "maxLength": 2048, "type": "string", "nullable": true }, "content": { "maxLength": 1048576, "type": "string" }, "title": { "maxLength": 255, "minLength": 1, "type": "string" } } } } }, "providers": { "type": "object", "properties": { "amazon_ses": { "type": "object" }, "android": { "type": "object" }, "ios": { "type": "object" }, "mailgun": { "type": "object" }, "postmark": { "type": "object" }, "sendgrid": { "type": "object" }, "slack": { "type": "object" } } } }, "additionalProperties": false, "nullable": true }, "recipients": { "maxItems": 1000, "minItems": 1, "type": "array", "items": { "type": "object", "oneOf": [ { "$ref": "#/components/schemas/topic" }, { "$ref": "#/components/schemas/user" } ] } }, "status": { "required": [ "status", "summary", "errors" ], "type": "object", "properties": { "errors": { "type": "array", "items": { "type": "object", "properties": { "message": { "type": "string" } } }, "nullable": true }, "status": { "enum": [ "enqueued", "processing", "processed" ], "type": "string", "readOnly": true }, "summary": { "required": [ "total", "failures" ], "type": "object", "properties": { "failures": { "type": "integer", "description": "The number of failures while processing the broadcast.", "readOnly": true }, "total": { "type": "integer", "description": "The number of recipients that the broadcast was sent to.", "readOnly": true } } } } }, "title": { "maxLength": 255, "minLength": 1, "type": "string" }, "topic": { "maxLength": 255, "pattern": "^[A-Za-z0-9_\\.\\-/:]+$", "type": "string", "nullable": true } }, "example": { "action_url": "https://example.com", "category": "example", "content": "Hello, World!", "custom_attributes": {}, "id": "d1b3b3b3-3b3b-3b3b-3b3b-3b3b3b3b3b3b", "overrides": {}, "recipients": [ { "custom_attributes": { "plan": "enterprise", "preferred_pronoun": "They", "pricing_version": "v10" }, "email": "test@example.com", "external_id": "83d987a-83fd034", "first_name": "Person", "last_name": "Doe", "phone_numbers": [ "+1 5005550001" ] } ], "title": "Hello, World!", "topic": "example" } }