API Reference
REST Endpoints
Click-to-call, call history, recordings and extensions, and the machine-readable spec.
All endpoints are under https://www.siluxcall.co.uk/api/v1 and authenticate with an API key as described in the authentication article.
Machine-readable spec
An OpenAPI 3.1 document is served live, so it always matches the deployed build:
curl https://www.siluxcall.co.uk/api/openapi.jsonEndpoints
| Method | Path | Purpose |
|---|---|---|
| POST | /api/v1/calls | Click-to-call: ring an extension, then dial the number when it is answered |
| GET | /api/v1/calls | Recent calls, newest first (limit, since, before) |
| GET | /api/v1/recordings | Recent call recordings (limit, since) |
| GET | /api/v1/recordings/:id/audio | Download a recording as MP3 |
| GET | /api/v1/extensions | Extensions on your account and who they belong to |
Placing a call
Name the extension that should ring (or the user's email) and the number to call. The extension rings on the mobile app, browser softphone or desktop app. When it is answered, we dial the number with your business caller ID.
curl -X POST https://www.siluxcall.co.uk/api/v1/calls \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-d '{"extension": "1001", "to": "01632960123"}'{
"status": "ringing_extension",
"extension": "1001",
"to": "01632960123",
"message": "Extension 1001 is ringing. When it is answered, we call 01632960123."
}Reading call history
curl "https://www.siluxcall.co.uk/api/v1/calls?since=2026-11-01T00:00:00Z&limit=100" \
-H "Authorization: Bearer sk_live_..."Each call has id, direction, from, to, status, durationSeconds, startedAt, answeredAt, endedAt and recordingId (when the call was recorded).
Downloading a recording
curl -o call.mp3 "https://www.siluxcall.co.uk/api/v1/recordings/<id>/audio" \
-H "Authorization: Bearer sk_live_..."For a live feed instead of polling, add a Custom Webhook on the CRM Integration page: we send each ended call, missed call and new voicemail to your URL as it happens.