# Delete Api Key Source: https://docs.getprosperapp.com/api-reference/api-keys/delete-api-key https://voice.getprosperapp.com/openapi.json delete /api/v1/api-keys/{api_key_id} # Add Blacklist Phone Number Source: https://docs.getprosperapp.com/api-reference/blacklists/add-blacklist-phone-number https://voice.getprosperapp.com/openapi.json post /api/v1/blacklists/{blacklist_id}/phone-numbers/{phone_number} 201 when the number is added, 200 when it was already there. # List Blacklist Phone Numbers Source: https://docs.getprosperapp.com/api-reference/blacklists/list-blacklist-phone-numbers https://voice.getprosperapp.com/openapi.json get /api/v1/blacklists/{blacklist_id}/phone-numbers # Remove Blacklist Phone Number Source: https://docs.getprosperapp.com/api-reference/blacklists/remove-blacklist-phone-number https://voice.getprosperapp.com/openapi.json delete /api/v1/blacklists/{blacklist_id}/phone-numbers/{phone_number} 204 whether or not the number was on the list. # Get Call Log Source: https://docs.getprosperapp.com/api-reference/call-logs/get-call-log https://voice.getprosperapp.com/openapi.json get /api/v1/call-logs/{call_log_id} Get detailed information for a specific call log. # List Call Logs Source: https://docs.getprosperapp.com/api-reference/call-logs/list-call-logs https://voice.getprosperapp.com/openapi.json get /api/v1/call-logs List all call logs for the organization with pagination and date filtering. # Add Targets Source: https://docs.getprosperapp.com/api-reference/campaigns/add-targets https://voice.getprosperapp.com/openapi.json post /api/v1/campaigns/{campaign_id}/targets Add targets to a campaign # Batch Receive Webhook Step Source: https://docs.getprosperapp.com/api-reference/campaigns/batch-receive-webhook-step https://voice.getprosperapp.com/openapi.json post /api/v1/campaigns/{campaign_id}/targets/step/{friendly_id} Apply a receive-webhook step update to many targets in one request. # Campaign Calls Source: https://docs.getprosperapp.com/api-reference/campaigns/campaign-calls https://voice.getprosperapp.com/openapi.json post /api/v1/campaigns/{campaign_id}/calls # Delete Targets Source: https://docs.getprosperapp.com/api-reference/campaigns/delete-targets https://voice.getprosperapp.com/openapi.json delete /api/v1/campaigns/{campaign_id}/targets Delete targets from a campaign # Get Campaign Targets Source: https://docs.getprosperapp.com/api-reference/campaigns/get-campaign-targets https://voice.getprosperapp.com/openapi.json get /api/v1/campaigns/{campaign_id}/targets # Get Patient Campaign Targets Source: https://docs.getprosperapp.com/api-reference/campaigns/get-patient-campaign-targets https://voice.getprosperapp.com/openapi.json get /api/v1/campaigns/{campaign_id}/patient/targets # Get Required Variables Source: https://docs.getprosperapp.com/api-reference/campaigns/get-required-variables https://voice.getprosperapp.com/openapi.json get /api/v1/campaigns/{campaign_id}/variables If successful returns a json with the input variables for the campaign. # Receive Ehr Event Step Source: https://docs.getprosperapp.com/api-reference/campaigns/receive-ehr-event-step https://voice.getprosperapp.com/openapi.json post /api/v1/campaigns/{campaign_id}/ehr-event/{friendly_id} # Receive Webhook Step Source: https://docs.getprosperapp.com/api-reference/campaigns/receive-webhook-step https://voice.getprosperapp.com/openapi.json post /api/v1/campaigns/{campaign_id}/targets/{target_id}/step/{friendly_id} # Rerun Failed Webhooks Source: https://docs.getprosperapp.com/api-reference/campaigns/rerun-failed-webhooks https://voice.getprosperapp.com/openapi.json post /api/v1/campaigns/{campaign_id}/webhooks/rerun-failed Re-run failed webhook notifications for a campaign within a time window. # List Integration Actions Source: https://docs.getprosperapp.com/api-reference/integration-actions/list-integration-actions https://voice.getprosperapp.com/openapi.json get /api/v1/integration-actions The organization's integration actions, oldest first. # Get Live Call Source: https://docs.getprosperapp.com/api-reference/live-calls/get-live-call https://voice.getprosperapp.com/openapi.json get /api/v1/live-calls Return a flat snapshot of a call by one of: - `call_log_id` - `user_phone_number` - `key` + `value` (any variable previously mapped on the flow) Tries `live_calls` first (source=`live_calls`), then falls back to `v_call_logs` (source=`call_logs`). Response is a single-level dict with dotted keys for any nested values. # Health Check Source: https://docs.getprosperapp.com/api-reference/status/health-check https://voice.getprosperapp.com/openapi.json get /api/v1/health Health check endpoint for monitoring service status. # Retrieve Target Source: https://docs.getprosperapp.com/api-reference/targets/retrieve-target https://voice.getprosperapp.com/openapi.json get /api/v1/targets/{target_id} # Update Target Input Data Source: https://docs.getprosperapp.com/api-reference/targets/update-target-input-data https://voice.getprosperapp.com/openapi.json patch /api/v1/targets/{target_id} # Introduction Source: https://docs.getprosperapp.com/introduction Welcome to the Prosper AI Voice Agents. Hero Light Hero Dark ## Setting up It's very easy to do the initial setup to start using Prosper public APIs. Once you have an account to the Prosper platform, go to the API Keys section to get your API key. With the API key, you are ready to start doing calls. Programatically get the data after a call # Executing Calls within a Campaign Source: https://docs.getprosperapp.com/quickstart/campaign-call Learn how to execute phone calls within a campaign using the Prosper API. ## Overview Campaigns are used to group similar types of inbound or outbound calls. Each campaign defines: * The AI voice agent to be used. * QA settings for monitoring call quality. * Post-call data extraction settings. While campaigns can be created via the API, we **recommend cloning campaigns through the API** and performing all campaign definitions, especially post-call data configuration, via the Prosper platform. ## Steps to Execute Calls within a Campaign ### 1. Add & execute targets Once a campaign is created, targets must be added using the [create targets ](https://docs.getprosperapp.com/api-reference/campaigns/add-targets)endpoint: ``` POST /api/v1/campaigns/{campaign_id}/targets ``` **Targets** contain the specific information required to execute each call, such as the phone number and any relevant metadata. For calling the targets at the same time, use the body param: `"launch": true` For exemple: ``` { "targets": [], "launch": true } ``` In case you need to have traceability and link once of your resources to a target you can directly pass the target id as part of the body as long as the id is a valid v4 UUID, or include your id as part of the input data (which can be any kind of data type. We recommend using the id options as it’ll be faster to search and you can store in your system as needed. ``` { "targets": [ { "id": "3ef78020-1e89-4496-9538-695f257ee001", "phone_number": "+123456789", "input_data": { "my_resource_id" } } ], "launch": true } ``` ### 2. Receive Target Results Each campaign defines a **customizable webhook** to receive target results. Once a target is finished, the webhook will receive: ``` { "campaign_id": uuid, "target_id": uuid, "last_call_log_id": int } ``` You can configure this weebhok inside the Prosper platform under the campaign notifications section at `Campaign > Settings > Notificaitions` Enable the campaign target finished and save the configuration with the endpoint where you want to receive the updates ### 3. Retrieve Target Using the `target_id`, detailed information about the call can be retrieved from the [Get target](https://docs.getprosperapp.com/api-reference/targets/get-target-router) endpoint: ``` GET /api/v1/targets/{target_id} ``` This provides access to all relevant call data, including transcripts, metadata and QA, and outcomes. ## Summary | Step | Action | | - | - | | **1** | Create or clone a campaign via the Prosper platform | | **2** | Add targets and execute calls using `POST /api/v1/campaigns/{campaign_id}/targets` | | **4** | Receive results via the campaign’s webhook | | **5** | Retrieve the target details using `GET /api/v1/targets/{target_id} ` | For additional details, refer to the API reference or reach out to our support team. # Export Data from Campaigns Source: https://docs.getprosperapp.com/quickstart/export-data Learn how to export and retrieve call data from campaigns using the Prosper API. ## Overview After executing calls within a campaign, you can export and retrieve detailed call data including transcripts, metadata, QA results, and outcomes. The Prosper API provides endpoints to list and retrieve call logs for comprehensive data analysis and integration with your systems. ## Exporting Call Data ### 1. List Call Logs To retrieve all call logs from a specific campaign, use the [List Call Logs](https://docs.getprosperapp.com/api-reference/call-logs/list-call-logs) endpoint: ``` GET /api/v1/campaigns/call-logs?campaign_id={campaign_id} ``` This endpoint supports several query parameters for filtering and pagination: * **`page`**: Page number for pagination (default: 1) * **`page_size`**: Number of results per page (default: 20, max: 100) * **`status`**: Filter by call status (e.g., `completed`, `failed`, `in_progress`) * **`from_date`**: Filter calls from a specific date * **`to_date`**: Filter calls up to a specific date **Example request:** ```bash theme={null} GET /api/v1/campaigns/call-logs?campaign_id={campaign_id}&page=1&page_size=50&status=completed ``` The response includes a paginated list of call logs with summary information for each call, such as: ```json theme={null} { "items": [ { "call_log_id": 12345, "target_id": "3ef78020-1e89-4496-9538-695f257ee001", "status": "completed", "duration": 180, "created_at": "2024-01-15T10:30:00Z", "phone_number": "+123456789" } ], "total": 150, "page": 1, "page_size": 50 } ``` ### 2. Get Individual Call Log Details For detailed information about a specific call, use the [Get Call Log](https://docs.getprosperapp.com/api-reference/call-logs/get-call-log) endpoint: ``` GET /api/v1/call-logs/{call_log_id} ``` This endpoint returns comprehensive call information including: * **Full transcript**: Complete conversation between the AI agent and the participant * **Extracted data**: Post-call data extraction results based on campaign configuration * **QA results**: Quality assurance scores and assessments * **Call metadata**: Duration, timestamps, phone numbers, and status * **Outcomes**: Call results and next steps **Example response:** ```json theme={null} { "call_log_id": 12345, "target_id": "3ef78020-1e89-4496-9538-695f257ee001", "campaign_id": "abc123", "status": "completed", "duration": 180, "transcript": [ { "speaker": "agent", "text": "Hello, this is the AI assistant...", "timestamp": 0 }, { "speaker": "user", "text": "Hi, I'm interested in...", "timestamp": 3.5 } ], "extracted_data": { "appointment_scheduled": true, "customer_interest_level": "high" }, "qa_results": { "overall_score": 92, "criteria": {...} }, "created_at": "2024-01-15T10:30:00Z", "completed_at": "2024-01-15T10:33:00Z" } ``` ## Best Practices for Data Export ### Bulk Export Workflow For exporting large volumes of call data: 1. Use the **List Call Logs** endpoint with pagination to retrieve all call IDs 2. Filter by date range to export data from specific time periods 3. Use the **Get Call Log** endpoint to retrieve detailed information for each call 4. Implement rate limiting and retry logic to handle API limits gracefully ### Webhook-Based Export For real-time data export, configure the campaign webhook (as described in [Executing Calls within a Campaign](/quickstart/campaign-call)): 1. Set up a webhook endpoint in your system 2. Configure the webhook in the Prosper platform under `Campaign > Settings > Notifications` 3. Receive real-time notifications when targets finish 4. Use the `call_log_id` from the webhook payload to retrieve detailed call data immediately ### Filtering and Search To efficiently locate specific calls: * Filter by **status** to retrieve only completed or failed calls * Use **date ranges** to export data from specific periods * Store `call_log_id` in your system for quick lookups ## Summary | Step | Action | | - | - | | **1** | List call logs using `GET /api/v1/campaigns/call-logs` | | **2** | Apply filters (status, date range, pagination) to narrow results | | **3** | Retrieve detailed call data using `GET /api/v1/campaigns/call-logs/{call_log_id}` | | **4** | Process and store transcript, extracted data, and QA results | For additional details, refer to the API reference or reach out to our support team.