Authentication
Create an integration and get your
cik_live_ API keyBuild an integration
End-to-end guide with idempotency, retries and loop prevention
What you can do
How it works
- Inbound (CRM → Ringee): you send events to a single Ringee endpoint, authenticated with your secret API key. See Inbound events.
- Outbound (Ringee → CRM): Ringee sends HMAC-signed events to the URL you configure, with automatic retries. See Outbound webhooks.
- Click-to-call: you exchange a contact for a short-lived, signed dialer URL your agent opens in the browser. See Click-to-call.
The event envelope
Every event in both directions shares the same envelope:eventId must be unique and stable per attempt. Both sides use it for deduplication, so retrying a failed delivery with the same eventId is always safe.Choosing the right integration surface
Ringee exposes three different ways to build on top of it. They solve different problems and can be combined.Public API
Server to server. Sync CRM records and receive call activity. Requires a backend.
Dialer SDK
Browser. Embed a real dialer in your own web app. No backend required.
MCP
AI agents. Let Claude or ChatGPT operate Ringee on the user’s behalf.
Base URL
All endpoints in this section are relative to that base URL and live under the global
/api prefix.
Limits and expectations
- Ringee considers an outbound delivery failed if your endpoint does not respond within 15 seconds or returns a non-2xx status.
- Failed deliveries are retried up to 10 times with exponential backoff, capped at 5 minutes between attempts.
- Ringee currently emits terminal call events only. There are no
call.started,call.ringingorcall.answeredevents — do not build a real-time incoming-call screen on top of this API.
Next steps
Create your API key
Set up a Custom Integration in the dashboard
Event reference
Every outbound payload, field by field

