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

# Configuring Your Account

> Set up webhooks, telephony, and other partner configuration after approval

# Configuring Your Account

After your partner application is approved, configure your account to start making calls. This guide covers webhook setup, telephony configuration, and verifying your account is ready.

## View your configuration

Start by checking your current partner configuration:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET https://api.vocobase.com/api/v2/config \
    -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.vocobase.com/api/v2/config", {
    headers: {
      "Authorization": "Bearer rg_live_abc123def456ghi789jkl012"
    }
  });
  const config = await response.json();
  console.log(config.data);
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.vocobase.com/api/v2/config",
      headers={"Authorization": "Bearer rg_live_abc123def456ghi789jkl012"}
  )
  print(response.json()["data"])
  ```
</CodeGroup>

The response shows your agent limit, allowed voices and languages, webhook status, and telephony configuration:

```json theme={null}
{
  "success": true,
  "data": {
    "name": "acme-corp",
    "display_name": "Acme Corporation",
    "agent_limit": 10,
    "current_agent_count": 0,
    "allowed_voices": ["a0e99841-438c-4a64-b679-ae501e7d6091"],
    "allowed_languages": ["en", "hi", "es"],
    "status": "active",
    "webhook": {
      "configured": false,
      "url": null,
      "secret": null
    },
    "webhooks": [],
    "telephony": {
      "twilio": { "configured": false },
      "mcube": { "configured": false }
    }
  }
}
```

## Set up webhooks

Configure one or more webhook endpoints to receive live call status updates and final session results. Use `call.status.updated` for partner queue orchestration and concurrency release; use `session.completed` for transcripts, extraction results, and recording URLs.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.vocobase.com/api/v2/config/webhooks \
    -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
    -H "Content-Type: application/json" \
    -d '{
      "label": "prod",
      "url": "https://your-server.com/webhooks/vocobase"
    }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch("https://api.vocobase.com/api/v2/config/webhooks", {
    method: "POST",
    headers: {
      "Authorization": "Bearer rg_live_abc123def456ghi789jkl012",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      label: "prod",
      url: "https://your-server.com/webhooks/vocobase"
    })
  });
  const result = await response.json();
  console.log(result.data.secret); // Save this!
  ```

  ```python Python theme={null}
  import requests

  response = requests.post(
      "https://api.vocobase.com/api/v2/config/webhooks",
      headers={
          "Authorization": "Bearer rg_live_abc123def456ghi789jkl012",
          "Content-Type": "application/json"
      },
      json={
          "label": "prod",
          "url": "https://your-server.com/webhooks/vocobase"
      }
  )
  result = response.json()
  print(result["data"]["secret"])  # Save this!
  ```
</CodeGroup>

The response includes an endpoint secret for verifying signatures:

```json theme={null}
{
  "success": true,
  "data": {
    "id": "12345678-abcd-1234-abcd-123456789012",
    "label": "prod",
    "url": "https://your-server.com/webhooks/vocobase",
    "enabled": true,
    "last_delivery_at": null,
    "last_delivery_status": null,
    "created_at": "2026-05-25T10:30:00.000Z",
    "updated_at": "2026-05-25T10:30:00.000Z",
    "secret": "whsec_a1b2c3d4e5f6g7h8i9j0...",
    "message": "Save this secret — it will not be shown again."
  }
}
```

<Warning>
  The endpoint `secret` is only returned once. Store it securely in your environment variables. If you lose it, rotate the endpoint secret with `POST /config/webhooks/{id}/rotate-secret`.
</Warning>

<Note>
  Older integrations can continue using `PUT /api/v2/config/webhook`; it creates or replaces the reserved `default` endpoint. New integrations should use `/config/webhooks`.
</Note>

See [Webhook Setup](/webhooks/setup) for details on signature verification.

## Configure telephony

You need at least one telephony provider to make outbound calls. Vocobase supports Twilio and MCube.

<Tabs>
  <Tab title="Twilio">
    Provide your Twilio Account SID, Auth Token, and a phone number:

    ```bash theme={null}
    curl -X PUT https://api.vocobase.com/api/v2/config/telephony/twilio \
      -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
      -H "Content-Type: application/json" \
      -d '{
        "account_sid": "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
        "auth_token": "your_twilio_auth_token",
        "from_number": "+14155551234"
      }'
    ```

    See [Twilio Setup](/telephony/twilio-setup) for the full guide.
  </Tab>

  <Tab title="MCube">
    Provide your MCube JWT token and executive number:

    ```bash theme={null}
    curl -X PUT https://api.vocobase.com/api/v2/config/telephony/mcube \
      -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
      -H "Content-Type: application/json" \
      -d '{
        "jwt_token": "your_mcube_jwt_token",
        "exe_number": "+919876543210"
      }'
    ```

    See [MCube Setup](/telephony/mcube-setup) for the full guide.
  </Tab>
</Tabs>

## Update your display name

Optionally set a display name for your partner account:

```bash theme={null}
curl -X PUT https://api.vocobase.com/api/v2/config/display-name \
  -H "Authorization: Bearer rg_live_abc123def456ghi789jkl012" \
  -H "Content-Type: application/json" \
  -d '{ "display_name": "Acme Corporation" }'
```

## Verify your setup

Run `GET /config` again to confirm everything is configured:

```json theme={null}
{
  "success": true,
  "data": {
    "name": "acme-corp",
    "display_name": "Acme Corporation",
    "status": "active",
    "webhook": {
      "configured": true,
      "url": "https://your-server.com/webhooks/vocobase",
      "secret": "****"
    },
    "webhooks": [
      {
        "id": "12345678-abcd-1234-abcd-123456789012",
        "label": "prod",
        "url": "https://your-server.com/webhooks/vocobase",
        "enabled": true,
        "last_delivery_at": null,
        "last_delivery_status": null,
        "created_at": "2026-05-25T10:30:00.000Z",
        "updated_at": "2026-05-25T10:30:00.000Z"
      }
    ],
    "telephony": {
      "twilio": {
        "configured": true,
        "account_sid": "ACxx****xxxx",
        "from_number": "+14155551234"
      },
      "mcube": {
        "configured": true,
        "exe_number": "+919876543210"
      }
    }
  }
}
```

<Tip>
  Sensitive values like `auth_token`, `jwt_token`, and webhook endpoint secrets are never returned by `GET /config`.
</Tip>

## Next steps

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Create an agent and make your first call.
  </Card>

  <Card title="Webhook Payloads" icon="webhook" href="/webhooks/payloads">
    Understand live call status and final session payloads.
  </Card>
</CardGroup>
