> ## Documentation Index
> Fetch the complete documentation index at: https://docs.leamout.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Make an authenticated Leamout API request and create a voice application.

This quickstart assumes you already have a running Leamout API endpoint and an organization credential with `voice-applications:write` scope.

## 1. Set your API endpoint and token

For the development Compose stack, the API listens on port `8080`. For a production deployment, use the API address configured for that deployment.

```bash theme={null}
export LEAMOUT_API_URL="https://your-leamout-api.example.com"
export LEAMOUT_TOKEN="lm_org_..."
```

Organization credentials are bearer tokens. They carry their organization identity, so API requests made with them do not need `X-Organization-ID`.

## 2. Create a voice application

```bash theme={null}
curl -sS \
  -X POST "$LEAMOUT_API_URL/v1/voice-applications/" \
  -H "Authorization: Bearer $LEAMOUT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Main voice application",
    "ring_timeout_seconds": 30
  }'
```

A successful create returns HTTP `201` using Leamout's standard envelope:

```json theme={null}
{
  "success": true,
  "data": {
    "id": "...",
    "organization_id": "...",
    "name": "Main voice application",
    "ring_timeout_seconds": 30,
    "status": "active",
    "created_at": "...",
    "updated_at": "..."
  }
}
```

## 3. Choose what to build next

A voice application becomes useful when you connect it to telecom resources:

* For your own SIP carrier, continue with [Bring your own carrier](/guides/connectivity/byoc).
* For inbound voice, assign a number and create a [voice application binding](/guides/voice/voice-applications).
* For browser SIP, create a [SIP domain and subscriber](/guides/sip-webrtc/sip-domains).
* For outbound calling, configure a route and [create a call](/guides/voice/outbound-call).

<Tip>
  Use an organization credential with the narrowest scopes your application needs. Read requests require `<resource>:read`; mutations require `<resource>:write`.
</Tip>
