Skip to main content

Campaigns

Bulk notification campaigns.

6 endpoints. Every request needs an Authorization: Bearer mtro_... header, and responses follow the envelope described in Errors and conventions.

POST /campaigns/create​

Create a notification campaign. This can send external communication and should require owner/admin confirmation when used by an agent.

Required scope: any valid API key for the entity.
MCP tool: campaigns_create

Request body

note

Field names are taken from the Core handler, which reads exactly these. Types and which of them are required are not yet documented.

FieldTypeRequiredDescription
actionLabelanyno
actionUrlanyno
channelsanyno
messageanyno
recipientUserIdsanyno
sendToAllanyno
titleanyno

Example

curl -X POST 'https://core.mtro.app/campaigns/create' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'

POST /campaigns/delete​

Delete a notification campaign. This is destructive and should require confirmation when used by an agent.

Required scope: any valid API key for the entity.
MCP tool: campaigns_delete

Request body

note

Field names are taken from the Core handler, which reads exactly these. Types and which of them are required are not yet documented.

FieldTypeRequiredDescription
campaignIdanyno

Example

curl -X POST 'https://core.mtro.app/campaigns/delete' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'

GET /campaigns/get/{campaignId}​

Get a notification campaign by ID.

Required scope: any valid API key for the entity.
MCP tool: campaigns_get

Path parameters

NameTypeRequiredDescription
campaignIdstringyesCampaign ID.

Example

curl -X GET 'https://core.mtro.app/campaigns/get/<campaignId>' \
-H 'Authorization: Bearer mtro_your_api_key'

GET /campaigns/get/all​

List notification campaigns.

Required scope: any valid API key for the entity.
MCP tool: campaigns_list

Example

curl -X GET 'https://core.mtro.app/campaigns/get/all' \
-H 'Authorization: Bearer mtro_your_api_key'

POST /campaigns/resume​

Resume a notification campaign. This changes external communication state and should require confirmation when used by an agent.

Required scope: any valid API key for the entity.
MCP tool: campaigns_resume

Request body

note

Field names are taken from the Core handler, which reads exactly these. Types and which of them are required are not yet documented.

FieldTypeRequiredDescription
campaignIdanyno

Example

curl -X POST 'https://core.mtro.app/campaigns/resume' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'

POST /campaigns/stop​

Stop a notification campaign. This changes external communication state and should require confirmation when used by an agent.

Required scope: any valid API key for the entity.
MCP tool: campaigns_stop

Request body

note

Field names are taken from the Core handler, which reads exactly these. Types and which of them are required are not yet documented.

FieldTypeRequiredDescription
campaignIdanyno

Example

curl -X POST 'https://core.mtro.app/campaigns/stop' \
-H 'Authorization: Bearer mtro_your_api_key' \
-H 'Content-Type: application/json' \
-d '{}'