# Update webhook

Update an already existing webhook.

Endpoint: PATCH /v1/projects/{projectId}/webhooks/{webhookId}
Version: 1.2.91
Security: BasicAuth, BearerAuth, OAuth2Production

## Security:

  - `BasicAuth` (unknown)
    http basic

  - `BearerAuth` (unknown)
    http bearer JWT

  - `OAuth2Production` (unknown)
    oauth2

## Path parameters:

  - `projectId` (string, required)
    The unique ID of the project. You can find this on the Sinch Dashboard.

  - `webhookId` (string, required)
    The unique ID of the webhook.

## Request body:

  - `application/json` (unknown)
    Webhook to update

## Request fields (application/json):

  - `target` (object)
    A valid target url where events should be sent to.

  - `secret` (object)
    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)
    List of triggers you want to be notified about on your webhook. To be able to listen to all type of events use `ALL`.
- Common:
`ALL`
- Bundles:
`BUNDLE_DONE`
- WhatsApp Sender:
`WHATSAPP_SENDER_ACTIVE`
,
`WHATSAPP_SENDER_COMMENT_ADDED`
,
`WHATSAPP_SENDER_DAILY_LIMIT_CHANGED`
,
`WHATSAPP_SENDER_DELETED`
,
`WHATSAPP_SENDER_ERROR`
,
`WHATSAPP_SENDER_INACTIVE`
,
`WHATSAPP_SENDER_PENDING_VERIFICATION`
,
`WHATSAPP_SENDER_QUALITY_RATING_CHANGED`
,
`WHATSAPP_SENDER_REJECTED`
 or
`WHATSAPP_SENDER_USERNAME_UPDATED`
- WhatsApp Template:
`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`
 or
`WHATSAPP_TEMPLATE_STATUS_UPDATED`
- WhatsApp Account:
`WHATSAPP_ACCOUNT_COMMENT_ADDED`
,
`WHATSAPP_ACCOUNT_DAILY_LIMIT_CHANGED`
,
`WHATSAPP_ACCOUNT_ONBOARDED`
,
`WHATSAPP_ACCOUNT_PENDING_VERIFICATION`
,
`WHATSAPP_ACCOUNT_REJECTED`
 or
`WHATSAPP_WABA_ACCOUNT_CHANGED`
- RCS Sender:
`RCS_BRAND_REGISTRATION_PROCESS_STATUS_UPDATED`
,
`RCS_SENDER_COMMENT_ADDED`
,
`RCS_SENDER_OPERATOR_STATUS_UPDATED`
 or
`RCS_SENDER_STATUS_UPDATED`
- KakaoTalk Sender:
`KAKAOTALK_SENDER_ACTIVE`
,
`KAKAOTALK_SENDER_COMMENT_ADDED`
,
`KAKAOTALK_SENDER_INACTIVE`
 or
`KAKAOTALK_SENDER_REJECTED`
- KakaoTalk Template:
`KAKAOTALK_TEMPLATE_APPROVED`
,
`KAKAOTALK_TEMPLATE_COMMENT_ADDED`
 or
`KAKAOTALK_TEMPLATE_REJECTED`

## Request examples:

  - `Update a webhook with specific event triggers` (unknown)

  - `Update a webhook to listen to all events` (unknown)

## Response 200:

  - `200` (unknown)
    Webhook response

## Response 200 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.

## Response 400:

  - `400` (unknown)
    BadRequest

## Response 400 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: invalid_input

  - `message` (string)
    Human readable message.
    Example: Invalid input.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Correct the validation errors and submit again.

  - `additionalInformation` (object)
    Additional information for error.
    Example: {"validationErrors":["target must be a string","target must be a URL address"]}

## Response 401:

  - `401` (unknown)
    Unauthorized

## Response 401 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically 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 404:

  - `404` (unknown)
    NotFound

## Response 404 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically handle errors.
    Example: webhook_not_found

  - `message` (string)
    Human readable message.
    Example: Webhook not found.

  - `resolution` (string)
    Human readable message with an explanation of how to solve the error.
    Example: Verify that the parameters are correct.

## Response 409:

  - `409` (unknown)
    Conflict

## Response 409 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically 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 500:

  - `500` (unknown)
    InternalServerError

## Response 500 fields (application/json):

  - `errorCode` (string)
    Error code allows to programmatically 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.

## Response 200 examples:

  - `Update a webhook with specific event triggers` (unknown)
    Example of a response for an update to specific triggers.

  - `Update a webhook to listen to all events` (unknown)
    Example of a response for an update to all triggers.

