Skip to main content
POST
/
webhooks
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"
}

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

url
string
required
The URL where webhook events will be delivered. Must be a publicly accessible HTTPS endpoint.
event_types
array
List of event types to subscribe to. Defaults to all events.
Event TypeDescription
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

id
number
Subscription ID
url
string
Webhook delivery URL
event_types
array
Subscribed event types
active
boolean
Whether the subscription is active
created_at
string
ISO 8601 timestamp

Webhook Delivery Payload

When a change is detected, we POST the following JSON to your webhook URL.
event
string
Event type (company_changed, position_changed, position_ended, new_company, open_to_work_changed, hiring_changed)
changes
object
profile
object
Full updated profile — same format as the Enrich Profile response
timestamp
string
ISO 8601 timestamp

Example payloads

{
  "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"
}
{
  "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"
}
{
  "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"
}
{
  "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"
}