Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the CM.com Business Messaging API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fcm.com%2Fcm" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fcm.com%2Fcm" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with CM.com Business Messaging API.
Send SMS, RCS, WhatsApp, Viber and Apple Messages for Business through a single POST /message endpoint
Check whether a phone number supports a specific channel via GET /v1/capabilities/{phoneNumber}
Run bulk capability checks for thousands of numbers in one call to /v1/capabilities
Validate phone number formatting and reachability with GET /numbervalidation/{phoneNumber}
GET STARTED
Perform HLR number lookups to retrieve carrier and roaming status via /numberlookup/{phoneNumber}
Patterns agents use CM.com Business Messaging API for, with concrete tasks.
★ Multi-Channel Customer Notifications
Send time-sensitive notifications such as order confirmations, delivery updates, and OTP codes across SMS, WhatsApp, RCS, and Viber from a single POST /message call. The API accepts a list of recipients and a channel preference, so callers can fall back from a richer channel like RCS to SMS when a number is not reachable. Integration with the unified send endpoint typically takes under a day for SMS-only flows and two to three days when adding template-based WhatsApp.
Send an SMS to +31612345678 with body 'Your order #4521 has shipped' using POST /message and confirm the message status.
Phone Number Validation Before Outreach
Validate phone numbers in user signup and CRM imports before storing them, removing malformed entries and reducing failed-send costs. GET /numbervalidation/{phoneNumber} returns whether the number is correctly formatted and reachable, while /numberlookup/{phoneNumber} adds carrier, country, and roaming detail. Replacing in-house regex validation with this endpoint usually takes under half a day.
Call GET /numbervalidation/+447911123456 and return whether the number is valid and reachable.
Channel Capability Routing
Decide at runtime which messaging channel to use for each recipient by querying capabilities. POST /v1/capabilities accepts a list of numbers and returns per-channel reachability so a marketing or transactional flow can pick RCS where supported and fall back to SMS otherwise. This pattern reduces wasted spend on rich-message attempts that silently fall back to SMS at the operator level.
POST a list of 100 phone numbers to /v1/capabilities and return which numbers support RCS.
AI Agent Messaging Through Jentic
An AI agent uses Jentic to discover and call the CM.com send endpoint without storing the X-CM-PRODUCTTOKEN header value in its own context. The agent searches for 'send an SMS', loads the schema for POST /message, and executes with the recipient and body. Jentic injects credentials at execution time, so the same workflow works in CrewAI, LangChain, or a custom agent loop.
Use Jentic to search for 'send an SMS', load the POST /message schema, and send 'Welcome' to a single recipient.
5 endpoints — jentic publishes the only available openapi specification for cm.
METHOD
PATH
DESCRIPTION
/message
Send messages on SMS, RCS, WhatsApp, Viber, and other channels
/v1/capabilities/{phoneNumber}
Check channel capabilities for a single phone number
/v1/capabilities
Bulk channel capability check
/numbervalidation/{phoneNumber}
Validate a phone number
/numberlookup/{phoneNumber}
HLR-based number lookup
/message
Send messages on SMS, RCS, WhatsApp, Viber, and other channels
/v1/capabilities/{phoneNumber}
Check channel capabilities for a single phone number
/v1/capabilities
Bulk channel capability check
/numbervalidation/{phoneNumber}
Validate a phone number
/numberlookup/{phoneNumber}
HLR-based number lookup
What agents get from Jentic-routed access to this vendor.
Setup
Wiring CM.com by hand means learning its X-CM-PRODUCTTOKEN header auth, targeting gw.messaging.cm.com/v1.0, and handling retries across its messaging channels yourself. Through Jentic you install once, import the CM.com Business Messaging API from the API Directory, store the product token once, and your agent calls it.
Permission scoping
CM.com carries the recipient in the request body rather than as a resource id you own, so scope the agent to the operations it needs, such as checking number capabilities or validating a number. You choose that set, so the send-message operation is not included unless you add it.
Credential isolation
Your CM.com product token is stored once, encrypted, by your own Jentic One instance and injected into the X-CM-PRODUCTTOKEN header at execution time. It never enters the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'send an SMS' or 'validate a phone number', and Jentic returns the matching CM.com operation with its input schema so the agent calls the right endpoint without reading the docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using CM.com Business Messaging API through Jentic.
Why is there no official OpenAPI spec for CM.com Business Messaging API?
CM.com does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call CM.com Business Messaging API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the CM.com Business Messaging API use?
The API uses an API-key scheme called productToken, sent as the X-CM-PRODUCTTOKEN header on every request. Through Jentic the product token is stored encrypted in the vault and injected at execution time, so an agent never sees the raw key in its prompt or logs.
Can I send WhatsApp and RCS messages through the CM.com API?
Yes. The single POST /message endpoint accepts a channel hint and supports SMS, RCS, WhatsApp, Viber, Apple Messages for Business, and other conversational channels. Check reachability first with GET /v1/capabilities/{phoneNumber} before attempting a richer channel.
What are the rate limits for the CM.com Business Messaging API?
The OpenAPI spec does not declare numeric rate limits. CM.com applies tenant-specific throughput based on your account tier and channel; high-volume SMS and bulk capability checks should be paginated and throttled client-side. Confirm your account limits with CM.com support before large bulk runs.
How do I validate a phone number with the CM.com API through Jentic?
Search Jentic for 'validate a phone number', load the GET /numbervalidation/{phoneNumber} schema, and execute with the E.164 number. The response indicates whether the number is correctly formatted and reachable. Install the SDK with pip install jentic and call it via the async client.
Does the CM.com API support bulk channel capability checks?
Yes. POST /v1/capabilities accepts a list of phone numbers and returns per-channel reachability for each, which is the preferred path when routing thousands of recipients across SMS, RCS and WhatsApp in a single workflow.
Can I limit what my agent is allowed to do with the CM.com Business Messaging API?
Yes. Jentic One runs self-hosted, so your own rules decide which CM.com operations the agent may call and when its product token is used. Because CM.com carries the recipient in the request body rather than as a resource you own, you scope the agent to just the operations it needs, such as GET /numbervalidation/{phoneNumber} or the capability checks on /v1/capabilities, and leave POST /message out unless you explicitly add sending. The token is injected only for the operations you permit, so an agent granted lookup and validation access cannot send a message.
Know of an official OpenAPI document? Contribute it →
For Agents
Send SMS, RCS, WhatsApp, Viber and other channel messages, validate phone numbers, and check which messaging channels a number supports.
Use for: I need to send an SMS to a customer in the Netherlands, Send a WhatsApp template message via CM.com, Check whether a phone number can receive RCS messages, Validate a phone number before adding it to my contact list
Not supported: Does not handle voice calls, email delivery, or in-app push notifications - use for SMS, RCS, WhatsApp, and other channel messaging plus number validation only.
Jentic publishes the only available OpenAPI specification for CM.com Business Messaging API, keeping it validated and agent-ready. The API delivers messages across SMS, RCS, WhatsApp, Viber, Apple Messages for Business, and other conversational channels through a single send endpoint that accepts a list of recipients and a channel-specific payload. It also provides number validation, HLR-based number lookup, and per-channel capability checks so callers can confirm whether a given mobile number can receive a particular message type before sending.