Add Prospects Enrollments
curl --request POST \
--url https://api.explorium.ai/v1/prospects/events/enrollments \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"enrollment_key": "<string>",
"event_types": [],
"prospect_ids": [
"<string>"
],
"request_context": null
}
'import requests
url = "https://api.explorium.ai/v1/prospects/events/enrollments"
payload = {
"enrollment_key": "<string>",
"event_types": [],
"prospect_ids": ["<string>"],
"request_context": None
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enrollment_key: '<string>',
event_types: [],
prospect_ids: ['<string>'],
request_context: null
})
};
fetch('https://api.explorium.ai/v1/prospects/events/enrollments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.explorium.ai/v1/prospects/events/enrollments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'enrollment_key' => '<string>',
'event_types' => [
],
'prospect_ids' => [
'<string>'
],
'request_context' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.explorium.ai/v1/prospects/events/enrollments"
payload := strings.NewReader("{\n \"enrollment_key\": \"<string>\",\n \"event_types\": [],\n \"prospect_ids\": [\n \"<string>\"\n ],\n \"request_context\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.explorium.ai/v1/prospects/events/enrollments")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"enrollment_key\": \"<string>\",\n \"event_types\": [],\n \"prospect_ids\": [\n \"<string>\"\n ],\n \"request_context\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.explorium.ai/v1/prospects/events/enrollments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enrollment_key\": \"<string>\",\n \"event_types\": [],\n \"prospect_ids\": [\n \"<string>\"\n ],\n \"request_context\": null\n}"
response = http.request(request)
puts response.read_body{
"response_context": {
"correlation_id": "<string>",
"request_status": "success",
"time_took_in_seconds": 123
},
"enrollment_key": "<string>",
"enrollment_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Prospects Events
Add prospects enrollments
Add enrollments for prospects
POST
/
v1
/
prospects
/
events
/
enrollments
Add Prospects Enrollments
curl --request POST \
--url https://api.explorium.ai/v1/prospects/events/enrollments \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"enrollment_key": "<string>",
"event_types": [],
"prospect_ids": [
"<string>"
],
"request_context": null
}
'import requests
url = "https://api.explorium.ai/v1/prospects/events/enrollments"
payload = {
"enrollment_key": "<string>",
"event_types": [],
"prospect_ids": ["<string>"],
"request_context": None
}
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
enrollment_key: '<string>',
event_types: [],
prospect_ids: ['<string>'],
request_context: null
})
};
fetch('https://api.explorium.ai/v1/prospects/events/enrollments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.explorium.ai/v1/prospects/events/enrollments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'enrollment_key' => '<string>',
'event_types' => [
],
'prospect_ids' => [
'<string>'
],
'request_context' => null
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.explorium.ai/v1/prospects/events/enrollments"
payload := strings.NewReader("{\n \"enrollment_key\": \"<string>\",\n \"event_types\": [],\n \"prospect_ids\": [\n \"<string>\"\n ],\n \"request_context\": null\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.explorium.ai/v1/prospects/events/enrollments")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"enrollment_key\": \"<string>\",\n \"event_types\": [],\n \"prospect_ids\": [\n \"<string>\"\n ],\n \"request_context\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.explorium.ai/v1/prospects/events/enrollments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"enrollment_key\": \"<string>\",\n \"event_types\": [],\n \"prospect_ids\": [\n \"<string>\"\n ],\n \"request_context\": null\n}"
response = http.request(request)
puts response.read_body{
"response_context": {
"correlation_id": "<string>",
"request_status": "success",
"time_took_in_seconds": 123
},
"enrollment_key": "<string>",
"enrollment_id": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Description
The Prospect Events Enrollment endpoint enables you to monitor specific prospects for professional changes and milestones. This “subscription” approach automates tracking of individual career movements such as job changes, role changes, and work anniversaries. When you enroll, the system will continuously monitor for new events related to your specified prospects. These events can be retrieved later or delivered via webhook, depending on your integration preferences.Important Considerations for Enrollments
- Multiple event types can be monitored for the same set of prospects.
- Each enrollment is uniquely identified by its enrollment_key.
- Events are collected in the background, optimizing API usage and ensuring you don’t miss important updates.
How It Works
How It Works
Input: Define parameters including prospect_ids, event_types, and ttl_days.
Processing: The system registers your enrollment and begins monitoring for events.
Output: A confirmation response containing your enrollment_id for future reference.
Query Parameters
Query Parameters
| Field | Type | Description |
|---|---|---|
| enrollment_key | String | A unique identifier for this enrollment |
| prospect_ids | Array | List of Prospect IDs to monitor for events |
| event_types | Array | Types of events to monitor (e.g., prospect_changed_role, prospect_changed_company) |
Example Request (cURL)
Example Request (cURL)
Bash
curl -X POST \
"https://api.explorium.ai/v1/prospects/events/enrollments" \
-H "API_KEY: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"enrollment_key": "tech_executives_monitor",
"prospect_ids": [
"20ae6cbf564ee683e66685e429844a5ff8ffc30f",
"4c485f009d59e319dc039cdf3e935b85014e6a33"
],
"event_types": [
"prospect_changed_role",
"prospect_changed_company"
],
"ttl_days": 365
}'
Example Response
Example Response
JSON
{
"request_context": {
"correlation_id": "1234",
"request_status": "success",
"time_took_in_seconds": 0.515
},
"enrollment_key": "tech_executives_monitor",
"enrollment_id": "en_8d52c3f1"
}
Best Practices
Best Practices
- Use descriptive enrollment_key values to easily identify different monitoring setups.
- Group prospects by industry, seniority, or target accounts for organized monitoring.
- Combine with webhook registration for real-time notifications of career changes.
Authorizations
APIKeyHeaderAPIKeyHeader
Body
application/json
Minimum string length:
4Required array length:
1 - 1000 elementsThe ProspectsEventIdentifier class is an enumeration that defines event identifiers related to prospects.
This enum is used to categorize and track events associated with prospects, such as:
- Role changes (e.g., when a prospect changes their role within a company)
- Company changes (e.g., when a prospect moves to a new company)
- Job anniversaries (e.g., celebrating the anniversary of a prospect's job start date)
These identifiers ensure consistent handling and classification of prospect-related events across the application.
Available options:
prospect_changed_role, prospect_changed_company, prospect_job_start_anniversary Required array length:
1 - 1000 elementsPattern:
^[a-f0-9]{40}$Example:
null
Was this page helpful?