CrystalQore
DevelopersAPI Reference

Click to dial

Originate a live call from a user's extension to a destination number.

Click to dial

POST /api/v1/click2dial rings the user's extension first, then bridges to destination when they answer.

Permissionclick2dial
User headerRequired — that user's extension places the call

This is a live call on the production phone system. The user's phone must be registered. Do not fire this from the playground unless you intend to place the call.

Body

FieldRequiredNotes
destinationYes2–50 characters; sanitized before dial
ringbackNoOptional custom ringback
sipContactNoOptional SIP contact for a specific device

Success

data includes callId, status: "initiated", from, to, and a message that the user's phone will ring first.

Errors specific to this route

CodeHTTPMeaning
NO_EXTENSION400User has no extension
PBX_NOT_CONFIGURED400Phone system is not configured for this organization
INVALID_DESTINATION400Number rejected
PHONE_NOT_REGISTERED409Extension is not registered
CALL_IN_PROGRESS409That user already has a click-to-dial call
RATE_LIMIT_EXCEEDED429Origination guard
CALL_FAILED500Originate failed
curl -sS -X POST "https://app.crystalqore.com/api/v1/click2dial" \
  -H "X-API-Key: $CRYSTALQORE_API_KEY" \
  -H "X-Tenant-Id: $CRYSTALQORE_TENANT_ID" \
  -H "X-User-Email: $CRYSTALQORE_USER_EMAIL" \
  -H "Content-Type: application/json" \
  -d '{"destination":"+15551234567"}'

See click to dial from a CRM.

On this page