Skip to main content
A Webhook represents an endpoint you control that Contractors Cloud delivers event notifications to whenever a subscribed event occurs. Webhooks support full CRUD through the Webhooks endpoints, plus managing which events they subscribe to and inspecting their delivery history. See the Webhooks guide for how to receive and verify deliveries.
id
string<uuid>

The webhook's unique identifier.

Example:

"a3d8f2e6-1c4b-4a9d-8e3f-2b5a7c9d4f60"

tenant_id
integer | null

The id of your organization's account. Null if not recorded.

Example:

12

company_id
integer | null

The id of the company this webhook is scoped to. Null means the webhook fires for matching events across every company in your organization; set it to scope deliveries to one company.

Example:

6

user_id
integer | null

The id of the user who created this webhook. Null if not recorded.

Example:

1159

endpoint
string<uri>

The URL that event deliveries are sent to as an HTTP POST request. An https:// URL is strongly recommended, since deliveries include your signing_secret-derived signature and potentially sensitive resource data, though the API doesn't enforce a particular scheme.

Example:

"https://example.com/webhooks/contractors-cloud"

error_rate
integer

The percentage of this webhook's delivery attempts that failed over roughly the last 90 days. This is an informational health signal only — it doesn't affect delivery, and a high value doesn't disable the webhook.

Required range: 0 <= x <= 100
Example:

0

is_enabled
boolean
default:true

Whether this webhook receives deliveries for its subscribed events. Disabled webhooks receive no event deliveries, but can still receive test sends.

Example:

true

signing_secret
string

The per-webhook secret key used to sign every delivery. Returned on every response for this webhook, including list results — treat it as a credential. There's no separate endpoint to retrieve or rotate it; to change it, delete this webhook and create a new one. See Verifying signatures for how to use it.

Example:

"5f2a9c3e8d1b6f4a7c2e9d5b3f8a1c6e4d7b2f9a"

created_at
string | null

Timestamp when the webhook was created, formatted as YYYY-MM-DD HH:MM:SS. Null if not recorded.

Example:

"2025-01-05 08:15:00"

updated_at
string | null

Timestamp when the webhook was last updated, formatted as YYYY-MM-DD HH:MM:SS. Null if not recorded.

Example:

"2025-01-05 08:15:00"