# 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.
## 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.