# Register a webhook for project Register a new webhook for a project. The webhook will be used to communicate updates to resources. Maximum of webhooks allowed per project. Endpoint: POST /v1/projects/{projectId}/webhooks Version: 1.2.7 Security: BasicAuth, BearerAuth ## Path parameters: - `projectId` (string, required) The unique ID of the project. You can find this on the Sinch Dashboard. ## Request fields (application/json): - `target` (string, required) A valid target url where events should be sent to. - `secret` (string, required) Secret to be used to sign contents of webhooks sent by the provisioning API. You can then use the secret to verify the signature. Please not that secret should have a high entropy to be considered secure. - `triggers` (array, required) List of triggers you want to be notified about on your webhook. To be able to listen to all type of events use . - Common: - Bundles: - WhatsApp Sender: , , , , , , or - WhatsApp Template: , , , , , , or - WhatsApp Account: , , , or - RCS Sender: , or - KakaoTalk Sender: , , or - KakaoTalk Template: , or Enum: "ALL", "BUNDLE_DONE", "KAKAOTALK_SENDER_ACTIVE", "KAKAOTALK_SENDER_COMMENT_ADDED", "KAKAOTALK_SENDER_INACTIVE", "KAKAOTALK_SENDER_REJECTED", "KAKAOTALK_TEMPLATE_APPROVED", "KAKAOTALK_TEMPLATE_COMMENT_ADDED", "KAKAOTALK_TEMPLATE_REJECTED", "RCS_SENDER_COMMENT_ADDED", "RCS_SENDER_OPERATOR_STATUS_UPDATED", "RCS_SENDER_STATUS_UPDATED", "RCS_ACCOUNT_COMMENT_ADDED", "WHATSAPP_ACCOUNT_COMMENT_ADDED", "WHATSAPP_ACCOUNT_ONBOARDED", "WHATSAPP_ACCOUNT_PENDING_VERIFICATION", "WHATSAPP_ACCOUNT_REJECTED", "WHATSAPP_WABA_ACCOUNT_CHANGED", "WHATSAPP_SENDER_ACTIVE", "WHATSAPP_SENDER_COMMENT_ADDED", "WHATSAPP_SENDER_DAILY_LIMIT_CHANGED", "WHATSAPP_SENDER_ERROR", "WHATSAPP_SENDER_INACTIVE", "WHATSAPP_SENDER_PENDING_VERIFICATION", "WHATSAPP_SENDER_QUALITY_RATING_CHANGED", "WHATSAPP_SENDER_REJECTED", "WHATSAPP_TEMPLATE_APPROVED", "WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE", "WHATSAPP_TEMPLATE_CATEGORY_UPDATED", "WHATSAPP_TEMPLATE_COMMENT_ADDED", "WHATSAPP_TEMPLATE_DELETED", "WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED", "WHATSAPP_TEMPLATE_REJECTED", "WHATSAPP_TEMPLATE_STATUS_UPDATED" ## Response 201 fields (application/json): - `id` (string, required) The ID of the webhook. - `target` (string, required) The target url where events will be sent to. - `projectId` (string, required) The project that this webhook belongs to. - `triggers` (array, required) List of triggers this webhook is triggered by. Enum: "ALL", "BUNDLE_DONE", "KAKAOTALK_SENDER_ACTIVE", "KAKAOTALK_SENDER_COMMENT_ADDED", "KAKAOTALK_SENDER_INACTIVE", "KAKAOTALK_SENDER_REJECTED", "KAKAOTALK_TEMPLATE_APPROVED", "KAKAOTALK_TEMPLATE_COMMENT_ADDED", "KAKAOTALK_TEMPLATE_REJECTED", "RCS_SENDER_COMMENT_ADDED", "RCS_SENDER_OPERATOR_STATUS_UPDATED", "RCS_SENDER_STATUS_UPDATED", "RCS_ACCOUNT_COMMENT_ADDED", "WHATSAPP_ACCOUNT_COMMENT_ADDED", "WHATSAPP_ACCOUNT_ONBOARDED", "WHATSAPP_ACCOUNT_PENDING_VERIFICATION", "WHATSAPP_ACCOUNT_REJECTED", "WHATSAPP_WABA_ACCOUNT_CHANGED", "WHATSAPP_SENDER_ACTIVE", "WHATSAPP_SENDER_COMMENT_ADDED", "WHATSAPP_SENDER_DAILY_LIMIT_CHANGED", "WHATSAPP_SENDER_ERROR", "WHATSAPP_SENDER_INACTIVE", "WHATSAPP_SENDER_PENDING_VERIFICATION", "WHATSAPP_SENDER_QUALITY_RATING_CHANGED", "WHATSAPP_SENDER_REJECTED", "WHATSAPP_TEMPLATE_APPROVED", "WHATSAPP_TEMPLATE_CATEGORY_FUTURE_UPDATE", "WHATSAPP_TEMPLATE_CATEGORY_UPDATED", "WHATSAPP_TEMPLATE_COMMENT_ADDED", "WHATSAPP_TEMPLATE_DELETED", "WHATSAPP_TEMPLATE_QUALITY_SCORE_UPDATED", "WHATSAPP_TEMPLATE_REJECTED", "WHATSAPP_TEMPLATE_STATUS_UPDATED" ## Response 401 fields (application/json): - `errorCode` (string) Error code allows to programatically handle errors. Example: "unauthorized_error" - `message` (string) Human readable message. Example: "Unauthorized error." - `resolution` (string) Human readable message with an explanation of how to solve the error. Example: "Verify that projectId is correct." ## Response 409 fields (application/json): - `errorCode` (string) Error code allows to programatically handle errors. Example: "webhook_exists" - `message` (string) Human readable message. Example: "Webhook with the provided target already exists." - `resolution` (string) Human readable message with an explanation of how to solve the error. Example: "Webhooks must have a unique target. Change the target and submit again." ## Response 424 fields (application/json): - `errorCode` (string) Error code allows to programatically handle errors. Example: "webhook_limit_reached" - `message` (string) Human readable message. Example: "Number of webhooks has reached the limit." - `resolution` (string) Human readable message with an explanation of how to solve the error. Example: "Delete some webhooks to be able to add more." ## Response 500 fields (application/json): - `errorCode` (string) Error code allows to programatically handle errors. Example: "internal_error" - `message` (string) Human readable message. Example: "Internal server error." - `resolution` (string) Human readable message with an explanation of how to solve the error. Example: "Please wait and try again, if the error persist please contact support."