Your ideas.
Connected to BooSend.
Connect your apps to BooSend. Read your data, manage contacts and keep your knowledge bases in sync with a simple request.
Get your key
In Settings, open API Access and click Generate API Key. Your existing key works too.
Open settingsChoose an action
Find an operation on the left. Each page tells you exactly which fields to send.
Make a request
Use an HTTP Request step in Make, n8n, or Zapier. Or download the agent skill and give it to your coding agent.
Your first request
Start safely: this example lists contacts. It does not change anything.
/v1/operations/list_contactscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_contacts' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"limit": 10
}'Using a no-code tool
Choose POST, paste the full URL, add an Authorization header with Bearer YOUR_API_KEY, and set the body type to JSON. Use the fields from the operation page. You do not need an MCP client.
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Keep it on your server or in your no-code tool’s secret store. Never paste it into public browser code or chat. Regenerating it in Settings revokes the old key immediately.
Errors, limits & safe retries
401Key missing, invalid, or regenerated.
422A field is missing, has the wrong type, or is not supported.
429Rate limit reached. Wait for the Retry-After header.
500 / 503Unexpected error or temporary unavailability. Save the request_id.
Requests are limited to 64 KB and 60 per minute per account per server instance. Long automation builds can take longer than ordinary reads. AI operations use the same credits and confirmation rules as MCP. Never automatically retry writes: this API does not add a general idempotency layer.
List Automations
Search and list automations by name, status, or folder.
/v1/operations/list_automationscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_automations' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch in name and description
statusstringOptionale.g. 'active', 'draft'
folder_namestringOptionalFilter by folder name
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Contacts
Search and list contacts by name, email, tags, or status. Searches across username, name, email, phone, and company.
/v1/operations/list_contactscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_contacts' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch by username, name, email, phone, or company
statusstringOptionalactive, blocked, or archived
tagstringOptionalFilter by tag
account_namestringOptionalInstagram account name to scope contacts. Uses primary account if not provided.
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Dashboard Stats
Get dashboard overview stats (conversations, contacts, AI costs).
/v1/operations/get_dashboard_statscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_dashboard_stats' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
account_namestringOptionalInstagram username. Uses primary account if not provided.
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Conversations
List recent Instagram DM conversations with last message preview and contact info. Optionally search by contact name or username.
/v1/operations/list_conversationscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_conversations' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch by contact name or Instagram username
account_namestringOptionalInstagram account name. Uses primary account if not provided.
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Messages
Get Instagram DM messages. Search by contact name to get a specific conversation, or search by message content (keyword + semantic meaning) across all conversations.
/v1/operations/get_messagescurl --request POST 'https://mcp.boosend.ai/v1/operations/get_messages' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
contact_namestringOptionalContact name or username to get messages for
searchstringOptionalSearch within messages — finds keyword matches and similar meaning
directionstringOptional'in' (received) or 'out' (sent)
account_namestringOptionalInstagram account name. Only provide to filter results to a specific account — searches all accounts by default.
days_backnumberOptionalHow many days back to search (default 30, max 90)
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Automation Executions
Get historical execution runs for automations — all past runs including completed, failed, and currently running. Use to diagnose failures or see run history.
/v1/operations/get_automation_executionscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_automation_executions' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalAutomation name to search for
automation_idstringOptionalAutomation ID (use if name is ambiguous)
statusstringOptionalrunning, paused, done, failed, or completed
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Instagram Accounts
List all connected Instagram accounts with follower counts and status.
/v1/operations/list_instagram_accountscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_instagram_accounts' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
No fields needed. Send {}.
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Analytics
Get messaging analytics — messages sent/received, automated responses, response rate.
/v1/operations/get_analyticscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_analytics' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
account_namestringOptionalInstagram username. Uses primary account if not provided.
date_fromstringOptionalStart date (YYYY-MM-DD)
date_tostringOptionalEnd date (YYYY-MM-DD)
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 30
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Scheduled Posts
List scheduled Instagram posts by caption content or status.
/v1/operations/list_scheduled_postscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_scheduled_posts' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch in post caption
statusstringOptionalscheduled, published, or failed
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Automation Sessions
Get automation conversation sessions — see which contacts are in an automation flow and their state (open, handoff to human, or closed).
/v1/operations/get_automation_sessionscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_automation_sessions' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalAutomation name
automation_idstringOptionalAutomation ID (use if name is ambiguous)
contact_namestringOptionalContact name or username
statestringOptionalopen, handoff, or closed
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Tracking Links
List tracking links by name or destination URL.
/v1/operations/list_tracking_linkscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_tracking_links' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch in name and destination URL
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Usage Analytics
Get AI usage analytics — tokens used, costs, usage by automation and by day.
/v1/operations/get_usage_analyticscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_usage_analytics' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
periodstringOptional'day', 'week', or 'month' (default: month)
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Automation Triggers
See how automations are wired — what keywords, events, or conditions trigger them.
/v1/operations/list_automation_triggerscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_automation_triggers' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalAutomation name to filter by
automation_idstringOptionalAutomation ID (use if name is ambiguous)
typestringOptionalTrigger type: message, comment, story_reply, follow, etc.
searchstringOptionalSearch within trigger keywords
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Contact Segments
List audience segment definitions and their AI/filter prompts.
/v1/operations/list_contact_segmentscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_contact_segments' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch by segment name
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Team Members
List all team members on your account with their roles, access levels, and activity. Optionally filter by email, role, or status.
/v1/operations/list_team_memberscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_team_members' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalFilter by email
rolestringOptionalFilter by role
statusstringOptionalFilter by status
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Workspaces
List workspaces.
/v1/operations/list_workspacescurl --request POST 'https://mcp.boosend.ai/v1/operations/list_workspaces' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch by workspace name
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Telegram Messages
Get Telegram messages. Search by bot name, message text, or direction.
/v1/operations/get_telegram_messagescurl --request POST 'https://mcp.boosend.ai/v1/operations/get_telegram_messages' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
bot_namestringOptionalBot username to filter by
searchstringOptionalSearch in message text
directionstringOptionalinbound or outbound
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 30
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Telegram Bots
List all connected Telegram bots with status and health info.
/v1/operations/list_telegram_botscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_telegram_bots' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
No fields needed. Send {}.
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Whatsapp Messages
Get WhatsApp messages. Search by account, message text, or direction.
/v1/operations/get_whatsapp_messagescurl --request POST 'https://mcp.boosend.ai/v1/operations/get_whatsapp_messages' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
account_namestringOptionalWhatsApp account display name or phone number
searchstringOptionalSearch in message text
directionstringOptionalMessage direction
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 30
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Whatsapp Accounts
List all connected WhatsApp Business accounts.
/v1/operations/list_whatsapp_accountscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_whatsapp_accounts' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
No fields needed. Send {}.
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Ai Credit Usage
See AI credit balance, spending, and per-automation costs.
/v1/operations/get_ai_credit_usagecurl --request POST 'https://mcp.boosend.ai/v1/operations/get_ai_credit_usage' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
typestringOptionaltopup, usage, auto_topup, or initial_credit
Allowed: topup, usage, auto_topup, initial_credit
searchstringOptionalSearch in description or model used
date_fromstringOptionalStart date (YYYY-MM-DD)
date_tostringOptionalEnd date (YYYY-MM-DD)
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 30
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Automation Stats
Get per-automation performance stats (execution counts, success rate, unique contacts).
/v1/operations/get_automation_statscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_automation_stats' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalAutomation name to get stats for
automation_idstringOptionalAutomation ID (use if name is ambiguous)
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Tracking Link Clicks
Get detailed click data for a tracking link — when, what browser, where from.
/v1/operations/get_tracking_link_clickscurl --request POST 'https://mcp.boosend.ai/v1/operations/get_tracking_link_clicks' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"tracking_link_name": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
tracking_link_namestringRequiredTracking link name or destination URL
date_fromstringOptionalStart date (YYYY-MM-DD)
date_tostringOptionalEnd date (YYYY-MM-DD)
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 30
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Integrations
See all connected third-party tools and integrations.
/v1/operations/list_integrationscurl --request POST 'https://mcp.boosend.ai/v1/operations/list_integrations' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
No fields needed. Send {}.
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Update Contact
Update a contact — change tags, status, notes, email, phone, company, or custom fields.
/v1/operations/update_contactcurl --request POST 'https://mcp.boosend.ai/v1/operations/update_contact' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"contact_name": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
contact_namestringRequiredContact name or username to update
tagsarrayOptionalReplace tags with these values
View nested schema
{
"description": "Replace tags with these values",
"type": "array",
"items": {
"type": "string"
}
}statusstringOptionalactive, blocked, or archived
notesstringOptionalUpdate notes
emailstringOptionalUpdate email
phonestringOptionalUpdate phone
companystringOptionalUpdate company
custom_fieldsvalueOptionalUpdate custom fields (JSONB)
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Toggle Automation
Activate or deactivate an automation by name or ID.
/v1/operations/toggle_automationcurl --request POST 'https://mcp.boosend.ai/v1/operations/toggle_automation' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"action": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalAutomation name
automation_idstringOptionalAutomation ID (use if name is ambiguous)
actionstringRequired'activate' or 'deactivate'
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Create Tracking Link
Create a new tracking link.
/v1/operations/create_tracking_linkcurl --request POST 'https://mcp.boosend.ai/v1/operations/create_tracking_link' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"name": "REPLACE_ME",
"destination_url": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
namestringRequiredName for the tracking link
destination_urlstringRequiredDestination URL
link_typestringOptional'tracking' or 'deep' (default: tracking)
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Duplicate Automation
Clone an existing automation — copies the full graph (nodes, edges) and compiles to generate proper triggers.
/v1/operations/duplicate_automationcurl --request POST 'https://mcp.boosend.ai/v1/operations/duplicate_automation' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalName of the automation to duplicate
automation_idstringOptionalAutomation ID (use if name is ambiguous)
new_namestringOptionalName for the copy (default: "Copy of <original name>")
instagram_accountstringOptionalInstagram username to attach the copy to. Defaults to same account as the original.
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Update Automation Triggers
Create or update trigger keywords/settings on an automation. If the automation has no triggers yet, creates one. Edits the trigger node in the graph and recompiles so triggers are properly synced to the database.
/v1/operations/update_automation_triggerscurl --request POST 'https://mcp.boosend.ai/v1/operations/update_automation_triggers' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
automation_namestringOptionalAutomation name
automation_idstringOptionalAutomation ID (use if name is ambiguous)
condition_indexnumberOptionalIndex of the trigger condition to update (0-based). If omitted, updates all conditions. Ignored when creating a new trigger.
trigger_typestringOptionalTrigger type: 'message', 'comment', 'story_reply', 'follow', 'live_comment', 'telegram_message', 'whatsapp_message', 'web_chat'. Required when creating a new trigger, defaults to 'message'.
keywordsarrayOptionalNew keywords array (replaces existing keywords)
View nested schema
{
"description": "New keywords array (replaces existing keywords)",
"type": "array",
"items": {
"type": "string"
}
}add_keywordsarrayOptionalKeywords to add to the existing list
View nested schema
{
"description": "Keywords to add to the existing list",
"type": "array",
"items": {
"type": "string"
}
}remove_keywordsarrayOptionalKeywords to remove from the existing list
View nested schema
{
"description": "Keywords to remove from the existing list",
"type": "array",
"items": {
"type": "string"
}
}message_detection_typestringOptionalDetection type: 'keywords', 'intent', or 'advanced_intent'
intent_descriptionstringOptionalAI intent description (for intent-based detection)
media_targetstringOptional'all', 'specific', or 'next'
media_idstringOptionalSpecific media ID (when media_target is specific)
story_targetstringOptional'all' or 'specific'
story_idstringOptionalSpecific story ID (when story_target is specific)
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
List Knowledge Bases
List the user's knowledge bases (active and inactive). "active" means the automations may use it.
/v1/operations/list_knowledge_basescurl --request POST 'https://mcp.boosend.ai/v1/operations/list_knowledge_bases' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
searchstringOptionalSearch in name and description
limitnumberOptionalSee the OpenAPI schema for the full definition.
Default: 20
offsetnumberOptionalSee the OpenAPI schema for the full definition.
Default: 0
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Get Knowledge Base
Read a knowledge base's full text (what the AI agents see).
/v1/operations/get_knowledge_basecurl --request POST 'https://mcp.boosend.ai/v1/operations/get_knowledge_base' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"knowledge_base_name": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
knowledge_base_namestringRequiredKnowledge base name
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Set Knowledge Base
Replace a knowledge base's entire text. Use this to re-publish — it overwrites, so it can never create duplicates.
/v1/operations/set_knowledge_basecurl --request POST 'https://mcp.boosend.ai/v1/operations/set_knowledge_base' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"knowledge_base_name": "REPLACE_ME",
"content": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
knowledge_base_namestringRequiredKnowledge base name
contentstringRequiredThe full new text for the knowledge base
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Append To Knowledge Base
Add a block of text to the end of a knowledge base (kept separate by a blank line). To avoid duplicates when re-publishing, prefer set_knowledge_base.
/v1/operations/append_to_knowledge_basecurl --request POST 'https://mcp.boosend.ai/v1/operations/append_to_knowledge_base' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"knowledge_base_name": "REPLACE_ME",
"text": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
knowledge_base_namestringRequiredKnowledge base name
textstringRequiredThe block to append
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Create Knowledge Base
Create a new knowledge base. Pass `content` to give it text now, or add it later with set_knowledge_base.
/v1/operations/create_knowledge_basecurl --request POST 'https://mcp.boosend.ai/v1/operations/create_knowledge_base' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"name": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
namestringRequiredName for the knowledge base
descriptionstringOptionalWhat this knowledge base is for
contentstringOptionalInitial text
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Update Knowledge Base
Rename a knowledge base or turn it on/off for automations (status active | inactive).
/v1/operations/update_knowledge_basecurl --request POST 'https://mcp.boosend.ai/v1/operations/update_knowledge_base' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"knowledge_base_name": "REPLACE_ME"
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
knowledge_base_namestringRequiredCurrent knowledge base name
new_namestringOptionalRename to this
descriptionstringOptionalNew description
statusstringOptional"active" = automations may use it
Allowed: active, inactive
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.
Delete Knowledge Base
Permanently delete a knowledge base. This cannot be undone.
/v1/operations/delete_knowledge_basecurl --request POST 'https://mcp.boosend.ai/v1/operations/delete_knowledge_base' \
--header "Authorization: Bearer $BOOSEND_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"knowledge_base_name": "REPLACE_ME",
"confirm": true
}'Request fields
Send a JSON object. Unknown fields are rejected so typos never silently disappear.
knowledge_base_namestringRequiredKnowledge base name
confirmbooleanRequiredMust be true to actually delete
The response
{
"data": "The result of your operation",
"request_id": "A unique ID for support"
}Response data varies by operation. This envelope is always the same; request_id helps support trace a request.