> For complete lifecycle-event payload schemas and examples, use the canonical overview: Session /api/sessions; Room lifecycle, members, and room playback /api/rooms; Session playback /api/playback; Recording /api/recording; DTMF /api/keypad-input; Messages /api/messages; WebSocket Session /api/web-socket. Use /api/event-delivery for transport behavior. Endpoint pages name relevant events, but these overviews are the canonical references.

# Getting started

#### Get your credentials

Ask support to provision an application with your HTTPS webhook
URL. You will receive an `app_uuid` and an `api_key`: `app_uuid`
identifies your application, and `api_key` is its secret.

Authenticate API requests with:

```text
Authorization: Bearer <app_uuid>:<api_key>
```

The platform signs every webhook delivery. See [Webhook signature verification](/api/event-delivery#signature-verification)
for verification examples.

#### Place a call

Place an outbound call:

```bash
curl -X POST https://api.telekesher.dev/v1/sessions:dial \
  -H "Authorization: Bearer <app_uuid>:<api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "+972500000000",
    "from": "+972740000000",
    "ring_timeout_sec": 30,
    "max_duration_sec": 3600
  }'
```

Save the `session_uuid` from the response.

#### Play audio

After the [`session.answered`](/api/sessions#sessionanswered) event
arrives, play the audio file:

```bash
curl -X POST https://api.telekesher.dev/v1/sessions/{session_uuid}/playback/play \
  -H "Authorization: Bearer <app_uuid>:<api_key>" \
  -H "Content-Type: application/json" \
  -d '{"type":"files","urls":["https://cdn.example.com/greeting.wav"]}'
```

Playback progress arrives through
[`playback.started`](/api/playback#playbackstarted) and
[`playback.stopped`](/api/playback#playbackstopped) events.

## Next steps

* [Collect DTMF digits](/api/keypad-input/collect)
* [Understand event delivery](/api/event-delivery)
* [Browse the API reference](/api)