Litecard Template Creation API Guide

A Litecard Template is required to generate a Litecard card (or Apple/Google wallet pass). It stores information such as the images, colours and links the Card contains. This guide will assist users in generating their own template via API. 

It is highly recommended that customers build their template via the Litecard Template builder available in their dashboard.

Here are the Litecard Template Design guidelines: https://docs.google.com/presentation/d/1FlL8XzK1PO3UT4vpPbx49jJbXhK79mgeems0NVz3CCo/

The Swagger docs for this template can be found here:

Demo Environment: https://bff-api.demo.litecard.io/api/v1/swagger#/Card%20Template/createTemplate_v1 

Production Environment:  https://bff-api.enterprise.litecard.io/api/v1/swagger#/Card%20Template/createTemplate_v1 

Endpoint Details

FieldDescription
Endpoint URL/api/v1/template
MethodPOST
DescriptionUsed to generate a Liteard Template
AuthenticationBearer Token – see Litecard API guide for more details

Request JSON Payload Schema

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

FieldTypeRequiredDescription
nameStringYesThe name of the new resource. Must be unique.
descriptionStringYesA brief description of the resource.
businessNameStringYesThe current status of the resource. Allowed values: active, inactive, pending.
isInternalBooleanNoA collection of key-value pairs representing additional attributes.
typeStringNoA list of tags associated with the resource.
externalIdStringYesThe date and time when the resource was created.
settingsSettings ObjectNoA collection of various settings
stripeSettingsObjectNoSettings required to configure a stripe integration
appleWalletSettingsappleWalletSettings ObjectYesApple specific settings
googleWalletSettingsgoogleWalletSettings ObjectYesGoogle specific settings
samsungWalletSettingsObjectNoSamsung specific settings
colourscolours ObjectYesObject defining the colours used on the Card
imagesimages ObjectYesObject defining the images used on the Card
barcodebarcode ObjectYesObject defining the barcode on the Card
locationsArray of location ObjectsNoArray of Objects for geo-location notifications
linksArray of link ObjectsNoArray of Objects for the various links on the Card
dataFieldsArray of dataField ObjectsNoArray of Objects describing the fields on the Card as well as any additional data points that would be collected.
certificatesObjectNoCertificates used to generate the Card
Actions  (depreciated)Array of ObjectsNoArray of actions to use for the Card
rateLimit  (depreciated)ObjectNoLitecard scanning purposes, to define if there’s a cooldown between scans
appLinkingappLinking ObjectNoObject to define any related applications for the 
shopifySettingsObjectNoObject to define settings to configure a shopify integration
Notifications (depreciated)Array of ObjectsNoObject to define any special push notifications to generate
tierstiers ObjectNoObject to define any tiers for this template

settings Object Schema

The settings field is an optional object that has a collection of various settings to apply. A lot of these specific settings are Litecard Internal settings and will be designated as such below.

FieldTypeRequiredDescription
paymentRequiredBooleanNoSetting for litecard to know if this is a template that has a stripe integration
enforceUniqueEmailBooleanNoIf enabled, will only allow an email to be used once throughout the account
enforceUniquePhoneBooleanNoIf enabled, will only allow an phone to be used once throughout the account
resendForUniqueEmailBooleanNoIf enabled, will resend the email if the email is used in the Litecard signup form
resendForUniquePhoneBooleanNoIf enabled, will resend the SMS if the phone is used in the Litecard signup form
timezoneStringNoTimezone used for displayign dates and times on the pass. Default is UTC.Example: Australia/Melbourne
formPasswordStringNoIf the signup form is private, use this to set up a password.
primaryContactStringNoIf Email and Phone is present, the primaryContact medium will be used for download links
externalProvider (Litecard Setting)StringNoSetting to determine if there’s any external integration required
disableDownloadBooleanNoIf enabled, the download link will be disabled if the pass is already activated on a device.
quickSignUp (Litecard setting)BooleanNoLitecard internal setting to determine a quick sign up form.
isDeduplicateDeviceAndIpBooleanNoTied into quickSingups, settings to prevent users on the same IP from generating multiple quick passes
externalSystemConfigObjectNoAdditional settings required for external integration
disableInvitationEmailBooleanNoSetting to completely disable the Litecard Invitation Email
disableInvitationSMSBooleanNoSetting to completely disable the Litecard Invitation SMS
muktiTierBooleanNoSetting to flag whether this template contains multiple tiers

dataField Object Schema

The dataField field is an array of objects that defines the various fields that can appear on the pass and what other additional values may be collected at the time of Card creation. These values  could include things like email or phone number.

A field on pass can have a dynamic of a static value. Static value means all cards created using this template will have the same value. Examples of this would be a welcome field at the back of the Card. A dynamic field will have the value sourced either via Litecard’s sign up form or inside the ‘cardPayload’ during a card creation API call.

How Litecard knows if a field is dynamic is via the combination of keys userCanEdit and formFieldSettings.  userCanEdit lets Litecard know it’s dynamic and formFieldSettings lets Litecard know if there’s any specific formatting requirements and other rules. 

The usage array is used to notify which platform this field will be used if used at all on a Card. If APPLE_WALLET is present then appleFieldSettings needs to be present. Same thing with GOOGLE_WALLET. Details will be provided at the subsequent sections.

FieldTypeRequiredDescription
keyStringYesName key of the dataField
labelStringYesLabel key for the dataField, to be used as the end user readable Field in Litecard forms if applicable.
usageArray of StringsYesArray containing these values if applicable: “NOT_USED”, “APPLE_WALLET”, “GOOGLE_WALLET”, “SAMSUNG_WALLET”
usercanEditBooleanYesIf enabled, dataField is designated as dynamic
appleFieldSettingsObjectNoObject defining where the field is mapped to on an Apple Card
googleFieldSettingsObjectNoObject defining where the field is mapped to on a Google Card
samsungFieldSettingsObjectNoObject defining where the field is mapped to on a SamsungCard
formFieldSettingsObjectNoObject defining the format the data needs to be in and how the Litecard form should display it
defaultCountryCodeStringNoDefault country code for phone number field
defaultValueStringNoDefault value to set the field. This is required for static fields
descriptionStringNoDescription for the dataField
helpTextStringNoHelp text to be displayed next to the field label on a Litecard form
formatterStringNoFormatter to be used for the fieldAcceptable value: initials
currencyCodeStringNoISO 4217 currency code
frontEndMapping (depreciated)Array of StringsNoArray to determine if the value is rendered in the Litecard dashboard.
uniqueValueBooleanNoOnly applicable for segments

appleFieldSettings Object Schema #

The appleFieldSettings field is to designate where the data is displayed on the Apple Card. Some fields are restricted depending on the pass type, you can find out specific restrictions for Apple in the Apple Wallet design docs found here. 

FieldTypeRequiredDescriptionenum
positionNumber/IntegerYesTo designate the position of the field relative to the other dataFields that share the same location
locationStringYesDesignates where the on the pass the dataField is displayed“PRIMARY_FIELD”,”HEADER_FIELD”,”SECONDARY_FIELD”,”AUXILIARY_FIELD”,”BACK_FIELD”,
changeMessageStringNoUsed for the field designated as the Push NotificationField. Default value should be %@
dateStyleStringNoStyle of the date to be displayed
For Example:
Short = 11/23/37Medium = Nov 23, 1937
“NOT_USED”, “NONE”, “SHORT”, “MEDIUM”, “LONG”, “FULL”
timeStyleStringNoStyle of the time to be displayed
For Example:
Short =  3:30 PMMedium = 3:30:32 PM
“NOT_USED”, “NONE”, “SHORT”, “MEDIUM”, “LONG”, “FULL”
numberStyleStringNoStyle for the number to be displayed see here“NOT_USED”, “DECIMAL”, “PERCENT”, “SCIENTIFIC”, “SPELLOUT”
textAlignmentStringNoOptional argument that sets the text alignment of the field text. This value is not allowed on primary or back fields.“PKTextAlignmentLeft”, “PKTextAlignmentCenter”, “PKTextAlignmentRight”,
“PKTextAlignmentNatural”,
ignoreTimeZoneBooleanNoAlways display the time and date in the given time zone, not in the user’s current time zone. The default value is false.
isRelativeDateBooleanNoIf true, the label’s value is displayed as a relative date; otherwise, it is displayed as an absolute date. The default value is false.”

googleFieldSettings Object Schema #

The googleFieldSettings field is to designate where the data is displayed on the Google Card. Please follow the google guidelines to determine which fields are available on which Google PassType. You can find the docs here. 

When a Location is set to TEXT_MODULE_DATA and cardRow is set to true, the dataField will be displayed on the front of the Card. Here is how the position dictates where the field is displayed.

Note: Those values for the row only apply if the previous row exists. For example if you have fields in position 3 and 6 but none in 0,1,2 then the rows will be shifted up.

FieldTypeRequiredDescriptionenum
LocationStringYesLocation where the data is displayed. Some values are for specific google types only. Please follow the google guidelines linked above.“NOT_USED”,”ACCOUNT_NAME”,”LOYALTY_POINTS”,”TEXT_MODULE_DATA”,”MESSAGES”,”OFFER_FINEPRINT”,”OFFER_DETAILS”,”EVENT_VENUE”,”EVENT_SECTION”,”EVENT_SEAT”,”EVENT_ROW”,”EVENT_GATE”,”EVENT_DOORS_OPEN”,”EVENT_START”,”EVENT_END”,”EVENT_TICKET_TYPE”,”EVENT_TICKET_MONEY”,”EVENT_CONFIRMATION_CODE”,
positionNumber/IntegerNoTo designate the position of the field relative to the other dataFields that share the same location
cardRowBooleanNoDesignates if this field is to be displayed at the front of the pass.
fieldTypeStringNoIf using MESSAGES location, what type of MESSAGE field it is“TEXT”, “TEXT_AND_NOTIFY”

formFieldSettings Object Schema #

The formFieldSettings field is used to determine what type of data is ingested either via the Litecard signup form or via Litecard Card creation API.

FieldTypeRequiredDescriptionenum
positionNumber/IntegarYesWhat position it will appear on the form
placeHolderTextStringYesSample text that displays on the text box before field is filled in
dataTypeStringYesWhat type of data the field should take“radio”,”select”,”text”,”textArea”,”number”,”phone”,”date”,”dateTime”,”image”,”nationality”,
rulesArray of StringsNoSpecific validation rules“required”, “phone”, “email”, “integer”
usageArray of StringsNoWhether the form appears on the public sign up form or private sign up form or whether it relates to an external integration“PRIVATE”, “PUBLIC”, “EXTERNAL”
optionsArray of ObjectNoIf dataType is radio or select , this array of object provides the available options that appear.
The keys required in the object: Value – the value the gets passed through to LitecardTitle – the value that is displayed on the formOrder – ordering for the drop down / radio list
externalProviderMappingStringNo“LOYALTY_MEMBER_ID”,”LOYALTY_POINTS”,”CUSTOMER_ID”,”VOUCHER_CODE”,”VALID_EMAIL”,”VALID_EMAIL_MAPPING_CODE”,
externalMappingKeyStringNo

appleWalletSettings Object Schema

The appleWalletSettings field is a required object that contains a collection of Apple specific settings such as the passType. 

FieldTypeRequiredDescription
passTypeStringYesAvailable Pass Types:
hideLogoBooleanNoHides the logo on the top right of Apple Wallet Cards
hideLogoTextBooleanNoHides the logo text (businessName) next to the logo
disableSharingBooleanNoRemoves the share button found at the bottom of an Apple Card

googleWalletSettings Object Schema

The googleWalletSettings field is a required object that contains a collection of Apple specific settings such as the passType. 

FieldTypeRequiredDescriptionenum
passTypeStringYesGoogle specific pass type. It is recommended to use GENERIC“EVENT_TICKET”, “FLIGHT”, “GIFT_CARD”, “LOYALTY”, “OFFER”,  “TRANSIT”,”GENERIC”,
securityShimmerBooleanNoIf enabled, an animated colour border will appear around the barcode / QR code to prevent screenshots.
multipleDevicesAndUsersStatusStringNoSetting to determine whether the pass can be added to multiple accounts / multiple devices.“MULTIPLE_HOLDERS”, “ONE_USER_ALL_DEVICES”, “ONE_USER_ONE_DEVICE”
titleStringNoText that appears beside your logo on the pass
headerStringNoText that appears within your pass before expanding
subHeaderStringNoThe Label for the header section
offerObjectNoObject for offer specific settings. See swagger docs for more information
eventTicketObjectNoObject for event specific settings. See swagger docs for more information.

colours Object Schema

The colours field is a required object that designates what colours are to be used for various sections of the Card. 

FieldTypeRequiredDescription
backgroundString ( colour in HEX code)NoColour of the background. Applies for Apple and Google Cards
labelString ( colour in HEX code)NoColor of the labels for apple Cards
foregroundString ( colour in HEX code)NoColor of the text for apple Cards

images Object Schema

The images field is an optional object that defines what images are used for the pass. 

FieldTypeRequiredDescription
logoStringNoURL to an image to be used as the Logo on the card
heroStringNoURL to an image to be used for Google’s strip image
stripStringNoURL to an image to be used for Apple’s strip image
appleLogoOverrideStringNoURL to an image to be used for Apples Logo only
iconStringNoURL to an image to be used for the Apple icon
thumbnailStringNoURL to an image to be used by Apple for Event and Generic Card Types.
backgroundStringNoURL to an image to be used as the background for Apple Event tickets

barcode Object Schema

The barcode field is a required object that defines if a barcode is used, what type of barcode is it and how the barcode value is sourced.

FieldTypeRequiredDescription
barcodeValueStringNoTo define what the barcode Value is across all Cards of this template. There are some replacement values to be used for individual barcode values.{PASS_ID}  – use this to set the Litecard ID as the barcodeValue{CUSTOM} – to be used with the fieldMap value, this sets the value of a dataField as the barcode value
messageEncodingStringNoMessage encoding of the barcode. Nullable: true
typeStringNoType of Barcode. Available types: “NOT_USED”, “QR_CODE”, “CODE_128”, “PDF_417”, “AZTEC”
altTextStringNoTo mask the barcode value under the barcode. Can be set to null to display the barcode Value
fieldMapStringNoRequired if barcodeValue is set to {CUSTOM}. Should be a value of a dataField key.

link Object Schema

The link object describes the link that would be displayed on the back of the Card.

FieldTypeRequiredDescriptionenum
idStringNoID of the Link. Not required.
uriStringNoThe URL of the link
hyperlinkTextStringNoFor Apple devices, the texts that can accompany the link. Please use ${} notation to hyperlink the text inside the bracket with the uri provided
titleStringNoThe field label
typeStringNo
usageArray of StringsNoWhat devices the link appears on“NOT_USED”, “APPLE_WALLET”, “GOOGLE_WALLET”, “SAMSUNG_WALLET”
positionNumber/IntegerNoHow the link is position relative to the other l

location Object Schema

The location field is an optional field that defines the various tiers. Each key will be the tier name available e.g  “GOLD”, and each key will be an object of the various changes

FieldTypeRequiredDescriptionenum
idStringNoThe ID of the Location. Not required
latStringNoFor Apple Geo Location Notification, Latitude coordinate
lonStringNoFor Apple Geo Location Notification, Longitude coordinate
appleObjectNoFor Apple Geo Location Notification, lockScreenMessage is required for the message.
beaconIdstringNoFor Apple Geo Location Notification, alternative solution to lat / lon. Need to provide the UUID of the beacon
samsungObjectNoSamsung specific settings
orderNumber/IntegerNoMainly in use to determine if a message gets overwritten when there’s a location Object inside a tier
usageArray of StringsNoString to confirm which device this location is for“APPLE_WALLET”,”SAMSUNG_WALLET”

cardExpiry Object Schema

The cardExpiry field is an optional field that defines when the pass expires. There are a number of ways the expiry can be calculated, either via a set date or set amount of time after the Card is generated.

FieldTypeRequiredDescriptionenum
expiryTypeStringYesThe type of Expiry“NEVER”, “FIXED_DATE”, “FROM_ACTIVATION”, “FIXED_SCANS” (depreciated)
startDateStringNoIf expiryType is FIXED_DATE,start date can be configured so the Card is active
endDateStringNoIf expiryType is FIXED_DATE,end date can be configured for when the Card should be expired and removed from the user’s wallet
fromActivationfromActivation ObjectYes (if expiryType is fromActivation)Object Detailing the configuration for expiry when expiryType is FROM_ACTIVATION

fromActivation Object Schema #

The fromActivation field is an optional field that defines when the pass expires. There are a number of ways the expiry can be calculated, either via a set date or set amount of time after the Card is generated.

FieldTypeRequiredDescriptionenum
amountStringNoThe amount of time (measurement configured below) between the activation of the card produced by this template, and the expiry date.
measurementStringNoThe unit of measurement to calculate the amount of time between the activation of the card produced by this template, and the expiry dateDAYS”, “MONTHS”, “YEARS”
timezoneStringNoBy default expiry is set as UTC. This is to set it as a specific timezone“Australia/Adelaide”,”Australia/Brisbane”,”Australia/Darwin”,”Australia/Hobart”,”Australia/Melbourne”,”Australia/Perth”,”Australia/Sydney”,

appLinking Object Schema

The appLinking field is an optional field that defines  if there should be any Mobile Application that should be associated with the pass. Apple and Google display the app differently but this setting allows the convenient association with a Client’s application.

FieldTypeRequiredDescription
appleSettingsappleSettings ObjectNoThe configuration to set up the AppLinking for an Apple Device and iOS application
googleSettingsgoogleSetings ObjectNoThe configuration to set up the Applinking for a Google Device and an Android application

appleSettings Object Schema #

The appleSettings field is to configure the apple application associated with the Apple Card

FieldTypeRequiredDescription
storeIdentifierNumberYesThe Apple Store ID of the Application. You can get the ID by getting the number at the end of the URL of the application on the apple web store.

googleSettings Object Schema #

The googleSettings field is to configure the Android application associated with the Google Card

FieldTypeRequiredDescription
titleStringNoTitle for the Application
appLogo (depreciated)StringNo
appUriStringNoThe URL to the application on the Android webstore page
descriptionStringNoDescription for the Application

tiers Object Schema

The tiers field is an optional field that defines the various tiers. Each key will be the tier name available e.g  “GOLD”, and each key will be an object of the various changes

FieldTypeRequiredDescription
*tier objectNoThe key is the name of the tier and the value is an object describing the differences for the tier

tier Object Schema #

The tier field is an object describing the key values that differ between tiers. 

Note: All dataFields must be a static one. Any dataFields that have the same location and position, the tier dataField will replace the base dataField.

FieldTypeRequiredNote / Description
defaultBooleanYesKey to notify which tier is the default one to be used if a tier is not provided. There can only be 1 default tier.
cardExpiryNo
colourscolours ObjectNo
Google PassType must be set to GENERIC
imagesimages ObjectNo
barcodebarcode ObjectNo
locationsArray of location ObjectsNoReplacements cannot happen unless order has been used for all location objects
linksArray of link ObjectNoIf position has not been provided, the tier links will appear before the base links. Replacements cannot happen unless position has been used for all link objects
dataFieldsArray of dataField ObjectNoAll dataFields must be static

Example Request Payload

{

  “appleWalletSettings”: {

   “hideLogoText”: true,

   “passType”: “STORE_CARD”

  },

  “barcode”: {

   “altText”: “”,

   “barcodeValue”: “${CUSTOM}”,

   “messageEncoding”: “iso-8859-1”,

   “type”: “CODE_128”,

   “fieldMap”: “memberId”

  },

  “businessName”: “Generic Library”,

  “cardExpiry”: {

    “expiryType”: “FROM_ACTIVATION”,

    “fromActivation”: {

      “amount”: “1”,

      “measurement”: “YEARS”

    }

  },

  “colours”: {

   “background”: “#000000”,

   “foreground”: “#ffffff”,

   “label”: “#ffffff”

  },

  “dataFields”: [

   {

    “appleFieldSettings”: {

     “dateStyle”: “NOT_USED”,

     “location”: “SECONDARY_FIELD”,

     “position”: 0,

     “timeStyle”: “NOT_USED”

    },

    “description”: “The user’s full name.”,

    “googleFieldSettings”: {

     “location”: “TEXT_MODULE_DATA”,

     “cardRow”: true,

     “position”: 0

    },

    “key”: “fullName”,

    “label”: “Name”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ],

    “userCanEdit”: false

   },

   {

    “description”: “The user’s email address.”,

    “formFieldSettings”: {

     “dataType”: “text”,

     “placeHolderText”: “Email”,

     “position”: 0,

     “rules”: [

      “required”,

      “email”

     ]

    },

    “key”: “email”,

    “label”: “Email”,

    “usage”: [

    ],

    “userCanEdit”: true

   },

   {

    “appleFieldSettings”: {

     “location”: “HEADER_FIELD”,

     “position”: 0

    },

    “description”: “Points”,

    “defaultValue”: 0,

    “formFieldSettings”: {

      “dataType”: “number”,

      “placeHolderText”: “Points”,

      “position”: 2,

      “rules”: [

      ]

     },

    “googleFieldSettings”: {

     “location”: “TEXT_MODULE_DATA”,

     “position”: 1,

     “cardRow”: true

    },

    “key”: “points”,

    “label”: “Points”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ],

    “userCanEdit”: true

   },

   {

    “appleFieldSettings”: {

     “dateStyle”: “NOT_USED”,

     “location”: “SECONDARY_FIELD”,

     “position”: 1,

     “timeStyle”: “NONE”

    },

    “defaultValue”: “Social Member”,

    “description”: “Status”,

    “googleFieldSettings”: {

     “location”: “TEXT_MODULE_DATA”,

     “position”: 3,

     “cardRow”: true

    },

    “formFieldSettings”: {

      “dataType”: “text”,

      “placeHolderText”: “memberId”,

      “position”: 1,

      “rules”: [

       “required”

      ]

     },

    “key”: “memberId”,

    “label”: “Member Id”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ],

    “userCanEdit”: true

   },

   {

    “appleFieldSettings”: {

     “changeMessage”: “%@”,

     “dateStyle”: “NOT_USED”,

     “location”: “BACK_FIELD”,

     “position”: 3,

     “timeStyle”: “NOT_USED”

    },

    “defaultValue”: “No new notifications”,

    “description”: “Field Used to display push notifications”,

    “googleFieldSettings”: {

     “location”: “TEXT_MODULE_DATA”,

     “position”: 5

    },

    “key”: “notificationKey”,

    “label”: “Notifications”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ],

    “userCanEdit”: false

   },

   {

    “appleFieldSettings”: {

     “dateStyle”: “NOT_USED”,

     “location”: “BACK_FIELD”,

     “position”: 0,

     “timeStyle”: “NOT_USED”

    },

    “defaultValue”: “This is your digital library card to use across different facilities provided by the NSW State Library.\nScan or show your digital pass when you checkout books or print in place of your physical card.\nAdditionally present your pass at partnering retailers for discounts and exclusive offers.”,

    “description”: “Introduction”,

    “googleFieldSettings”: {

     “location”: “TEXT_MODULE_DATA”,

     “position”: 2

    },

    “key”: “intro”,

    “label”: “Digital Membership”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ],

    “userCanEdit”: false

   }

  ],

  “description”: “Your Digital Library Card”,

  “googleWalletSettings”: {

   “passType”: “GENERIC”,

   “title”: “Generic Library”,

   “header”: “Your Digital Library Card”

  },

  “images”: {

   “icon”: “https://lc-business-assets-demo.s3.ap-southeast-2.amazonaws.com/generic/stalib_logo%403x.png”,

   “logo”: “https://lc-business-assets-demo.s3.ap-southeast-2.amazonaws.com/generic/stalib_logo%403x.png”,

   “hero”: “https://lc-business-assets-demo.s3.ap-southeast-2.amazonaws.com/generic/stalib_strip%403x.png”,

   “strip”: “https://lc-business-assets-demo.s3.ap-southeast-2.amazonaws.com/generic/stalib_strip%403x.png”,

   “appleLogoOverride”: “https://lc-business-assets-demo.s3.ap-southeast-2.amazonaws.com/generic/stalibApple_logo%403x.png”

  },

  “isInternal”: false,

  “links”: [

   {

    “hyperlinkText”: “You will receive periodic alerts and notifications through this digital pass or via email. More important information can be found ${here}”,

    “position”: 0,

    “title”: “Important Updates and Events “,

    “type”: “URI_WEB”,

    “uri”: “https://litecard.com.au”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ]

   },

   {

    “hyperlinkText”: “Login to your member account by clicking  ${here}”,

    “position”: 1,

    “title”: “Member Portal”,

    “type”: “URI_WEB”,

    “uri”: “https://litecard.com.au”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ]

   },

   {

    “hyperlinkText”: “Hire a venue ${here}”,

    “position”: 2,

    “title”: “Hire a Venue”,

    “type”: “URI_WEB”,

    “uri”: “https://litecard.com.au”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ]

   },

   {

    “hyperlinkText”: “Monday – Thursday\n9 am to 8 pm\nFriday\n9 am to 5 pm\nWeekends\n10 am to 5 pm\nView each rooms opening hours ${here}”,

    “position”: 3,

    “title”: “Opening Hours”,

    “type”: “URI_WEB”,

    “uri”: “https://litecard.com.au”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ]

   },

   {

    “hyperlinkText”: “View our contact details or submit an online enquiry ${here}\nPOWERED BY LITECARD “,

    “position”: 5,

    “title”: “Contact Us”,

    “type”: “URI_WEB”,

    “uri”: “https://litecard.com.au”,

    “usage”: [

     “APPLE_WALLET”,

     “GOOGLE_WALLET”

    ]

   }

  ],

  “name”: “Generic Template”,

  “status”: “ACTIVE”,

  “version”: 1

 }

Success Response JSON Payload Schema

A successful 201 Created response will return a JSON payload with the following structure:

FieldTypeDescriptionExample Value
templateIdStringThe unique identifier of the newly created template“template_abc123xyz”
formIdStringThe unique identifier of the newly created form“form_abc123xyz.”

Error Response JSON Payload Schema

Error responses will typically have a 4xx or 5xx status code and a JSON payload with the following structure:

FieldTypeDescriptionExample Value
errorCodeStringAn error code indicating the type of error.“INVALID_PAYLOAD”
messageStringA descriptive error message.“The provided payload is missing required fields.”
statusCodeNumber/IntegerRequest Status Code500

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

Updated on November 4, 2025