circle-exclamation
This documentation is currently under development. Certain sections are not yet complete and will be added shortly.

Klaviyo

Update passes from Klaviyo campaigns

post
/api/{tenantId}/webhooks/listeners/klaviyo/passes/pushUpdate

Called by Klaviyo flows to update wallet pass data based on customer segments and marketing automation.

Authorization

Requires KlaviyoListener.Write scope.

Klaviyo Integration

Configured as a webhook action in Klaviyo flows:

  1. Klaviyo flow triggers (e.g., "Customer entered VIP segment")

  2. Flow sends webhook to this endpoint

  3. Pass is identified by custom identifiers (email, phone, customer ID)

  4. Pass data and metadata are updated

  5. Push notification sent to devices if installed

Identifiers

Flexible identifier matching supports:

  • email: Customer email address

  • phone: Phone number

  • customerId: Internal customer ID

  • Any custom identifier configured in pass

Update Options

  • passType: Convert pass to different type (e.g., basic → premium)

  • additionalData: Update custom fields (points, tier, offers)

  • updateMetadata: Recompute pass visuals (slower, use only when needed)

Use Cases

  • Update loyalty points from campaign

  • Add birthday offer to pass

  • Upgrade tier based on purchase behavior

  • Add personalized coupon codes

chevron-right
lockRequired scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired
Body
identifiersobject · nullableRequired

Identifiers used to locate the target pass (email, phone, customerId, etc.).

passTypestring · nullableOptional

Optional pass type to convert the pass to.

additionalDataobject · nullableOptional

Custom data applied to the pass payload.

updateMetadatabooleanOptional

When true, recomputes pass metadata and visuals.

Default: false
Responses
chevron-right
200

Pass update accepted.

No content

post
/api/{tenantId}/webhooks/listeners/klaviyo/passes/pushUpdate

No content

Synchronize Klaviyo customer profile

post
/api/{tenantId}/webhooks/listeners/klaviyo/profiles/sync

Receives and processes Klaviyo profile update webhooks for email and phone changes. Queues asynchronous tasks to synchronize data back to merchant systems.

Profile Updates Handled

  • Email address changes and subscriptions

  • Phone number updates

  • Consent and preference changes

  • Custom property modifications

Processing Flow

  1. Receive webhook with profile email and/or phone

  2. Find corresponding customer in local system

  3. Queue background task for synchronization

  4. Task updates customer record and associated passes

  5. Return 202 Accepted with correlation ID

Authorization

Requires TenantConfigurationAccessControlled and ApiThrottling attributes

chevron-right
lockRequired scopes
This endpoint requires the following scopes:
Authorizations
OAuth2implicitRequired
Authorization URL:
Path parameters
tenantIdstringRequired
Body
emailstring · nullableOptional

Customer email address used for synchronization.

phone_numberstring · nullableOptional

Customer phone number used for synchronization.

Responses
chevron-right
200

Profile synchronization task scheduled.

No content

post
/api/{tenantId}/webhooks/listeners/klaviyo/profiles/sync

No content

Last updated