Table of contents

Receive Litecard Webhook Events: Register an Endpoint and Track Wallet Passes

This document provides a guide for integrating with Litecard’s webhook API. Litecard’s Webhooks allow you to receive various real-time events such as card creation or card download. In this guide, you will learn how to register a webhook endpoint to receive information back from Litecard. As a result, you will receive event data and can write it to your CDP or data warehouse.

Introduction

Our webhook API is designed to be straightforward and efficient, providing you with immediate notifications of significant events. By configuring a webhook endpoint, you can have our system push data to your application as events happen, rather than requiring you to poll our API regularly.

  1. Concepts

Webhook Endpoint

This is a URL on your server that our system will send HTTP POST requests to when an event occurs. Your server should be configured to listen for these requests and process the incoming data.

Events

These are specific actions or changes within our system that trigger a webhook notification. Each event type has a predefined data structure that will be included in the POST request body.

Payload

The data sent to your webhook endpoint in the body of the HTTP POST request. This payload will be in JSON format and will contain information about the event that occurred.

Authentication

When registering your webhook, you can either select NONE or API_KEY. None will mean no authentication is expected to communicate with your registered endpoint.

API_KEY means Litecard will use an API key with a designated header to call your registered endpoint.

Payload Structure

Sample Payload

{

      “event”: “string”,

      “timestamp”: “string”,

      “deviceType”: “string”,

      “status”: “string”,

      “data”: {}

}

Payload Schema

The JSON payload for each event will generally follow this structure:

FieldTypeDescriptionenum
eventStringThe name of the event CARD_CREATE CARD_UPDATE CARD_DOWNLOAD CARD_REMOVE REGISTER_WEBHOOK
timestampStringDate timestamp of the event
deviceTypeStringIf event CARD_DOWNLOAD or CARD_REMOVE , deviceType is included to indicate the user’s deviceAPPLE GOOGLE
statusStringThe general status of the CardCREATE ACTIVE INACTIVE
dataStringFor events CARD_CREATE and CARD_UPDATE. There is no set schema as it depends on the template used to generate the Card. For the CARD_UPDATE event, it will only include data fields that were updated during this event.
templateIdStringFor event CARD_CREATE, the ID of the the template used to generate the Card
templateNameStringFor event CARD_CREATE, the Name of the template used to generate the Card
cardIdStringFor all events, the ID of the card related to the event
  1. Available Events
Event TypeDescriptionData Fields
CARD_CREATETriggered when a card gets created via Litecard’s systemevent timestamp status data
CARD_UPDATETriggered when a card gets updated in Litecard’s systemevent timestamp status data
CARD_DOWNLOADTriggered when a user downloads a Litecard Card into their deviceevent timestamp status deviceType
CARD_REMOVETriggered when a user removes a Litecard Card from their deviceevent timestamp status deviceType
REGISTER_WEBHOOKRegister Webhook event, used to verify webhook connectionevent
  1. Registering your webhook

Endpoint Details

FieldDescription
Endpoint URL/api/v1/webhook/external
MethodPOST
DescriptionRegister a client webhook for supported events
AuthenticationBearer Token – see Litecard API guide for more details

Request JSON Payload Schema

The POST request to /api/v1/webhook/external can contain the following keys in the request payload

FieldTypeRequiredDescription
webhookUrlStringYesThe endpoint for Litecard to send the download data
methodStringYesHTTP Method etc POST
authTypeStringYesThe type of Auth to use for the webhook. Currently only supports API_KEY
authConfigauthConfigYesAuth configuration
eventsString[]YesList of events this Webhook should be subscribed to
providerStringNoCurrently not in use. 

authConfig Object Schema #

Configuration details for the webhook

FieldTypeRequiredDescription
securityHeaderStringYesSecurity Header that Litecard will include in calls to the webhook.
apiKeyStringYesAPI Key used to authenticate to the webhook. This will be stored securely.
  1. Responding to Webhooks

Your webhook endpoint should respond with an HTTP 200 OK status code within a reasonable timeframe (e.g., within 5 seconds) to acknowledge receipt of the webhook. Any other status code (e.g., 4xx or 5xx) will indicate a failure, and our system may retry sending the webhook.

  1.  Retry logic

Litecard will attempt to call the endpoint again when it does not receive a Status 200. Litecard utilises AWS’ SQS service to manage events and will attempt to retry up to 5 times with gradual delays between attempts until the event is resolved or the limit is reached. 

Thank you. For any further questions, please contact dev@litecard.com

Updated on September 22, 2026