Documentation Index Fetch the complete documentation index at: https://docs.dataforb2b.ai/llms.txt
Use this file to discover all available pages before exploring further.
Create a webhook subscription to start monitoring profiles for changes. Each API key can have one active subscription. If a subscription already exists, it will be updated with the new settings.
Returns 201 Created when a new subscription is created
Returns 200 OK when an existing subscription is updated
When a monitored profile changes, we send a POST request to your webhook URL with the event details and the full updated profile data.
Request Body
The URL where webhook events will be delivered. Must be a publicly accessible HTTPS endpoint.
List of event types to subscribe to. Defaults to all events. Event Type Description company_changedPerson left one company and joined another position_changedTitle changed at the same company position_endedPerson left a company (no new company detected) new_companyPerson joined a new company (no company left) open_to_work_changed”Open to Work” status toggled hiring_changed”Hiring” status toggled
Response
Whether the subscription is active
Webhook Delivery Payload
When a change is detected, we POST the following JSON to your webhook URL.
Event type (company_changed, position_changed, position_ended, new_company, open_to_work_changed, hiring_changed)
Previous state (null for new_company)
New state (null for position_ended)
Example payloads
company_changed — Left one company, joined another
{
"event" : "company_changed" ,
"changes" : {
"old" : {
"company_name" : "Google" ,
"company_id" : "org_abc123" ,
"linkedin_url" : "https://www.linkedin.com/company/google" ,
"title" : "Software Engineer"
},
"new" : {
"company_name" : "Meta" ,
"company_id" : "org_def456" ,
"linkedin_url" : "https://www.linkedin.com/company/meta" ,
"title" : "Senior Engineer"
}
},
"profile" : {}, // same format as /enrich/profile response
"timestamp" : "2026-03-30T18:30:00.000000"
}
position_changed — New title at same company
{
"event" : "position_changed" ,
"changes" : {
"old" : {
"company_name" : "Google" ,
"company_id" : "org_abc123" ,
"linkedin_url" : "https://www.linkedin.com/company/google" ,
"title" : "Software Engineer"
},
"new" : {
"company_name" : "Google" ,
"company_id" : "org_abc123" ,
"linkedin_url" : "https://www.linkedin.com/company/google" ,
"title" : "Senior Software Engineer"
}
},
"profile" : {}, // same format as /enrich/profile response
"timestamp" : "2026-03-30T18:30:00.000000"
}
position_ended — Left a company
{
"event" : "position_ended" ,
"changes" : {
"old" : {
"company_name" : "Google" ,
"company_id" : "org_abc123" ,
"linkedin_url" : "https://www.linkedin.com/company/google" ,
"title" : "Software Engineer"
},
"new" : null
},
"profile" : {}, // same format as /enrich/profile response
"timestamp" : "2026-03-30T18:30:00.000000"
}
new_company — Joined a new company
{
"event" : "new_company" ,
"changes" : {
"old" : null ,
"new" : {
"company_name" : "Meta" ,
"company_id" : "org_def456" ,
"linkedin_url" : "https://www.linkedin.com/company/meta" ,
"title" : "Senior Engineer"
}
},
"profile" : {}, // same format as /enrich/profile response
"timestamp" : "2026-03-30T18:30:00.000000"
}
{
"event" : "open_to_work_changed" ,
"changes" : {
"old" : { "is_open_to_work" : false },
"new" : { "is_open_to_work" : true }
},
"profile" : {}, // same format as /enrich/profile response
"timestamp" : "2026-03-30T18:30:00.000000"
}
{
"event" : "hiring_changed" ,
"changes" : {
"old" : { "is_hiring" : false },
"new" : { "is_hiring" : true }
},
"profile" : {}, // same format as /enrich/profile response
"timestamp" : "2026-03-30T18:30:00.000000"
}
curl -X POST https://api.dataforb2b.ai/webhooks/ \
-H "api_key: YOUR_api_key" \
-H "Content-Type: application/json" \
-d '{
"url": "https://your-server.com/webhook",
"event_types": ["company_changed", "position_changed"]
}'
{
"id" : 1 ,
"url" : "https://your-server.com/webhook" ,
"event_types" : [ "company_changed" , "position_changed" ],
"active" : true ,
"created_at" : "2026-03-30T18:00:00.000000"
}