Skip to content

Leads API

Lead data management, search, and retrieval.

Overview

The Leads API provides comprehensive lead management capabilities including search, insert, update, delete, and recording retrieval.

Endpoints

Lead Search API

Retrieve leads with extensive filtering options.

Endpoint: POST /leads/search

Authentication: Required (auth_token)

Parameters

NameTypeRequiredDescription
auth_tokenstringYesAuthentication token
lead_idstringNoFilter by lead ID
list_idstringNoFilter by list ID
user_idstringNoFilter by assigned user ID
owner_idstringNoFilter by lead owner ID
statusstringNoFilter by lead status code
offsetintegerNoPagination offset (default 0)
limitintegerNoResults per page (default 10, max 2000)
created_bystringNoFilter by creator
emailstringNoFilter by email
last_modified_bystringNoFilter by last modifier
first_namestringNoFilter by first name
last_namestringNoFilter by last name
phone_numberstringNoFilter by phone number
alt_phone_1stringNoFilter by alternate phone 1
alt_phone_2stringNoFilter by alternate phone 2
address1stringNoFilter by street address
address2stringNoFilter by address line 2
citystringNoFilter by city
statestringNoFilter by state/province
provincestringNoFilter by province
postal_codestringNoFilter by postal code
countrystringNoFilter by country
genderstringNoFilter by gender
date_of_birthstringNoFilter by date of birth (YYYY-MM-DD)
created_at_start_datestringNoFilter by creation start date
created_at_end_datestringNoFilter by creation end date
updated_at_start_datestringNoFilter by modification start date
updated_at_end_datestringNoFilter by modification end date
std_company_namestringNoFilter by company name
std_consumer_numberstringNoFilter by consumer number
std_account_numberstringNoFilter by account number
changed_at_start_datestringNoFilter by change start date
changed_at_end_datestringNoFilter by change end date
deleted_at_startstringNoFilter by deletion start date
deleted_at_endstringNoFilter by deletion end date
archived_at_startstringNoFilter by archive start date
archived_at_endstringNoFilter by archive end date
last_call_start_datestringNoFilter by last call start date
last_call_end_datestringNoFilter by last call end date

Request Examples

POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&list_id=333
POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&phone_number=5551234567&limit=10
POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&status=ACTIVE&offset=0&limit=100

Response Example

json
{
  "results": [
    {
      "id": "12345",
      "created_at": "2026-03-01 10:00:00",
      "modified_at": "2026-03-03 14:30:00",
      "first_name": "John",
      "last_name": "Doe",
      "email": "john@example.com",
      "status": "ACTIVE",
      "owner_id": "22222",
      "source_id": "1",
      "list_id": "333",
      "phone_number": "5551234567",
      "alt_phone_1": "5559876543",
      "address1": "123 Main St",
      "city": "Anytown",
      "state": "CA",
      "postal_code": "90210",
      "country": "US",
      "carrier_name": "Verizon",
      "carrier_type": "wireless"
    }
  ],
  "offset": 0,
  "limit": 100
}

Response Fields

FieldTypeDescription
resultsarrayArray of lead objects
offsetintegerPagination offset
limitintegerResults per page

Lead Object:

FieldTypeDescription
idstringUnique lead ID
created_atstringCreation timestamp
modified_atstringLast modification timestamp
first_namestringContact first name
last_namestringContact last name
emailstringEmail address
statusstringLead status code
owner_idstringOwner user ID
source_idstringSource ID
list_idstringAssociated list ID
phone_numberstringPrimary phone number
alt_phone_1stringAlternate phone 1
alt_phone_2stringAlternate phone 2
address1stringStreet address
address2stringAddress line 2
citystringCity
statestringState/Province
postal_codestringPostal code
countrystringCountry code
genderstringGender (M/F/Other)
date_of_birthstringDate of birth (YYYY-MM-DD)
carrier_namestringPhone carrier name
carrier_typestringCarrier type (wireless/landline/voip)

Filtering Examples

All leads in list:

POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&list_id=333

Specific lead by phone:

POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&phone_number=5551234567

Active leads only:

POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&status=ACTIVE

Leads by name:

POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&first_name=John&last_name=Doe

Leads by location:

POST https://api.convoso.com/v1/leads/search
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&city=Anytown&state=CA

Pagination

Get first page:
POST /leads/search
auth_token=abc123&list_id=333&limit=100&offset=0

Get next page:
POST /leads/search
auth_token=abc123&list_id=333&limit=100&offset=100

Get third page:
POST /leads/search
auth_token=abc123&list_id=333&limit=100&offset=200

Error Codes

CodeDescription
7258Invalid limit value
7231Invalid offset value

Lead—Get Recordings API

Get all recordings for a lead.

Endpoint: POST /leads/get-recordings

Authentication: Required (auth_token)

Parameters

NameTypeRequiredDescription
auth_tokenstringYesAuthentication token
lead_idstringYesID of the lead
start_timestringNoStart time (YYYY-MM-DD HH:MM:SS)
end_timestringNoEnd time (YYYY-MM-DD HH:MM:SS)
offsetintegerNoPagination offset (default 0)
limitintegerNoResults per page (default 10, max 100)

Request Examples

POST https://api.convoso.com/v1/leads/get-recordings
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&lead_id=12345
POST https://api.convoso.com/v1/leads/get-recordings
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&lead_id=12345&start_time=2026-03-01%2008:00:00&end_time=2026-03-03%2017:00:00

Response Example

json
{
  "entries": [
    {
      "recording_id": "rec123",
      "lead_id": "12345",
      "start_time": "2026-03-03 14:30:00",
      "end_time": "2026-03-03 14:35:00",
      "seconds": 300,
      "url": "https://convoso.com/recording/rec123.mp3"
    }
  ]
}

Response Fields

FieldTypeDescription
entriesarrayArray of recording objects

Recording Object:

FieldTypeDescription
recording_idstringUnique recording ID
lead_idstringAssociated lead ID
start_timestringRecording start time
end_timestringRecording end time
secondsintegerDuration in seconds
urlstringRecording download/playback URL

Error Codes

CodeDescription
6005Missing users
7231Invalid offset value

Lead Delete API

Delete a lead.

Endpoint: POST /leads/delete

Authentication: Required (auth_token)

Parameters

NameTypeRequiredDescription
auth_tokenstringYesAuthentication token
lead_idstringYesID of lead to delete

Request Example

POST https://api.convoso.com/v1/leads/delete
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&lead_id=12345

Response Example

json
{
  "success": true
}

Error Codes

CodeDescription
6001No such Lead

Lead Insert API

Insert a new lead or update existing.

Endpoint: POST /leads/insert

Authentication: Required (auth_token)

Parameters

NameTypeRequiredDescription
auth_tokenstringYesAuthentication token
list_idstringYesList ID to add lead to
phone_numberstringYesPrimary phone number
phone_codestringNoCountry phone code
statusstringNoLead status code
created_bystringNoCreator identifier
last_modified_bystringNoLast modifier identifier
owner_idstringNoOwner user ID
first_namestringNoFirst name
last_namestringNoLast name
alt_phone_1stringNoAlternate phone 1
alt_phone_2stringNoAlternate phone 2
emailstringNoEmail address
address1stringNoStreet address
address2stringNoAddress line 2
citystringNoCity
statestringNoState/Province
provincestringNoProvince
postal_codestringNoPostal code
countrystringNoCountry code
genderstringNoGender
date_of_birthstringNoDate of birth (YYYY-MM-DD)
hopperbooleanNoAdd to queue hopper
hopper_priorityintegerNoHopper priority (0-99)
hopper_expires_inintegerNoExpiration in minutes (max 300)
update_if_foundbooleanNoUpdate if lead exists
check_dupintegerNoDuplicate check level (0-4)
check_dup_listbooleanNoCheck list duplicates
check_dup_archivebooleanNoCheck archived duplicates
check_dncbooleanNoCheck DNC list
check_wirelessbooleanNoCheck wireless carriers
filter_phone_codebooleanNoFilter by phone code
std_company_nametextNoCompany Name
std_consumer_numbertextNoConsumer Number
std_account_numbertextNoAccount Number
notestextarea_longNoNotes
monthly_revenuenumberNoMonthly Revenue
annual_revenuenumberNoAnnual Revenue
titletextNoTitle
business_nametextNoBusiness Name
dbatextNoDBA
industrytextNoIndustry
start_datedateNoStart Date

Non-Asset Options

NameTypeRequiredDescription
blueinkdigital_tokenstringNoToken to fetch lead's phone from Blue Ink Digital
reject_by_carrier_typeenumNoReject based on carrier type: MOBILE, VOIP, LANDLINE (comma-separated)

Insert Update Options

NameTypeRequiredDescription
search_campaign_idintegerNoCampaign ID to search within when update_if_found is true
search_list_idintegerNoList ID to search within when update_if_found is true (takes priority over search_campaign_id)
update_order_by_last_called_timestringNoIf duplicate found, find by Last Called Time ASC or DESC
lead_idintegerNoLead ID

Request Example

POST https://api.convoso.com/v1/leads/insert
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&list_id=333&phone_number=5551234567&first_name=John&last_name=Doe&email=john@example.com&status=ACTIVE

PHP Example

php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.convoso.com/v1/leads/insert');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query(array(
    'auth_token'   => 'YOUR_API_TOKEN',
    'list_id'      => 17257,
    'phone_number' => '8181234560',
    'first_name'   => 'John',
    'last_name'    => 'Test',
)));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);

Response Example

json
{
  "success": true,
  "data": {
    "lead_id": "12345"
  },
  "id": "12345"
}

Error Codes

CodeDescription
6002No such List
6006No such User
6007The Lead requires a phone number and list id
6008The phone number is invalid
6009The phone number already exists
6023Required fields are missed
6079Invalid Email(s)

Duplicate Check Levels

LevelDescription
0No duplicate check
1Check current list only
2Check all lists
3Check all lists and archive
4Complete duplicate check

Hopper Options

  • hopper: true to add to queue for immediate dialing
  • hopper_priority: 0=lowest, 99=highest
  • hopper_expires_in: How long before lead expires from queue

Lead Update API

Update specific lead.

Endpoint: POST /leads/update

Authentication: Required (auth_token)

Parameters

NameTypeRequiredDescription
auth_tokenstringYesAuthentication token
lead_idstringYesID of lead to update
list_idstringNoMove to different list
phone_numberstringNoUpdate phone number
phone_codestringNoUpdate phone code
statusstringNoUpdate status
first_namestringNoUpdate first name
last_namestringNoUpdate last name
emailstringNoUpdate email
address1stringNoUpdate street address
address2stringNoUpdate address line 2
citystringNoUpdate city
statestringNoUpdate state
postal_codestringNoUpdate postal code
countrystringNoUpdate country
alt_phone_1stringNoUpdate alternate phone 1
alt_phone_2stringNoUpdate alternate phone 2
std_company_nametextNoCompany Name
std_consumer_numbertextNoConsumer Number
std_account_numbertextNoAccount Number
notestextarea_longNoNotes
monthly_revenuenumberNoMonthly Revenue
annual_revenuenumberNoAnnual Revenue
titletextNoTitle
business_nametextNoBusiness Name
dbatextNoDBA
industrytextNoIndustry
start_datedateNoStart Date

Request Example

POST https://api.convoso.com/v1/leads/update
Content-Type: application/x-www-form-urlencoded

auth_token=abc123&lead_id=12345&status=COMPLETED&email=newemail@example.com

Response Example

json
{
  "success": true,
  "data": {
    "lead_id": "12345"
  }
}

Error Codes

CodeDescription
6070Invalid lead ID
6071Lead not found

Common Workflows

Create Lead

POST /leads/insert
- list_id: 333
- phone_number: 5551234567
- first_name: John
- last_name: Doe

Find Lead by Phone

POST /leads/search
- phone_number: 5551234567

Update Lead Status

POST /leads/update
- lead_id: 12345
- status: COMPLETED

Get Lead Recordings

POST /leads/get-recordings
- lead_id: 12345

Batch Insert Leads

python
leads = [
    ('333', '5551234567', 'John', 'Doe'),
    ('333', '5551234568', 'Jane', 'Smith'),
]

for list_id, phone, first, last in leads:
    requests.post(
        'https://api.convoso.com/v1/leads/insert',
        data={
            'auth_token': token,
            'list_id': list_id,
            'phone_number': phone,
            'first_name': first,
            'last_name': last
        }
    )

Error Handling

IssueResponse
Invalid auth_token{"success": false, "error": "Invalid authentication token"}
Lead not found{"success": true, "results": []}
List not found{"success": false, "error": "List not found"}
Duplicate lead{"success": false, "error": "Lead already exists"}
Invalid phone{"success": false, "error": "Invalid phone number"}

Last Updated: 2026-03-03

Community project — not affiliated with or endorsed by Convoso.