Channels MCP Self-Host Agencies Pricing Docs Start Free โ†’
๐Ÿ“š Developer Docs

Ship messaging on Jina Connect

Open-source CPaaS for WhatsApp, Voice, Telegram, SMS & RCS. Read the source, run it on your own infra, or talk to our hosted API โ€” first message in under 10 minutes.

v1.0.0 ๐Ÿ”“ AGPL v3 โ˜… View on GitHub โ†’

Quickstart

There are three ways to go from zero to your first message. Pick whichever fits your stack โ€” all of them share the same API and data model.

โ˜๏ธ

1 ยท Hosted Cloud

Sign up at jinaconnect-dev, grab your API key, and send your first message in 5 minutes. Free tier included.

๐Ÿณ

2 ยท Self-Host

Clone the repo and run docker compose up. API, workers, Postgres, Redis & the web app come up locally โ€” zero data leaves your network.

๐Ÿค–

3 ยท MCP for Agents

Add the MCP server to Claude Desktop, Cursor or Continue.dev. AI agents send messages as native tools โ€” no glue code.

5-minute hosted quickstart

Once you have a live API key, send your first WhatsApp template message:

send-message.sh
# Send a WhatsApp template message
$ curl -X POST https://api.jinaconnect.com/wa/v1/messages/ \
  -H "Authorization: Bearer jc_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+919876543210",
    "template": "order_confirmation",
    "language": "en",
    "variables": ["Amit", "ORD-1729"]
  }'
โ†’ 202 Accepted ยท queued for delivery

Authentication

Jina Connect uses JWT-based authentication with API keys scoped per tenant. Every request carries the API key as a Bearer token in the Authorization header.

  • Live keys start with jc_live_ โ€” billed against your plan.
  • Sandbox keys start with jc_test_ โ€” sandbox traffic never bills.

For interactive sessions (dashboard, admin), the backend issues access & refresh tokens through the POST /token/ endpoint. See the API Reference for the full auth flow and token rotation details.

REST API

Everything you can do in the dashboard is available over a single, consistent REST API. One base URL, JSON in and out, per-tenant keys, and the same envelope across every channel.

Base URL

Hosted production traffic uses https://api.jinaconnect.com. Self-hosted deployments expose the identical routes under your own domain.

Send a message

Channel-specific endpoints accept a small, predictable payload. The WhatsApp send endpoint is shown below โ€” Voice, Telegram, SMS and RCS follow the same shape under their own prefixes.

api.sh
# Authenticate every request with your tenant key
$ curl -X POST https://api.jinaconnect.com/wa/v1/messages/ \
  -H "Authorization: Bearer jc_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "to": "+919876543210", "text": "Hi from Jina Connect" }'
โ†’ 202 Accepted ยท { "id": "msg_โ€ฆ", "status": "queued" }

For the complete endpoint catalogue โ€” messages, templates, contacts, broadcasts, voice calls, wallets and reports โ€” see the full API Reference โ†’.

Channels

Every channel ships as a self-contained Django app with its own adapters, templates and webhook handlers. Five channels are live today; Email is on the roadmap.

  • WhatsApp Live โ€” Meta Cloud API direct plus Gupshup BSP. Templates, broadcasts, two-way and media.
  • Voice Live โ€” 5 HTTP providers + 12 SIP trunks. IVR compiler, recordings, transcription. See Voice โ†’
  • Telegram Live โ€” Bot API + webhooks. Templates, broadcasts, contacts and two-way messaging.
  • SMS Live โ€” Twilio ยท MSG91 ยท Fast2SMS. Multi-provider routing with DLR webhooks.
  • RCS Live โ€” Google RBM + Meta RCS. Rich cards, suggested replies and carousels.
  • Email Soon โ€” transactional + campaign email through the same unified flows.

Voice

Programmable voice with a unified API across 5 HTTP voice providers (Twilio, Plivo, Vonage, Telnyx, Exotel) and 12 SIP trunk profiles (Knowlarity, Servetel, MyOperator, Tata Tele, Airtel and 7 more). Switch providers without rewriting your call flow.

What ships

  • IVR compiler with DTMF + speech-gather, transfer and record.
  • S3-backed call recordings with an automatic retention sweep.
  • Pluggable transcription โ€” Deepgram, OpenAI Whisper or provider-native STT.
  • Local rate-card + CDR billing for cost reconciliation.
  • Time-of-day compliance windows for TCPA-style calling rules.
  • Cross-channel SMS fallback when a call does not connect.
place-call.sh
# Place an outbound call with recording + transcription
$ curl -X POST https://api.jinaconnect.com/voice/api/calls/ \
  -H "Authorization: Bearer jc_live_..." \
  -d '{
    "to": "+919876543210",
    "from": "+918860302401",
    "template_id": "appointment_reminder",
    "record": true,
    "transcription_provider": "deepgram"
  }'

MCP Server for AI Agents

Jina Connect ships a Model Context Protocol server with 13 tools. AI agents โ€” Claude Desktop, Cursor, Continue.dev, ChatGPT with custom GPTs โ€” can call your messaging stack as native tools with no glue code and no custom adapters.

Drop the config below into your agent and restart it:

claude_desktop_config.json
{
  "mcpServers": {
    "jina-connect": {
      "command": "npx",
      "args": ["-y", "@jina-connect/mcp-server"],
      "env": { "JINA_API_KEY": "jc_live_..." }
    }
  }
}

Once restarted, the Jina Connect tools (send_whatsapp, list_broadcasts, get_analytics and more) appear automatically. Compatible with Claude Desktop ยท Cursor ยท ChatGPT Desktop ยท Continue.dev.

Webhooks

Every inbound event โ€” incoming message, delivery status, read receipt, call event, or completed transcription โ€” fires a webhook to the URLs you register per tenant. Signatures use HMAC-SHA256 with your shared secret so you can verify authenticity.

Event types

  • message.inbound โ€” a user sent you a message.
  • message.status โ€” delivery / read / failed.
  • call.completed โ€” a voice call ended.
  • call.transcription โ€” Deepgram / Whisper finished STT.
  • broadcast.finished โ€” a broadcast batch completed.
  • template.approved โ€” Meta approved your template.

Multi-Tenant

Every workspace is an isolated tenant with its own users, contacts, templates, API keys and Razorpay wallet. It is built for agencies running 5โ€“50 client WABAs from a single deployment.

  • Per-tenant branding โ€” custom domain, custom logo and custom email sender.
  • Per-tenant wallets with Razorpay top-ups and automatic invoicing.
  • RBAC, scoped API keys and full audit logs.
  • White-label resell โ€” set your own per-tenant pricing.

See For Agencies โ†’ for the complete agency playbook.

Self-Hosting

The entire core platform is open-source under AGPL v3. Run it on your own infrastructure with a single Docker command โ€” zero data leaves your network.

terminal
$ git clone https://github.com/JINA-CODE-SYSTEMS/jina-connect-unified-cpaas
$ cd jina-connect-unified-cpaas
$ cp .env.example .env   # edit your secrets
$ docker compose up -d
โ†’ API ยท Workers ยท Postgres ยท Redis ยท Web app ready in <2 min

Required services: Postgres 14+, Redis 6+, and S3-compatible object storage for media and recordings. Everything else โ€” Celery workers, Daphne for WebSockets, and Caddy for TLS โ€” is included in docker-compose.yml.

Get Help

Three support channels, fastest first:

Chat on WhatsApp