Skip to main content
POST
/
webhooks
Create Webhook
curl --request POST \
  --url https://www.trysignalbase.com/api/v2/webhooks \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "endpoint_url": "https://example.com/hooks/signalbase",
  "event_types": [
    "funding.created",
    "hiring.created"
  ],
  "filters": {
    "countries": "US,GB"
  }
}
'
{
  "success": true,
  "data": {
    "id": "b1f2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
    "endpoint_url": "https://example.com/hooks/signalbase",
    "event_types": [
      "funding.created",
      "hiring.created"
    ],
    "filters": {
      "countries": "US,GB"
    },
    "active": true,
    "created_at": "2026-05-29T10:30:00.000Z",
    "updated_at": "2026-05-29T10:30:00.000Z",
    "last_modified_by": "user_2a9f8c7b6d5e4f3a",
    "last_modified_via": "api",
    "secret": "3f9a1c7e-2b4d-4e6a-9f1b-8c2d3e4f5a6b",
    "stats": {
      "total_deliveries": 0,
      "successful_deliveries": 0,
      "failed_deliveries": 0,
      "last_success_at": null,
      "last_failure_at": null,
      "consecutive_failures": 0
    }
  },
  "meta": {
    "endpoint": "webhooks.create",
    "creditsUsed": 0
  }
}

Authorizations

Authorization
string
header
required

Signalbase API key. Include as a Bearer token in the Authorization header.

Body

application/json

Field names accept snake_case (canonical) or camelCase (endpointUrl, eventTypes).

endpoint_url
string<uri>
required

Destination URL. Must be a valid http/https URL of at most 500 characters. In production, localhost and private/link-local addresses are rejected.

Maximum string length: 500
Example:

"https://example.com/hooks/signalbase"

event_types
enum<string>[]
required

Event types to subscribe to. Duplicates are removed.

Event type a subscription can register for. system.test is accepted but only ever delivered by the Send Test Event endpoint; it never fires automatically.

Available options:
funding.created,
acquisition.created,
job_change.created,
hiring.created,
new_company.created,
system.test
Example:
["funding.created", "hiring.created"]
filters
object

Optional string key/value filters that narrow which events are delivered. Recognized keys: countries, categories, search, teamSize, dateFrom, dateTo, funding, roundFlavor, fundingAmount, acquisitionAmount, healthScore. Unrecognized keys are silently ignored — note the round-type key is funding, not round. See the Webhooks overview 'Filters' section for value formats.

Example:
{
"countries": "US,GB",
"funding": "seed,series a"
}

Response

Webhook created. data includes the full signing secret (shown only on create).

success
boolean
required
data
object
required

A webhook subscription. List/retrieve/update(no rotation)/delete include secret_preview; create and rotate_secret include the full secret instead.

meta
object
required