Skip to main content
PUT
/
v1
/
webhooks
/
endpoints
/
{endpointId}
Update Webhook Endpoint
curl --request PUT \
  --url https://your-endpoint.moduluslabs.io/v1/webhooks/endpoints/{endpointId} \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "events": [
    "payment.completed",
    "payment.failed"
  ],
  "status": "active"
}
'
{ "endpointId": "wh_01HQ3K4M5N6P7R8S9T0UVWXYZ", "url": "https://api.yourcompany.com/webhooks/payments", "events": [ "payment.completed", "payment.failed" ], "description": "Production payment notifications", "status": "active", "metadata": { "environment": "production" }, "createdAt": "2024-01-15T10:30:00.000Z", "updatedAt": "2024-01-15T11:00:00.000Z" }
This endpoint requires HMAC-SHA256 authentication. See Authentication for signature computation details.

Partial Updates

All fields in the request body are optional. Only provide the fields you want to change.

URL Changes

If you update the endpoint URL, the system sends a validation ping to verify the new URL is accessible. If the ping fails, the update is rejected.

Disabling Endpoints

To temporarily stop receiving webhooks without deleting the endpoint, set the status field to disabled:
{
  "status": "disabled"
}
To re-enable, set it back to active:
{
  "status": "active"
}
Disabling an endpoint is useful for maintenance periods or when troubleshooting issues, without losing your endpoint configuration.

Authorizations

x-api-key
string
header
required

HMAC-SHA256 authentication. Requires three headers: x-api-key (your API key), x-timestamp (ISO 8601 timestamp), and x-signature (Base64-encoded HMAC-SHA256 signature). See Authentication documentation for signature computation.

Path Parameters

endpointId
string
required

The unique identifier of the webhook endpoint

Body

application/json

Updated webhook endpoint configuration

url
string<uri>

Updated HTTPS URL for webhook delivery. A validation ping is sent to verify the new URL.

events
enum<string>[]

Updated array of event types to subscribe to.

Available options:
payment.completed,
payment.failed,
payment.cancelled,
payment.timeout
description
string

Updated description for this endpoint.

status
enum<string>

Endpoint status. Set to disabled to pause webhook delivery without deleting the endpoint.

Available options:
active,
disabled
metadata
object

Updated custom metadata.

Response

Webhook endpoint updated successfully

endpointId
string
required

Unique identifier for the webhook endpoint.

url
string<uri>
required

The HTTPS URL where webhook payloads are delivered.

events
enum<string>[]
required

Event types this endpoint is subscribed to.

Available options:
payment.completed,
payment.failed,
payment.cancelled,
payment.timeout
status
enum<string>
required

Endpoint status.

Available options:
active,
disabled
createdAt
string<date-time>
required

ISO 8601 timestamp of when the endpoint was created.

updatedAt
string<date-time>
required

ISO 8601 timestamp of the last update.

description
string

Human-readable description for this endpoint.

metadata
object

Custom key-value pairs associated with this endpoint.