Tody Android beta is open · Join early access
Business Messaging API

A Business Messaging API engineered for Indian volume, governance, and audit

Send transactional messages, marketing campaigns, OTPs, fee reminders, and service alerts through one REST API — with wallet billing, templates, webhooks, and a delivery lifecycle you can actually monitor.

Capabilities

Everything you need to move messaging into production

The Business API isn’t a single endpoint — it’s a 32-endpoint surface covering registration, identity, templates, sending, wallet, campaigns, webhooks, usage, and quality. Built for scale, not demos.

01

Scoped API keys

Issue keys per environment with explicit scopes for sending, templates, campaigns, and reporting. Rotate keys without breaking webhooks.

02

Template management

Submit, approve, version, and archive templates. Variables are typed (string, number, currency, date). Compliance review built in.

03

Wallet & ledger

Top up via UPI or invoice. Every send is debited atomically. Export ledger for reconciliation. Low-balance alerts are configurable.

04

Campaigns & audiences

Define audience segments by tag or upload CSV. Schedule sends, throttle delivery, monitor in-flight progress, pause or cancel.

05

Webhooks & events

Signed HMAC webhooks for queued, sent, delivered, read, failed, replied. Retry with exponential backoff. Replay endpoint for missed events.

06

Quality & reporting

Daily quality score per template. Per-campaign delivery and read rates. Failure breakdown by reason. CSV export of every metric.

// Send a templated business message
POST /v1/business/send
Authorization: Bearer tchy_live_XXXXXXXXXX
Content-Type: application/json

{
  "recipient": { "tachy_user_id": 12345, "name": "Riya Sharma" },
  "template_code": "fee_reminder_v3",
  "variables": {
    "student_name": "Riya Sharma",
    "amount": "₹ 4,500",
    "due_date": "25 May 2026"
  },
  "category": "transactional",
  "idempotency_key": "fee_2026_05_12345"
}

// Response
{
  "message_id": "msg_0Nq8TzPq...",
  "status": "queued",
  "is_paid": true,
  "estimated_credits": 1
}
Developer first

REST + JSON. No SDK lock-in. Production in under an hour.

Use any HTTP client — curl, Postman, Python requests, Node fetch, PHP cURL, Go net/http. Idempotency keys, HMAC-signed webhooks, and human-readable error codes. The API is versioned so you can pin and migrate safely.

Use cases

From a single OTP to a school-wide campaign

The same API powers single-message workflows and bulk campaigns. Schools, banks, retail, healthcare, and SaaS teams use Tody for the messages that matter.

Transactional

  • OTPs and login codes
  • Receipts and order confirmations
  • Appointment and class reminders
  • Account & service updates

Marketing campaigns

  • Segmented campaigns with audience tags
  • Scheduled sends with throttling
  • A/B template variants
  • Delivery and read analytics

School communication

  • Attendance, fees, exam results
  • Per-class targeting
  • Parent portal sync
  • Holiday and event announcements

Customer support

  • Inbound reply routing via webhooks
  • Templated quick replies
  • Conversation threading
  • Agent assignment hooks
Business API FAQ

Practical questions about adopting the Tody Business API

Answers for developers, finance teams, and operations — the people who actually run business messaging in production.

Register your business via the contact form. After verification you receive a sandbox API key, sample templates, and credits to test the send-flow. Production keys are issued after KYC and template approval.
Tody supports transactional templates (OTPs, receipts, alerts, reminders), promotional templates (campaigns, offers), and utility templates (account updates, service notices). All templates pass through review for compliance.
Billing is wallet-based. Each successfully queued message debits your wallet at the published per-message rate. Failed messages are not billed. The ledger is double-entry and exportable for finance reconciliation.
Yes. Tody sends signed webhook events for queued, sent, delivered, read, failed, and replied states. Webhook URLs are configured per API key with retry and backoff.
Yes. Every request accepts an idempotency_key. Duplicate keys within 24 hours return the original message_id, so retried requests never produce duplicate sends.
Default sandbox keys have a soft limit of 60 requests per minute. Production keys are sized per customer based on use case. Burst capacity and dedicated lanes are available for enterprise plans.

Move messaging into production

Talk to our team about API access, sandbox credits, template review, and integration timelines.