Skip to main content

Update webhook subscription

PUT /webhook-subscriptions/{id}

Requires webhooks:write, public API access and webhook access for the organisation.

Authorization​

X-API-Key required

Parameters​

NameLocationTypeRequiredDescription
idpathstringYesRemyPass resource _id

Request Body​

FieldTypeRequiredLimitsDescription
namestringNomin length 1, max length 100Subscription name
descriptionstringNomax length 500
urlstring (uri)NoHTTPS receiver URL without embedded credentials
eventsarray of scan.created, member.created, member.updated, member.status_changed, member.deleted, membership.created, membership.updated, membership.activated, membership.renewed, membership.expiring, membership.expired, membership.cancellation_scheduled, membership.cancellation_revoked, membership.cancelled, membership.payment_succeeded, membership.payment_failed, membership.refund_created, membership.refund_succeeded, membership.refund_failed, membership_type.created, membership_type.updated, membership_type.archived, membership_type.deleted, event.created, event.updated, event.published, event.unpublished, event.visibility_changed, event.cancelled, event.deleted, event_registration.created, event_registration.confirmed, event_registration.updated, event_registration.cancelled, event_registration.checked_in, event_order.created, event_order.confirmed, event_order.cancelled, event_order.payment_succeeded, event_order.payment_failed, event_order.refund_created, event_order.refund_succeeded, event_order.refund_failed, donation.created, donation.payment_succeeded, donation.payment_failed, donation.refund_created, donation.refund_succeeded, donation.refund_failed, donation.dispute_opened, donation.dispute_closed, donation_subscription.created, donation_subscription.activated, donation_subscription.updated, donation_subscription.past_due, donation_subscription.cancellation_scheduled, donation_subscription.cancellation_revoked, donation_subscription.cancelled, donation_campaign.created, donation_campaign.updated, donation_campaign.published, donation_campaign.unpublished, donation_campaign.deletedNomin items 1, max items 63Non-empty event selection; duplicates are removed
headersobjectNoCustom headers replace the entire existing map when supplied; send to clear. Values cannot contain line breaks. Host, Content-Type, Content-Length, Connection, Transfer-Encoding and X-RemyPass-* names are reserved. Values and signing secrets are never returned by reads
activebooleanNoEnable or disable delivery

Only supplied fields are changed. Headers replace the existing map. Setting active to false stops queued delivery when workers next check access. Signing secrets and custom header values are excluded from the response.

Request Examples​

curl -X PUT "https://api.remypass.com/api/v1/public/webhook-subscriptions/507f1f77bcf86cd799439011" \
  -H "Accept: application/json" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "CRM sync",
  "description": "Synchronise member changes",
  "url": "https://example.com/webhooks/remypass",
  "events": [
    "member.created",
    "member.updated"
  ],
  "headers": {
    "X-Integration": "crm"
  },
  "active": true
}'

Responses​

StatusDescription
200Success
400Bad request. The top-level message explains what is invalid and, where applicable, the errors array contains structured field details.
401Missing or invalid API key.
403The caller is not allowed to access this resource.
404Resource not found.
429Rate limit exceeded.
500Server error.

200 Response Example​

{
"success": true,
"message": "Success",
"data": {
"_id": "507f1f77bcf86cd799439011",
"name": "Example",
"description": "example",
"url": "https://example.com/webhook",
"events": [
"scan.created"
],
"active": true,
"lastDeliveryAt": "2026-10-06T12:00:00.000Z",
"lastSuccessfulDeliveryAt": "2026-10-06T12:00:00.000Z",
"failureCount": 0,
"maxRetries": 3,
"retryDelaySeconds": 60,
"timeoutSeconds": 30,
"createdAt": "2026-10-06T12:00:00.000Z",
"updatedAt": "2026-10-06T12:00:00.000Z"
}
}

Response Fields​

FieldTypeDescriptionAttributes
successboolean
messagestring
dataobject
Show child attributes
  • _id: string — RemyPass record _id
  • name: string — name
  • description: string — description
  • url: string — url
  • events: array of scan.created, member.created, member.updated, member.status_changed, member.deleted, membership.created, membership.updated, membership.activated, membership.renewed, membership.expiring, membership.expired, membership.cancellation_scheduled, membership.cancellation_revoked, membership.cancelled, membership.payment_succeeded, membership.payment_failed, membership.refund_created, membership.refund_succeeded, membership.refund_failed, membership_type.created, membership_type.updated, membership_type.archived, membership_type.deleted, event.created, event.updated, event.published, event.unpublished, event.visibility_changed, event.cancelled, event.deleted, event_registration.created, event_registration.confirmed, event_registration.updated, event_registration.cancelled, event_registration.checked_in, event_order.created, event_order.confirmed, event_order.cancelled, event_order.payment_succeeded, event_order.payment_failed, event_order.refund_created, event_order.refund_succeeded, event_order.refund_failed, donation.created, donation.payment_succeeded, donation.payment_failed, donation.refund_created, donation.refund_succeeded, donation.refund_failed, donation.dispute_opened, donation.dispute_closed, donation_subscription.created, donation_subscription.activated, donation_subscription.updated, donation_subscription.past_due, donation_subscription.cancellation_scheduled, donation_subscription.cancellation_revoked, donation_subscription.cancelled, donation_campaign.created, donation_campaign.updated, donation_campaign.published, donation_campaign.unpublished, donation_campaign.deleted — events
  • active: boolean — active
  • lastDeliveryAt: string (date-time) — last Delivery At
  • lastSuccessfulDeliveryAt: string (date-time) — last Successful Delivery At
  • failureCount: number — failure Count
  • maxRetries: number — max Retries
  • retryDelaySeconds: number — retry Delay Seconds
  • timeoutSeconds: number — timeout Seconds
  • createdAt: string (date-time) — created At
  • updatedAt: string (date-time) — updated At