Skip to main content
Use /platform/v1 for new integrations. The older /api/v1 endpoints still exist, but the Platform API reference is the canonical surface for voice agents and WhatsApp phone number assignments. Kapso currently supports Pipecat as the native provider for WhatsApp voice calls.

1. Enable voice calling on the phone number

Turn on calls_enabled for the WhatsApp phone number that should receive voice calls:
curl -X PATCH https://app.kapso.ai/platform/v1/whatsapp/phone_numbers/{phone_number_id} \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "whatsapp_phone_number": {
      "calls_enabled": true
    }
  }'
Reference: Update phone number

2. Create the voice agent

Use provider_type: "pipecat" for the currently supported native provider:
curl -X POST https://app.kapso.ai/platform/v1/voice_agents \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_agent": {
      "name": "Support Agent",
      "provider_type": "pipecat",
      "provider": {
        "agent_name": "support-v1",
        "public_api_key": "YOUR_PIPECAT_PUBLIC_API_KEY",
        "base_url": "https://your-agent.pipecat.daily.co"
      }
    }
  }'
Reference: Create voice agent

3. Assign the phone number to the voice agent

Link the voice agent to the WhatsApp number that should route calls to it:
curl -X POST https://app.kapso.ai/platform/v1/voice_agents/{voice_agent_id}/whatsapp/phone_numbers \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "voice_agent_whatsapp_config": {
      "phone_number_id": "{phone_number_id}",
      "is_primary": true,
      "enabled": true
    }
  }'
Reference: Assign WhatsApp phone number Rules:
  • is_primary: true: one primary assignment per WhatsApp number
  • enabled: true: assignment must be enabled to handle calls

4. Use the right surface

  • Use the guide on this page for the end-to-end setup flow.
  • Use the generated API reference pages above for payload details.
  • If you’re already on /api/v1/whatsapp_configs/:id, /api/v1/voice_agents, and /api/v1/voice_agents/:voice_agent_id/voice_agent_whatsapp_configs, treat those as legacy endpoints.