Docs

Guides

First useful integration in five minutes

Callfora External API v1 is for CRM and automation clients. Keys start with cf_ and every request is tenant-scoped.

  1. Open Integration Hub as a tenant admin and create a scoped cf_ key. The full secret is shown once.
  2. Send X-API-Key (or Bearer) and X-Tenant-Id on every call.
  3. List users, start a click-to-dial, then send an SMS in an existing conversation.

1. List users

curl
curl -X GET "https://console.callfora.com/api/v1/users" \
  -H "X-API-Key: cf_your_api_key_here" \
  -H "X-Tenant-Id: your-tenant-uuid" \
  -H "Content-Type: application/json"

2. Click-to-dial

User-scoped. The acting seat must have an extension. Add an Idempotency-Key so a CRM retry does not originate twice.

curl
curl -X POST "https://console.callfora.com/api/v1/click2dial" \
  -H "X-API-Key: cf_your_api_key_here" \
  -H "X-Tenant-Id: your-tenant-uuid" \
  -H "X-User-Email: user@example.com" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: crm-call-001" \
  -d '{"destination":"+15551234567"}'

3. Send SMS

Use an existing conversation id the acting user can access. The path is /api/v1/sms/conversations/{id}/messages.

curl
curl -X POST "https://console.callfora.com/api/v1/sms/conversations/{id}/messages" \
  -H "X-API-Key: cf_your_api_key_here" \
  -H "X-Tenant-Id: your-tenant-uuid" \
  -H "X-User-Email: user@example.com" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: crm-sms-001" \
  -d '{"body":"Hello from Integration Hub"}'

Continue