{
"success": true,
"data": {
"id": "29681a72-ed3d-41a8-b119-2c2942b34996",
"name": "Tier 1 accounts",
"signal_types": [
"acquisition",
"job_change"
],
"active": true,
"webhook": {
"id": "4141b666-835e-482d-8074-22c02eaf196a",
"endpoint_url": "https://example.com/hooks/signalbase"
},
"stats": {
"targets": 4,
"resolved_targets": 2,
"signals_30d": 1,
"last_delivery_at": "2026-09-19T08:00:00.000Z"
},
"created_at": "2026-09-20T13:10:38.502Z",
"updated_at": "2026-09-20T13:11:52.903Z"
},
"meta": {
"endpoint": "monitors.update",
"creditsUsed": 0
}
}{
"success": false,
"error": "signal_types must be a non-empty array of: funding_round, acquisition, job_change, hiring",
"code": "bad_request"
}{
"success": false,
"error": "Invalid API key. No key found.",
"code": "invalid_api_key"
}{
"success": false,
"error": "Subscription expired. Please upgrade your subscription: https://www.trysignalbase.com/#pricing",
"code": "subscription_expired"
}{
"success": false,
"error": "Monitor not found",
"code": "not_found"
}{
"success": false,
"error": "Too many requests. Please upgrade your plan or slow down.",
"code": "rate_limited",
"retryAfter": 60
}{
"success": false,
"error": "An unknown error occurred",
"code": "internal_error"
}Update Monitor
Partially update a monitor — send only the fields you want to change. Rename it, change which signal types it listens for, pause or resume it (active), or manage its webhook: a new webhook_url replaces the endpoint and mints a new signing secret (returned once, in this response); webhook_url: null detaches the webhook and leaves the monitor email-only; sending the URL it already has changes nothing and returns no secret. The change is atomic: if the new webhook_url is rejected (400), the monitor keeps its current endpoint and keeps delivering. Changes apply to delivery immediately. Free (0 credits).
{
"success": true,
"data": {
"id": "29681a72-ed3d-41a8-b119-2c2942b34996",
"name": "Tier 1 accounts",
"signal_types": [
"acquisition",
"job_change"
],
"active": true,
"webhook": {
"id": "4141b666-835e-482d-8074-22c02eaf196a",
"endpoint_url": "https://example.com/hooks/signalbase"
},
"stats": {
"targets": 4,
"resolved_targets": 2,
"signals_30d": 1,
"last_delivery_at": "2026-09-19T08:00:00.000Z"
},
"created_at": "2026-09-20T13:10:38.502Z",
"updated_at": "2026-09-20T13:11:52.903Z"
},
"meta": {
"endpoint": "monitors.update",
"creditsUsed": 0
}
}{
"success": false,
"error": "signal_types must be a non-empty array of: funding_round, acquisition, job_change, hiring",
"code": "bad_request"
}{
"success": false,
"error": "Invalid API key. No key found.",
"code": "invalid_api_key"
}{
"success": false,
"error": "Subscription expired. Please upgrade your subscription: https://www.trysignalbase.com/#pricing",
"code": "subscription_expired"
}{
"success": false,
"error": "Monitor not found",
"code": "not_found"
}{
"success": false,
"error": "Too many requests. Please upgrade your plan or slow down.",
"code": "rate_limited",
"retryAfter": 60
}{
"success": false,
"error": "An unknown error occurred",
"code": "internal_error"
}Authorizations
Signalbase API key. Include as a Bearer token in the Authorization header.
Path Parameters
The monitor ID.
Body
Send at least one field. Omitted fields are left unchanged.
1 - 255Replaces the full list.
1A signal type a monitor can listen for. funding_round = the company raised a round; acquisition = the company acquired or was acquired; job_change = someone joined or left the company; hiring = the company posted a new job.
funding_round, acquisition, job_change, hiring A new URL replaces the endpoint and mints a new signing secret. null detaches the webhook. The current URL is a no-op.
500false pauses delivery; true resumes it.
