In addition to the bulk loading API features, Pure CallerID also provides a simple mechanism for uploading single lead record into your Engage SMS campaigns. The API is secured by using an API token that can be created and managed within your workspace.
Single Lead loading is typically reserved for real time lead generation workflows often referred to Web To Text, Web To Lead, etc. Leads loaded using the single lead API are processed synchronously and provide response codes confirm the lead was successfully Accepted or Rejected based on the campaign configurations.
URL: https://core.purecallerid.app/api/public/engage/lead/load
Method: POST
Content-Type: application/json
Security: A custom HTTP header must be included in the POST request. The Header name is "X-API-KEY" and the value passed within this header is one of the encrypted API keys associated with your workspace.
{
"campaignId": "65ae6e4b6bf35b2344b109e5",
"listName": "Real Time Leads",
"deDupe": true,
"fields": [
{
"value": "55555551212",
"name": "Phone",
"type": "Phone"
},
{
"value": "12345",
"name": "Zip",
"type": "Zip"
},
{
"value": "John",
"name": "FirstName"
},
{
"value": "Doe",
"name": "LastName"
},
{
"value": "123 Any Street",
"name": "Address1"
},
{
"value": "New York",
"name": "City"
},
{
"value": "NY",
"name": "State"
},
{
"value": "you@email.com",
"name": "Email"
}
]
}
- campaignId - Unique Id of the Pure CallerID campaign the lead will be loaded against. This value can be found when editing a campaign.
- listName - The organizational list name in Pure CallerID that the leads will be loaded into. Note, that this is internal to Pure CallerID and is not related to the dialer list. If you specify a list name that already exists, the lead will be appended to the list, otherwise a new list will be created.
- deDupe: Boolean that will determine if we want to ensure the phone number being inserted is unique. The record will be Rejected if a duplicate phone is provided and this value is set to "true".
-
fields: An array of Field objects that define the lead data
- field.value - the value of the field. Typically this is the actual name, phone number, zip code, address, etc of the lead.
- field.name - The property name that the field value is to be mapped to. NOTE: This value should be equal to one of the Token values configured on the Engage Campaign.
- field.type: Possible values are "Phone" or "Zip" A valid Phone and Zip are required on all leads. The type property may be omitted if the data is anything other than Phone or Zip.
A synchronous response will be returned to inform the calling party of the outcome of the list load process.
{
"status": "Accepted",
"message": "OK",
"lead": {
"id": "67c88cfc33b2f47101d4dfb6",
"orgId": 1,
"workspaceId": 14,
"messagingCampaignId": "67a64d8a95cca62641af5249",
"messagingListId": "67c760d43ae73a6e30daa2fa",
"status": "READY",
"statusMessage": null,
"carrier": "CELLCO PARTNERSHIP DBA VERIZON WIRELESS ",
"normalizedCarrier": "Verizon Wireless",
"phone": "+15555551212",
"fromNumber": null,
"timeZone": "America/New_York",
"zip": "12345",
"state": "NY",
"lat": 43.075993,
"lon": -73.774821,
"leadData": {
"Phone": "5555551212",
"Zip": "12345",
"FirstName": "John",
"LastName": "Doe",
"Address1": "123 Any St"
"City": "New York"
"State": "NY"
"Email": "you@email.com"
},
"created": "2025-03-05T17:42:20.721Z",
"sent": null,
"result": null,
"retryAfter": null,
"conversationStarted": false,
"disposition": null,
"dispositionTimestamp": null
}
}
- status - one of Accepted or Rejected
- message - Descriptive message to add more detail to the reject reason.
-
lead - Post processing representation of the lead record that was added to the Engage campaign. This will be null if the status is Rejected
- lead.carrier - The phone provider for the mobile line
- lead.normalizedCarrier - The normalized carrier (AT&T, Verizon Wireless, T-Mobile USA, etc)
- lead.leadData - This will contain all of the fields provided in the insert request.