


Clean REST endpoints, signed webhooks, and a sandbox that behaves like production. Everything you need to ship communication features fast.
Jump straight to the part of the platform you need.
const response = await fetch(
"https://api.messagecrafts.com/v1/messages",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.MC_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
channel: "whatsapp",
to: "+14155550142",
template: "order_shipped",
variables: { order_id: "4821" },
fallback: ["sms"],
}),
}
);
const message = await response.json();
console.log(message.id, message.status);# All API requests are authenticated with a Bearer token.
# Create scoped keys in the dashboard: Settings → API Keys.
curl https://api.messagecrafts.com/v1/account \
-H "Authorization: Bearer mc_live_9f2c8e7a..." Predictable, resource-oriented endpoints. JSON in, JSON out, meaningful HTTP status codes throughout.
POST /v1/messages HTTP/1.1
Host: api.messagecrafts.com
Authorization: Bearer mc_live_9f2c8e7a...
Content-Type: application/json
{
"channel": "sms",
"to": "+14155550142",
"from": "MSGCRAFTS",
"body": "Your MessageCrafts verification code is 482910.",
"callback_url": "https://example.com/webhooks/status"
}HTTP/1.1 201 Created
Content-Type: application/json
{
"id": "msg_01J8ZQ4K2N",
"status": "accepted",
"channel": "sms",
"to": "+14155550142",
"segments": 1,
"price": { "amount": "0.0068", "currency": "USD" },
"created_at": "2026-08-01T10:24:08Z"
}Subscribe to delivery receipts, inbound messages, and account events. Every payload is HMAC-signed, and failed deliveries retry with exponential backoff for up to 24 hours.
// Webhook payload — POST to your callback_url, signed
// with an HMAC-SHA256 signature in X-MC-Signature.
{
"event": "message.delivered",
"message_id": "msg_01J8ZQ4K2N",
"channel": "sms",
"to": "+14155550142",
"delivered_at": "2026-08-01T10:24:11Z",
"carrier": "T-Mobile US"
}Every endpoint, pre-configured with environment variables for sandbox and live keys. Fork it and start sending in one click.
Free sandbox access, no credit card required. Your first hundred test messages are on us.