Campaigns
Attach a campaign to any API request that creates a validation log so reports stay grouped by project, customer, import source, or workflow.
Set Up First
Create and manage campaigns in Configure → Campaigns before sending them in API requests.
Supported Endpoints
Campaigns are supported on /api/validate/*, /api/fraud-check/*, and /api/validate/multiple.
What To Send
Send either the campaign slug or UUID. In most integrations, the slug is the easier option to read and maintain.
Multi-Validation
For /api/validate/multiple, keep campaign at the top level of the payload so it applies across the nested checks in that request.
If you omit campaign, the request still runs normally. The resulting validation log just won’t be attached to a named campaign in reporting.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
campaign
|
string |
No | Optional campaign identifier. Send either the campaign slug or UUID from Configure → Campaigns. |
Request Body example (JSON)
{
"campaign": "q1-lead-list",
"email": "test@example.com"
}
Code Examples
import requests
payload = {
"campaign": "q1-lead-list",
"email": "test@example.com"
}
url = "https://api.provero.io/api/validate/email"
headers = {
"Authorization": "Bearer REPLACE_WITH_API_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
}
response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.text)
<?php
$payload = [
"campaign" => "q1-lead-list",
"email" => "test@example.com",
];
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.provero.io/api/validate/email",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POSTFIELDS => json_encode($payload),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer REPLACE_WITH_API_TOKEN",
"Content-Type: application/json",
"Accept: application/json"
],
]);
$response = curl_exec($curl);
if (curl_errno($curl)) {
echo 'Error:' . curl_error($curl);
}
curl_close($curl);
echo $response;
$response = Http::withToken('REPLACE_WITH_API_TOKEN')
->acceptJson()
->post('https://api.provero.io/api/validate/email', [
'campaign' => 'q1-lead-list',
'email' => 'test@example.com',
]);
return $response->json();
const payload = {
campaign: "q1-lead-list",
email: "test@example.com"
};
fetch("https://api.provero.io/api/validate/email", {
method: "POST",
headers: {
"Authorization": "Bearer REPLACE_WITH_API_TOKEN",
"Content-Type": "application/json",
"Accept": "application/json"
},
body: JSON.stringify(payload)
})
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.error("Error:", error));
curl -X POST https://api.provero.io/api/validate/email \
-H "Authorization: Bearer REPLACE_WITH_API_TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"campaign": "q1-lead-list",
"email": "test@example.com"
}'
Response Examples
Error - Campaign Not Found
{
"message": "Campaign not found."
}
Response Body
Error structure
| Field Name | Type | Example | Always Present | Description |
|---|---|---|---|---|
message |
string |
Campaign not found. | Yes | Returned when the supplied campaign slug or UUID does not exist for the authenticated account. |