For Agents
Send a message over SMS, MMS, WhatsApp, Viber Service Message, or Facebook Messenger from a single POST endpoint. The channel is selected by the request body.
Get started with Nexmo Messages API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"send a message via nexmo"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Nexmo Messages API API.
Send an SMS via POST / with channel=sms and text content
Send a WhatsApp text or template message via channel=whatsapp
Send a Viber Service Message via channel=viber_service
Send a Facebook Messenger message via channel=messenger
Send rich content (image, audio, video, file) by setting message_type appropriately
GET STARTED
Use for: Send a WhatsApp template message to a number, Send a one-off SMS notification through Nexmo, Send a Messenger image to a Facebook page subscriber, Trigger a Viber Service Message with text content
Not supported: Does not orchestrate failover across channels, register chat-app sender accounts, or surface inbound message webhooks — use only for sending a single message on one of the supported channels.
Jentic publishes the only available OpenAPI document for Nexmo Messages API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Nexmo Messages API, keeping it validated and agent-ready. This messages-olympus slug indexes the same Messages 1.4.0 service exposed at /v1/messages — a single POST / endpoint that sends a message over SMS, MMS, WhatsApp, Viber Service Message, or Facebook Messenger based on the channel field in the request body. The slug name reflects an internal Vonage codename and is functionally identical to the messages-api slug.
Authenticate with either basic auth or an application-scoped JWT bearer token
Patterns agents use Nexmo Messages API API for, with concrete tasks.
★ Unified transactional notifications
Instead of integrating SMS, WhatsApp, Messenger, and Viber separately, applications send through one POST /. The channel field selects the path; the rest of the body carries to, from, and a message_type-shaped payload. Delivery webhooks for every channel arrive on the same application callback URL.
POST / with channel=sms, message_type=text, recipient in to, sender id in from, and message body in text.
WhatsApp template campaigns
Marketing teams send opt-in WhatsApp campaigns by submitting pre-approved templates through POST / with channel=whatsapp and message_type=template. The same endpoint returns a message_uuid, and read and delivery events fan out to the configured webhook for downstream analytics.
POST / with channel=whatsapp, message_type=template, and a template object holding name, namespace, and parameter array.
Single-call cross-channel send by an AI agent
An agent reaches a user without picking a channel ahead of time: through Jentic the agent searches once for 'send a message via nexmo', loads POST /, and executes with whichever channel the user is reachable on. The agent never owns retry timers, signing keys, or per-channel client code.
Search Jentic for 'send a message via nexmo', load POST /, and execute with channel chosen by the user's contact preference.
1 endpoints — jentic publishes the only available openapi specification for nexmo messages api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/
Send a message on the channel specified in the request body
/
Send a message on the channel specified in the request body
Three things that make agents converge on Jentic-routed access.
Credential isolation
Basic credentials and application signing keys are encrypted in the Jentic vault. JWTs are minted server-side per call so the application private key never reaches the agent.
Intent-based discovery
Agents search by intent (e.g., 'send a message via nexmo') and Jentic returns POST / with the full request schema, including each channel's message_type variants.
Time to first call
Direct integration: 1-2 days for JWT signing, channel-specific bodies, and webhooks. Through Jentic: under an hour.
Alternatives and complements available in the Jentic catalogue.
Nexmo External Accounts API
Manages the Messenger, Viber, and WhatsApp sender accounts used by Messages
Register and link external accounts first; then send via Messages on those channels.
Nexmo Dispatch API
Wraps Messages with multi-channel failover workflows
Use Dispatch when one notification should retry on a fallback channel; use Messages for single-channel sends.
Twilio API
Twilio Programmable Messaging covers SMS, WhatsApp, and Messenger as a competing unified send
Pick Twilio when the existing stack already uses Twilio Messaging Services.
Specific to using Nexmo Messages API API through Jentic.
Why is there no official OpenAPI spec for Nexmo Messages API?
Vonage (formerly Nexmo) does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Nexmo Messages API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Nexmo Messages API use?
Either HTTP basic auth (api_key/api_secret) or HTTP bearer with an application-scoped JWT. WhatsApp, Viber Service Message, and Messenger require the JWT path because those channels are tied to a Nexmo application.
Can I send template-based WhatsApp messages with this slug?
Yes. POST / with channel=whatsapp and message_type=template accepts a template object with name, namespace, and parameters. The 202 response carries a message_uuid for status correlation.
What are the rate limits for the Nexmo Messages API?
The OpenAPI spec does not declare rate limits. Channel-specific quotas apply: WhatsApp business tiers, Messenger policy windows, and SMS carrier throughput. The exact figures live on developer.nexmo.com per channel.
How do I send a Messenger image through Jentic?
Search Jentic for 'send a message via nexmo', load POST /, and execute with channel=messenger, message_type=image, the user's PSID in to, the page id in from, and an image url in the body.
How does messages-olympus differ from the messages-api slug?
Both indexes point at the same Messages 1.4.0 service at /v1/messages with the same single POST / endpoint. The messages-olympus name reflects an internal Vonage codename; either slug resolves to the same operation.