# CallWhiz Developer API ## Overview The CallWhiz Developer API allows you to programmatically create and manage AI voice agents, webhooks, and integrate with your applications. Base URL: https://developer.callwhiz.ai ## Authentication All API requests require authentication using an API key. Include your API key in the Authorization header: ``` Authorization: Bearer cw_live_YOUR_API_KEY ``` ## Endpoints ### API Keys #### List API Keys ``` GET /v1/api-keys ``` Returns all API keys associated with your account. #### Create API Key ``` POST /v1/api-keys { "name": "Production Key", "is_sandbox": false } ``` Creates a new API key. Returns the key value only once. #### Delete API Key ``` DELETE /v1/api-keys/{key_id} ``` Deletes an API key permanently. ### Agents #### List Agents ``` GET /v1/agents ``` Returns all agents created by your account. #### Create Agent ``` POST /v1/agents { "name": "Customer Support Bot", "model": "pro", "voice": "Olivia", "prompt": "You are a helpful customer support agent...", "first_message": "Hello! How can I help you today?", "webhook_ids": ["webhook_123", "webhook_456"] } ``` Creates a new AI voice agent. Models: lite, nano, pro. #### Update Agent ``` PUT /v1/agents/{agent_id} { "name": "Updated Support Bot", "prompt": "Updated instructions..." } ``` Updates an existing agent. #### Delete Agent ``` DELETE /v1/agents/{agent_id} ``` Deletes an agent permanently. ### Webhooks (Functions) #### List Webhooks ``` GET /v1/user-webhooks ``` Returns all webhooks (functions) you've created. #### Create Webhook ``` POST /v1/user-webhooks { "name": "get_weather", "description": "Get current weather for a location", "endpoint": "https://api.myservice.com/weather", "method": "POST", "parameters": { "location": { "type": "string", "description": "City name or zip code", "required": true } } } ``` Creates a webhook that agents can call as a function. #### Update Webhook ``` PUT /v1/user-webhooks/{webhook_id} { "description": "Updated description", "endpoint": "https://api.myservice.com/v2/weather" } ``` Updates an existing webhook. #### Delete Webhook ``` DELETE /v1/user-webhooks/{webhook_id} ``` Deletes a webhook permanently. ## Rate Limits - Sandbox: 100 requests/minute - Production: 1000 requests/minute ## Error Responses ```json { "detail": "Error message here", "status_code": 400 } ``` ## SDKs - Python: `pip install callwhiz` - Node.js: `npm install @callwhiz/sdk` - More coming soon... ## Support Email: developers@callwhiz.ai Documentation: https://developer.callwhiz.ai/docs