🚀 New: WhatsApp API now supports two-way multimedia messages globally. Learn more →

Build Faster with Chonry APIs

RESTful APIs, comprehensive SDKs, and sandbox environment. Integrate in minutes.

Explore Docs Get API Key

Get started in 3 steps

From sign-up to production in under 10 minutes.

1

Sign up & Get API Key

Create your free account and get your API key instantly. No credit card required.

2

Test in Sandbox

Use our sandbox environment to test all features with $0 cost. No real messages sent.

3

Go Live

Switch to production keys and start sending real messages to customers worldwide.

cURL
# Send your first SMS message curl -X POST https://api.chonry.com/v2/sms/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+14155552671", "from": "+1234567890", "message": "Your code: 847293" }' # Response { "message_id": "msg_3K9x2m", "status": "delivered", "timestamp": "2025-03-15T10:30:00Z" }

RESTful API Reference

Comprehensive REST API for all messaging and voice services.

POST /v2/sms/send

Send an SMS message to a single recipient or multiple recipients.

Required: to, message Returns: message_id
POST /v2/voice/otp

Send a voice OTP to authenticate users via phone call.

Required: to, code Returns: call_id
POST /v2/whatsapp/send

Send a WhatsApp message using official Business API templates.

Required: to, template Returns: wa_id
GET /v2/messages/{id}

Retrieve the status of a sent message by its unique ID.

Returns: status, timestamps
POST /v2/messages/batch

Send multiple messages in a single API call for efficient bulk operations.

Required: messages[] Max: 1000/batch

Ready-to-use Code Samples

Copy and paste code in your preferred language.

Python
from chonry import Client client = Client("your_api_key") response = client.sms.send( to="+14155552671", message="Your verification code: 847293", from_="+1234567890" ) print(response.message_id)
Node.js
const { Chonry } = require('chonry'); const client = new Chonry('your_api_key'); const response = await client.sms.send({ to: '+14155552671', message: 'Your verification code: 847293', from: '+1234567890' }); console.log(response.message_id);
Java
import com.chonry.Client; import com.chonry.model.MessageResponse; Client client = new Client("your_api_key"); MessageResponse response = client.sms() .send("+14155552671", "Your code: 847293"); System.out.println(response.getMessageId());
PHP
<?php require_once 'vendor/autoload.php'; $client = new \Chonry\Client('your_api_key'); $response = $client->sms->send([ 'to' => '+14155552671', 'message' => 'Your code: 847293', 'from' => '+1234567890' ]); echo $response->message_id;
Go
package main import ( "github.com/chonry/chonry-go" ) func main() { client := chonry.NewClient("your_api_key") resp, _ := client.SMS.Send("+14155552671", "Your code: 847293") println(resp.MessageID) }
cURL
curl -X POST https://api.chonry.com/v2/sms/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+14155552671", "from": "+1234567890", "message": "Your code: 847293" }'

SDKs for Every Language

Official SDKs with full feature support and regular updates.

Py

Python

pip install chonry Documentation →
JS

Node.js

npm install chonry Documentation →
Jv

Java

mvn chonry:java Documentation →
PHP

PHP

composer require chonry Documentation →
Go

Go

go get chonry-go Documentation →
Rb

Ruby

gem install chonry Documentation →

Free Sandbox Environment

Test all features with $0 cost. No credit card required. Full API access in sandbox mode.

  • Test SMS, Voice OTP, WhatsApp, and more
  • Simulated delivery reports and webhooks
  • Identical API to production environment
Get Sandbox Access
Sandbox Active
API Key (Sandbox)
sk_test_•••••••••••••••
0
Messages Sent
0
Errors
0
Avg Latency

Frequently Asked Questions

How do I get an API key?

Sign up for a free account at chonry.com. Your API keys are available immediately in the dashboard under Settings > API Keys.

What is the rate limit?

Sandbox: 100 requests/min. Production varies by plan from 1,000 to 100,000 requests/min.

Can I use multiple sender IDs?

Yes. You can register multiple sender IDs per channel. Each must be approved per country regulations.

Do you support webhooks?

Yes. Configure webhooks in the dashboard to receive real-time delivery reports and inbound messages.

Is there a free tier?

Yes. Free tier includes 100 SMS/month, sandbox access, and all SDKs. No credit card required.

How is pricing calculated?

Pay per message. Rates vary by country and channel. Volume discounts available from 10,000+ messages/month.

Are there monthly fees?

No monthly fees on Pay-as-you-go. Enterprise plans include dedicated support and SLA guarantees.

What payment methods?

Credit cards, bank transfers, and invoicing for enterprise clients. All transactions secured with PCI-DSS.

What format is the API?

RESTful JSON API over HTTPS. All responses return JSON. Authentication via Bearer token.

Do you support batch sending?

Yes. Use POST /v2/messages/batch to send up to 1,000 messages per request efficiently.

What encoding is supported?

UTF-8 by default. GSM-7 for standard SMS and UCS-2 for extended character support.

Is HTTPS required?

Yes. All API calls must use HTTPS. HTTP requests will be rejected with a 403 error.

Is my data encrypted?

Yes. All data encrypted in transit (TLS 1.3) and at rest (AES-256). SOC 2 Type II certified.

Where is data stored?

Data stored in ISO 27001 certified data centers. EU data residency available for GDPR compliance.

Do you support 2FA?

Yes. Dashboard supports TOTP authenticator apps and SMS backup codes for account security.

GDPR compliant?

Yes. Full GDPR compliance with data processing agreements, right to deletion, and data portability.

Ready to start building?

Get your API key in seconds and start integrating. Our team is here to help 24/7.

WhatsApp Us