IntroductionQuickstartAuthenticationPaginationRate Limit

Search endpoints

Job Search POSTCompany Search POSTTechnographics POST

Account endpoints

Get Credit Balance GETGet Credits Consumption GET

Other

Get Webhook By Id GETGet Aggregated Webhook Event Count GETGet Webhook Event Count GETList Webhook Events GETList All Webhooks GETArchive Webhook PATCHUpdate Webhook PATCHEnable/Disable A Webhook PATCHRetry Webhook Events POSTTest Webhook Url POSTCreate New Webhook POST
TheirStackTheirStack Logo
Log inSign up
DocumentationAPI ReferenceWebhooksDatasetsMCPGuides
Webhooks

Create New Webhook

Create a new webhook that listens for events from a saved search and sends real-time HTTP POST notifications to your specified URL. Configure event types, filters, and delivery settings for automated data pipelines.

POST
/v0/webhooks

Authorization

Bearer
AuthorizationBearer <token>

In: header

Request Body

application/json

  • url
    string
    length: 1 <= length <= 2083urihttps://example.com/webhook
    required

    URL of the webhook

  • search_id
    integer
    123
    required

    ID of the search that the webhook is listening to.

  • description
    stringnullable
    Webhook for new jobs

    Description of the webhook

  • listening_start_time
    stringnullable
    date-time2024-01-01T00:00:00

    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_company
    boolean
    default: falsetrue

    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

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.theirstack.com/v0/webhooks" \  -H "Content-Type: application/json" \  -d '{    "url": "https://example.com/webhook",    "search_id": 123  }'
{
  "url": "https://example.com/webhook",
  "search_id": 123,
  "description": "Webhook for new jobs",
  "listening_start_time": "2024-01-01T00:00:00",
  "trigger_once_per_company": true,
  "id": 0,
  "user_id": 0,
  "team_id": 0,
  "is_active": true,
  "is_archived": true,
  "created_at": "2019-08-24T14:15:22Z",
  "updated_at": "2019-08-24T14:15:22Z",
  "search_name": "string",
  "event_type": "job_new",
  "scanning_frequency": "10m"
}
{
  "request_id": null,
  "error": {
    "code": "E-001",
    "title": "Not allowed exception",
    "description": "string"
  }
}
{
  "request_id": null,
  "error": {
    "code": "E-001",
    "title": "Not allowed exception",
    "description": "string"
  }
}
{
  "request_id": null,
  "error": {
    "code": "E-001",
    "title": "Not allowed exception",
    "description": "string"
  }
}
{
  "request_id": null,
  "error": {
    "code": "E-001",
    "title": "Not allowed exception",
    "description": "string"
  }
}

How is this guide?

Last updated on

Test Webhook Url POST

Send a test event to a webhook URL to verify connectivity and payload handling before creating the webhook. The test event simulates a real webhook delivery so you can validate your endpoint processes events correctly.