## Reconnect a Webhook Endpoint

Update an existing webhook endpoint connection details.

## Endpoint signature

```http
POST https://api.reservepay.com/merchants/reconnect-webhook HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>

{
  webhook_id: string,
  name: string,
  protocol: string,
  signature_type: string?,
  api_version: string,
  destination_url: string,
  events: array,
}
```

Returns: boolean

## Request arguments

### `webhook_id` (string)

**Required**. The ID of the webhook to reconnect

### `name` (string)

**Required**. A name for this webhook endpoint

### `protocol` (string)

**Required**. The protocol to use for sending webhook events.

Allowed values:

- `HTTP`
- `HTTPS`

### `signature_type` (string)

_Optional_. The type of signature with which to sign webhooks.

Allowed values:

- `SHA256`
- `HMAC_SHA256`
- `ED25519`

### `api_version` (string)

**Required**. The API version to use for webhook events. Must be a valid date format (YYYY-MM-DD) from the available API versions.

### `destination_url` (string)

**Required**. The URL where webhook events will be sent. Must be a valid HTTP/HTTPS URL and match the specified protocol.

### `events` (array)

**Required**. List of events for webhook

Allowed values:

- `PAYMENT_COMPLETED`
- `PAYMENT_VOIDED`
- `PAYMENT_REVERSED`
- `PAYMENT_AUTHORIZED`
- `PAYMENT_EXPIRED`
- `PAYOUT_COMPLETED`
- `TOPUP_SETTLED`

## Errors specific to this endpoint

### `NOT_FOUND`

This error occurs when the webhook endpoint with the provided ID could not be found.

### `INVALID_ARGUMENTS`

This error occurs when the provided arguments are invalid. For example:
- Missing required fields
- Invalid protocol (must be http or https)
- Invalid URL format or protocol mismatch
- Invalid events
- Invalid API version (must be a valid date from the available API versions)

## Errors common to all endpoints

### `UNHANDLED_ERROR`

This error occurs when the server encounters an unexpected internal error that
it cannot handle gracefully. This typically happens due to bugs, infrastructure
issues, or edge cases that weren't anticipated during development.

### `INVALID_ARGUMENTS`

This error occurs when the request contains invalid or missing parameters.
Common cases include missing required fields, or values that don't match the
expected format or type.

### `BAD_VERSION`

This error occurs when making requests to an API version that does not exist.
This commonly happens when using an outdated SDK or when the API version
specified in the request URL is incorrect.
