# Register a new webhook Required scopes: integration Returns a signature_secret_key field, make sure to save it somewhere safe. It won't be returned again. Endpoint: POST /webhooks Version: v1 Security: http, oauth2 ## Request fields (application/json): - `url` (string, required) Needs to be unique - `project_id` (string,null) Scope a webhook to a specific project to reduce the number of events sent task: and comment: events have to be project-scoped - `client_id` (string,null) Scope a webhook to a specific client to reduce the number of events sent - `event` (string, required) Event to subscribe to type WebhookEvent Enum: "contact:create", "contact:update", "contact:delete", "company:create", "company:update", "company:delete", "task:create", "task:update", "task:delete", "comment:create", "comment:update", "comment:delete" ## Response 200 fields (application/json): - `id` (string, required) - `url` (string, required) - `client_id` (string,null, required) - `project_id` (string,null, required) - `signature_secret_key` (string, required) - `event` (string, required) Enum: "contact:create", "contact:update", "contact:delete", "company:create", "company:update", "company:delete", "task:create", "task:update", "task:delete", "comment:create", "comment:update", "comment:delete" - `created_at` (string, required) ## Response 401 fields (application/json): - `message` (string, required) Error overview. ## Response 409 fields (application/json): - `message` (string, required) Error overview. Example: "Webhook already exists" ## Response 422 fields (application/json): - `message` (string, required) Errors overview. - `errors` (object, required) A detailed description of each field that failed validation.