Add Webhook

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…

A webhook (also called a web callback or HTTP push API) is a mechanism that enables an app to provide other applications with real-time information. When you configure a webhook with webHookType set to HTTP, the system sends event notifications as HTTP POST requests to the specified webhook URL. If you configure webHookType as QUEUE_INT, events are published to an internal queue and are not delivered to external endpoints via HTTP callbacks.

👍

Note

For detailed information about our APIs and for hands-on testing, refer documentation in API overview and step-by-step guide on making your first API call in Make your first API call .

Prerequisites

  • Authentication - Basic or OAuth authentication details
  • Access group resource - Write permission on webhook resource group.

Resource information

URL/v3/webHooks
HTTP methodPOST
PaginationNA
Rate limitNA
Batch supportNA

API endpoint example

http://eu.api.capillarytech.com/v3/webHooks

Request body parameters

(Parameters marked with * are mandatory)TypeDescription
active*BooleanIndicates if the webhook is active.
customerIdentifiersToBeEnriched*ArrayList of customer identifiers to be enriched.
eventNames*ArrayList of event names that trigger the webhook.
Note: At least one event name is required.
maxAllowedConnections*IntegerMaximum connections allowed at the same time for this webhook.
methodType*StringHTTP method used by the webhook. Example: POST, PUT, GET or DELETE.
name*StringName of the webhook
Note: Name of the webhook should be unique.
slaInSecondsIntegerExpected delivery time of the event notification in seconds.
webHookHeaders*ArrayHeaders sent with the webhook request.
  • Authorization
StringAuthorization header for authentication.
  • Content-Type
StringSpecifies the content, Example: application/json
webHookType*StringType of webhook. Supported values:

  • HTTP: Delivers events to the specified webHookUrl using HTTP POST requests.

  • QUEUE_INT: Publishes events to an internal queue. No HTTP callbacks are made to external endpoints.
Note: Only webhooks with webHookType set to HTTP will trigger HTTP POST requests to the configured URL. If you select QUEUE_INT, no HTTP callbacks will be sent.
webHookUrl*StringURL where the webhook sends its requests.
curl --location 'http://eu.api.capillarytech.com/v3/webHooks' \
--header 'Content-Type: application/json' \
--header 'Authorization: Basic *********' \
--header 'Cookie: _cfuvid=yYsH7ns18uvZ6yJ8YEDgIPw.ZjqHMYsSsHCnY00XLAM-1764052824812-0.0.1.1-604800000' \
--data ' {
  "active": true,
  "customerIdentifiersToBeEnriched": [],
  "eventNames": [
    "loyaltyCustomerMerge",
    "partnerProgramLinked",
    "pointsExpired",
    "customerAdded",
    "transactionUpdated",
    "groupUpdated",
    "promisedToCurrentPointsConversion",
    "pointsTransferredReceived",
    "groupMemberRemoved",
    "groupCreated",
    "partnerProgramUpdated",
    "pointsIssued",
    "tierDowngradeReminder",
    "pointsContributionToGroup",
    "CouponRedeem",
    "pointsExpiryReminder",
    "partnerProgramDelinked",
    "CouponIssue",
    "tierRenewed",
    "tierDowngraded",
    "pointsTransferredInitiated",
    "customerUpdated",
    "tierUpgraded",
    "rewardIssued",
    "pointsExpiryChange",
    "rewardUpdated",
    "supplementaryMembershipExpiryReminder",
    "singlePointsExpiryUpdated",
    "issuedPointsReversed",
    "redeemedPointsReversed"
  ],
  "maxAllowedConnections": 10,
  "methodType": "POST",
  "name": "All_Events_v3",
  "slaInSeconds": 150,
  "webHookHeaders": {
    "Authorization": "Basic Q2FwaWxsYXJ5OklVTmhjR2xzYkdGeWVVQTROekl5",
    "Content-Type": "application/json"
  },
  "webHookType": "HTTP",
  "webHookUrl" : "https://eo4qiclzg50n2q8.m.pipedream.net"
 }'

Response body parameters

ParameterTypeDescription
dataObjectObject containing the webhook configuration details.
.attributionObjectMetadata about creation and last update.
..createdOnStringTimestamp when the webhook was created.
..createdOnISOStringCreation time in ISO format.
..lastUpdatedOnStringTimestamp when the webhook was last updated.
..lastUpdatedOnISOStringLast updated time in ISO format.
..lastUpdatedByObjectDetails of the user who last updated the webhook.
...idIntegerTill ID.
...codeStringTill code.
...descriptionStringDescription of the user.
...nameStringTill name
...typeStringType of user
Example: TILL
..createdByObjectDetails of the user who created the webhook.
...idIntegerTill ID.
...codeStringUser code.
...descriptionStringDetails of the user who created the webhook.
...nameStringUser name.
...typeStringType of user
Example: TILL
.webHookIdStringUnique identifier of the webhook.
.nameStringName of the webhook configuration.
.eventNamesArray of StringsList of events the webhook listens to.
.webHookUrlStringURL to which webhook events are delivered.
.webHookTypeStringType of webhook delivery mechanism Example: HTTP
.methodTypeStringHTTP method used to send webhook payload. Example: POST
.webHookHeadersObjectHeaders included in webhook requests.
..AuthorizationStringAuthorization header value.
..Content-TypeStringContent-Type header value.
.noOfRetryAttemptsIntegerNumber of retry attempts allowed.
.maxAllowedConnectionsIntegerMaximum number of concurrent webhook connections allowed.
.activeBooleanIndicates whether the webhook is active.
true — The webhook is active.
false — The webhook is inactive.
.slaInSecondsIntegerMaximum time expected for webhook processing.
.consumerGroupIdStringConsumer group identifier for event processing.
.listenToChildEventsBooleanIndicates whether child events are also listened to.
.tillDetailsEnrichmentEnabledBooleanEnables enrichment of till details in the event payload.
true — Till details are enriched.
false — Till details are not enriched.
.storeDetailsEnrichmentEnabledBooleanEnables store detail enrichment in event payload.
true — Store details are enriched.
false — Store details are not enriched.
.customerIdentifiersToBeEnrichedArrayList of customer identifiers to enrich in payload.
.awardedReferenceEnrichmentEnabledBooleanEnables enrichment of awarded reference information.
true — Awarded reference details are enriched.
false — Awarded reference details are not enriched.
.availablePointsBalanceEnrichmentEnabledBooleanEnables enrichment of available points balance.
true — Available points balance is enriched.
false — Available points balance is not enriched.
errorsObjectContains error details, if any.
warningsObjectContains warning details, if any.

Sample response

{
    "data": {
        "attribution": {
            "createdOn": "2025-11-25T06:40:06.036+0000",
            "createdOnISO": "2025-11-25T06:40:06Z",
            "lastUpdatedOn": "2025-11-25T06:40:06.036+0000",
            "lastUpdatedOnISO": "2025-11-25T06:40:06Z",
            "lastUpdatedBy": {
                "id": 75152722,
                "code": "divya_doc",
                "description": "",
                "name": "divya_doc",
                "type": "TILL"
            },
            "createdBy": {
                "id": 75152722,
                "code": "divya_doc",
                "description": "",
                "name": "divya_doc",
                "type": "TILL"
            }
        },
        "webHookId": "69254f46749e644bc01328c1",
        "name": "All_Events_v3",
        "eventNames": [
            "loyaltyCustomerMerge",
            "partnerProgramLinked",
            "pointsExpired",
            "customerAdded",
            "transactionUpdated",
            "groupUpdated",
            "promisedToCurrentPointsConversion",
            "pointsTransferredReceived",
            "groupMemberRemoved",
            "groupCreated",
            "partnerProgramUpdated",
            "pointsIssued",
            "tierDowngradeReminder",
            "pointsContributionToGroup",
            "CouponRedeem",
            "pointsExpiryReminder",
            "partnerProgramDelinked",
            "CouponIssue",
            "tierRenewed",
            "tierDowngraded",
            "pointsTransferredInitiated",
            "customerUpdated",
            "tierUpgraded",
            "rewardIssued",
            "pointsExpiryChange",
            "rewardUpdated",
            "supplementaryMembershipExpiryReminder",
            "singlePointsExpiryUpdated",
            "issuedPointsReversed",
            "redeemedPointsReversed"
        ],
        "webHookUrl": "https://eo4qiclzg50n2q8.m.pipedream.net",
        "webHookType": "HTTP",
        "methodType": "POST",
        "webHookHeaders": {
            "Authorization": "Basic Q2FwaWxsYXJ5OklVTmhjR2xzYkdGeWVVQTROekl5",
            "Content-Type": "application/json"
        },
        "noOfRetryAttempts": 0,
        "maxAllowedConnections": 10,
        "active": true,
        "slaInSeconds": 150,
        "consumerGroupId": "b3bd2ff7-1525-46d0-b855-08bee77209fc",
        "listenToChildEvents": false,
        "tillDetailsEnrichmentEnabled": false,
        "storeDetailsEnrichmentEnabled": false,
        "customerIdentifiersToBeEnriched": [],
        "awardedReferenceEnrichmentEnabled": false,
        "availablePointsBalanceEnrichmentEnabled": false
    },
    "errors": null,
    "warnings": null
}

API error codes

Error CodeDescription
51003eventNames can not be null
51007maxAllowedConnections must be greater than zero
300004maxAllowedConnections is missing from the body parameter
Body Params
boolean
required
customerIdentifiersToBeEnriched
array of strings
required
customerIdentifiersToBeEnriched*
eventNames
array of strings
required
eventNames*
int32
required
string
required
string
required
int32
webHookHeaders
array of strings
required
webHookHeaders*
string
required
string
required
Responses

Language
Credentials
Basic
base64
:
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json