Webhooks

Pause Or Resume A Webhook

Changed on

Pause or resume a webhook. A disabled webhook sends nothing. When you enable it again, by default it delivers every record matched while it was disabled. Pass skip_events_while_inactive=true when enabling to start the feed from that moment instead, so nothing matched while disabled is sent or charged.

patch/v0/webhooks/{webhook_id}/status

Request

  • Base URL
    https://api.theirstack.com
  • URL
    https://api.theirstack.com/v0/webhooks/{webhook_id}/status
  • Auth
    HTTP bearer

Path parameters

webhook_idinteger required

ID of the webhook

Example:123

Request body

is_activeboolean required
skip_events_while_inactiveboolean

What happens to records matched while the webhook was disabled. Only read when enabling a disabled webhook (is_active=true). False (default): they are delivered and charged on the first scan after enabling. True: the feed starts from the moment the webhook is enabled, so records matched while it was disabled are never sent nor charged. Ignored when disabling.

Response

Successful Response

urlstring uri required

URL of the webhook

search_idinteger required

ID of the search that the webhook is listening to.

descriptionstring nullable

Description of the webhook

listening_start_timestring date-time nullable

Date when the webhook started listening for events. If listening_start_time is None, the webhook will listen to all events matching the search query regardless of when they occurred.

trigger_once_per_companyboolean

Only for webhook type ='job.new'. If true, Company A with 5 jobs → 1 event triggered. If false, Company A with 5 jobs → 5 events triggered

active_event_typesWebhookEventType[] required
max_events_per_dayinteger nullable

Most new records the webhook takes on per UTC day, or null for no cap. A job webhook counts jobs: each can send its job.new and, when it closes, its job.closed, so a job costs at most two credits. Records over it are dropped, never sent, charged or queued for the next day. Minimum 1: to send nothing, disable the webhook.

idinteger required
user_idinteger required
team_idinteger required
is_activeboolean required
is_archivedboolean required
created_atstring date-time required
updated_atstring date-time required
search_namestring required
webhook_type'jobs' | 'companies' required
scanning_frequencystring

Scanning frequency for the webhook

has_secretboolean required
event_type'job_new' | 'company_new' | 'job_closed' required

Example response

{
  "url": "https://example.com/webhook",
  "search_id": 123,
  "description": "Webhook for new jobs",
  "listening_start_time": "2024-01-01T00:00:00Z",
  "trigger_once_per_company": true,
  "max_events_per_day": 500
}

Changes