API reference
One page per area of the public contract, generated from openapi.json: what each route takes, what it returns and a curl call to get started.
- 125 operations
- Base URL
https://api.messages.ccxcompany.co
The technical text below comes from the public contract, openapi.json, in the language the contract was written in.
The areas of the contract
Each area opens with an introduction and lists its operations, with parameters, body, responses and the curl example.
WhatsApp messages
Send WhatsApp messages (text, template, media or flow) from one of your numbers, list the history with filters and check the status of each send.
GET/messagesPOST/messagesGET/messages/{id}3 operationsSee the referenceSMS
Send SMS with an Idempotency-Key, work out segments and price before sending, look up each message and read the replies (MO) your recipients sent back.
GET/v2/sms/messagesPOST/v2/sms/messagesPOST/v2/sms/preview6 operationsSee the referenceRCS
Send RCS messages with SMS fallback, list the sends in your key's environment and check which channel each message actually reached the device on.
GET/v2/rcs/messagesPOST/v2/rcs/messagesGET/v2/rcs/messages/{id}3 operationsSee the referenceEmail
Send email with a required Idempotency-Key, list the sends in your key's environment and follow each one's status: delivered, bounced or complained.
GET/v2/email/messagesPOST/v2/email/messagesGET/v2/email/messages/{id}3 operationsSee the referencePush notifications
Register your app's devices, send push to a segment or to specific devices, preview reach and cost before sending, and count deliveries and opens.
POST/v2/push/tokensPOST/v2/push/tokens/opt-outPOST/v2/push/dispatches/{id}/opened7 operationsSee the referenceMedia
Upload images, audio, video and documents to Meta and get a mediaId you can reuse in sends, or download the media attached to a message you received.
POST/numbers/{numberId}/mediaPOST/numbers/{numberId}/media/binaryGET/messages/{id}/media3 operationsSee the referenceWhatsApp templates
List your organization's WhatsApp templates with each one's id, language and variables, read a single template by id and create new ones as drafts.
GET/v2/templatesPOST/v2/templatesGET/v2/templates/{id}3 operationsSee the referenceWhatsApp Flows
Read your organization's WhatsApp Flows, each with its flowJson, so you can send forms and interactive screens through the WhatsApp messages API.
GET/v2/flowsGET/v2/flows/{id}2 operationsSee the referenceWhatsApp numbers
List your organization's WhatsApp numbers, check each one's status, quality and messaging tier straight from Meta, and track send volume over time.
GET/numbersGET/numbers/{id}GET/numbers/{id}/health5 operationsSee the referenceWebhooks
Subscribe endpoints to receive HMAC-signed events, validate a URL before subscribing, pause or delete a subscription and rotate the secret at any time.
GET/webhooksPOST/webhooksPOST/webhooks/validate7 operationsSee the referenceContacts
Create, update, bulk import and delete contacts, record who asked not to receive messages and look up the fields available in your contact base.
GET/contactsPOST/contactsGET/contacts/{id}8 operationsSee the referenceStatic lists
Keep static contact lists in sync with your system: create, rename and delete lists, and add, replace or remove up to 50,000 members per call.
GET/v2/listsPOST/v2/listsGET/v2/lists/{id}8 operationsSee the referenceSegments
Build dynamic segments by tag, attribute, opt-in, channel or last interaction, preview the count and a sample before saving, and edit saved ones.
GET/v2/segmentsPOST/v2/segmentsGET/v2/segments/{segmentId}6 operationsSee the referenceContact attributes
Define your organization's custom contact attributes, with type and label, and read the dictionary that validates each contact's attributes field.
GET/v2/organizations/me/custom-attribute-defsPUT/v2/organizations/me/custom-attribute-defs2 operationsSee the referenceCustomer events
Record purchases and other conversions from your system, attributed to the last message sent to the contact within the window (7 days by default).
GET/v2/eventsPOST/v2/events2 operationsSee the referenceJourneys
Create draft journeys, test them with a contact, activate, pause or archive them, enroll contacts and follow the runs and the numbers for each step.
GET/v2/journeysPOST/v2/journeysGET/v2/journeys/{id}15 operationsSee the referenceCRM and sales pipelines
Companies, pipelines, stages and cards: bulk import, move cards between stages, mark them won or lost and log each card's activities, fields and files.
GET/v2/companiesPOST/v2/companiesPOST/v2/companies/import35 operationsSee the referenceConversation import
Bring conversation history from another tool into the inbox, up to 200 per call, without sending any message, without a charge and without duplicates.
POST/conversations/import1 operationSee the referenceMessage exports
Export WhatsApp, SMS, RCS and email messages for a period of up to 31 days, with cursor pagination and the correlation metadata of each send.
GET/v2/exports/whatsappGET/v2/exports/smsGET/v2/exports/rcs4 operationsSee the referenceWallet balance
Check the wallet balance in your key's environment, test or live, and the amount held by sends in flight, so you can raise an alert before it runs out.
GET/wallet1 operationSee the referencePlatform health
A public, unauthenticated endpoint for your monitor: in one call it tells you whether the platform is up and whether the SMS provider is answering.
GET/health/deep1 operationSee the reference
Stuck on a route? Talk to the people who run the API.
Sign up through the site and get a US$5 test credit.