MENU

- Endpoints
- OPTIONS api/v1/events
- Ingest an event and trigger deliveries.
- Get a message record.
- Get delivery runs and attempts for a message.
- Replay a message with current active templates.
- Cancel a scheduled delivery run.
- Get current usage for the authenticated environment's tenant.
- Get plan limits and entitlements for the authenticated environment's tenant.
- Last updated: January 31, 2026
Introduction
This documentation aims to provide all the information you need to work with our API.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>Authenticating requests
This API is not authenticated.
Endpoints
OPTIONS api/v1/events
Example request:
curl --request OPTIONS \
"http://localhost:8403/api/v1/events" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/events"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "OPTIONS",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Ingest an event and trigger deliveries.
Example request:
curl --request POST \
"http://localhost:8403/api/v1/events" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/events"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Get a message record.
Example request:
curl --request GET \
--get "http://localhost:8403/api/v1/messages/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/messages/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header",
"request_id": "unknown"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Get delivery runs and attempts for a message.
Example request:
curl --request GET \
--get "http://localhost:8403/api/v1/messages/architecto/deliveries" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/messages/architecto/deliveries"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header",
"request_id": "unknown"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Replay a message with current active templates.
Creates new delivery runs for the message using current active templates. Replay is immediate (does not preserve original delay).
Example request:
curl --request POST \
"http://localhost:8403/api/v1/messages/architecto/replay" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/messages/architecto/replay"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Cancel a scheduled delivery run.
Only allowed for runs in scheduled state. Creates an attempt record with error_code=scheduled_cancelled for auditability.
Example request:
curl --request POST \
"http://localhost:8403/api/v1/delivery-runs/architecto/cancel" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/delivery-runs/architecto/cancel"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Get current usage for the authenticated environment's tenant.
Example request:
curl --request GET \
--get "http://localhost:8403/api/v1/usage/current" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/usage/current"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header",
"request_id": "unknown"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.Get plan limits and entitlements for the authenticated environment's tenant.
Example request:
curl --request GET \
--get "http://localhost:8403/api/v1/limits" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"http://localhost:8403/api/v1/limits"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"error": {
"code": "unauthorized",
"message": "Missing or invalid Authorization header",
"request_id": "unknown"
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.