POST /api/v1/monitors
Subscribe to change events on a professional profile or company URL.
Body parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
type |
string | Yes | "person" or "company" |
subject_url |
string | Yes | Full profile or company URL |
webhook_url |
string | Yes | HTTPS endpoint to receive events |
label |
string | No | Human-readable label |
events |
array | No | Event types to subscribe to (defaults to all) |
Code examples
curl -X POST "https://kooperativa.io/api/v1/monitors" \
-H "Authorization: Bearer ik_live_..." \
-H "Content-Type: application/json" \
-d '{
"type": "person",
"subject_url": "https://www.linkedin.com/in/satyanadella",
"webhook_url": "https://your-app.com/webhooks/kooperativa",
"label": "Satya Nadella",
"events": ["person.job_changed", "person.title_changed"]
}'const res = await fetch("https://kooperativa.io/api/v1/monitors", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.KOOPERATIVA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
type: "person",
subject_url: "https://www.linkedin.com/in/satyanadella",
webhook_url: "https://your-app.com/webhooks/kooperativa",
events: ["person.job_changed"],
}),
});
const { monitor } = await res.json();Response
{
"monitor": {
"id": "45e0bba8-196d-4f5e-aecc-52332ca832e2",
"type": "person",
"subject_url": "https://www.linkedin.com/in/satyanadella",
"label": "Satya Nadella",
"webhook_url": "https://your-app.com/webhooks/kooperativa",
"events": ["person.job_changed", "person.title_changed"],
"active": true,
"created_at": "2026-07-14T10:00:00Z"
}
}