Pass Template Management
This API allows you to create new pass templates including iOS 18 Enhanced Event Tickets, retrieve the complete structure and configuration of existing templates, and manage template settings.
Create a New Template
Create a new pass template with complete configuration including fields, styling, and properties.
URL Parameters
This endpoint has no path or query parameters.
Example URL
Request URL
https://app.passcreator.com/api/v2/pass-template
Authorization
- Name
Authorization- Type
- string
- (mandatory)
- Description
HTTP Header containing your API key. Replace yourApiKeyHere with your actual API key.
Example HTTP Header
HTTP header
POST /api/v2/pass-template HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json
Request Body
The request body must contain a JSON object with the template configuration. The JSON must conform to the template JSON Schema.
The following properties are based on the JSON Schema validation used by this endpoint. All properties are organized in the order they appear in the request examples.
- Name
name- Type
- string
- (mandatory)
- Description
The name of the template.
- Name
description- Type
- string
- (mandatory)
- Description
A description of the template.
- Name
organizationName- Type
- string
- (mandatory)
- Description
The organization name displayed on the pass.
- Name
type- Type
- enum<'coupon', 'storeCard', 'eventTicketBackground', 'eventTicket', 'generic', 'boardingPass'>
- (mandatory)
- Description
The type of pass template.
- Name
preferredStyleScheme- Type
- enum<'posterEventTicket', 'semanticBoardingPass'>
- (optional)
- Description
Preferred style scheme for the pass.
- Name
transitType- Type
- enum<'PKTransitTypeAir', 'PKTransitTypeBoat', 'PKTransitTypeBus', 'PKTransitTypeGeneric', 'PKTransitTypeTrain'>
- (optional)
- Description
Transit type for boarding passes. Only relevant when type is boardingPass.
- Name
walletApps- Type
- object
- (optional)
- Description
Wallet applications configuration.
- Name
walletApps.apple- Type
- object
- (optional)
- Description
Apple Wallet configuration.
- Name
walletApps.apple.appleWallet- Type
- object
- (optional)
- Description
Apple Wallet specific settings.
- Name
walletApps.apple.appleWallet.active- Type
- boolean
- (optional)
- Description
Default: true
Enable Apple Wallet support.
- Name
walletApps.android- Type
- object
- (optional)
- Description
Android wallet applications configuration.
- Name
walletApps.android.primary- Type
- object
- (optional)
- Description
Primary Android wallet app configuration.
- Name
walletApps.android.secondary- Type
- object
- (optional)
- Description
Secondary Android wallet app configuration.
- Name
walletApps.android.samsung- Type
- object
- (optional)
- Description
Samsung Wallet configuration.
- Name
walletApps.android.samsung.active- Type
- boolean
- (optional)
- Description
Enable Samsung Wallet support.
- Name
googlePayActive- Type
- boolean
- (optional)
- Description
Default: false
Enable Google Pay support for this template.
- Name
archived- Type
- boolean
- (optional)
- Description
Default: false
Whether the template is archived.
- Name
huaweiWalletActive- Type
- boolean
- (optional)
- Description
Default: false
Enable Huawei Wallet support for this template.
- Name
passTypeId- Type
- string
- (mandatory)
- Description
The name of a pass type ID that exists in your account.
- Name
passTypeIdExpiration- Type
- string
- (optional)
- Description
Describes when the certificate of an existing template expires.
- Name
expiration- Type
- object
- (optional)
- Description
Pass expiration configuration object.
- Name
expiration.expirationDate- Type
- string
- (optional)
- Description
Template expiration date (format: YYYY-MM-DD HH:MM).
- Name
expiration.expirationDateDifferentForEachPass- Type
- boolean
- (optional)
- Description
If true the system will ask for an expiration date on pass creation.
- Name
expiration.limitExpirationDateOfPassWithTemplate- Type
- boolean
- (optional)
- Description
If true the expiration date of a pass can't be after that of the template.
- Name
expiration.fallbackToTemplateExpirationDateIfEmpty- Type
- boolean
- (optional)
- Description
If true the expiration date of the template will be used if the pass' expiration date is empty.
- Name
expiration.validityInDays- Type
- integer
- (optional)
- Description
The number of days a pass is valid counting from the created on date and time. The pass will always be valid until 23:59 o'clock on the day when it expires.
- Name
relevantDate- Type
- string
- (optional)
- Description
Date and time when the pass becomes relevant (format: YYYY-MM-DD HH:MM).
- Name
relevantDates- Type
- array<object>
- (optional)
- Description
Array of relevant date periods.
- Name
relevantDates[].startDate- Type
- string
- (mandatory)
- Description
Start date for the relevant period (ISO 8601 format with timezone, required if relevantDates is present).
- Name
relevantDates[].endDate- Type
- string
- (mandatory)
- Description
End date for the relevant period (ISO 8601 format with timezone, required if relevantDates is present).
- Name
relevantDateDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether each pass can have its own relevant date.
- Name
excludeRelevantDateIfLocationsSetOnIos- Type
- boolean
- (optional)
- Description
Default: false
If locations are used, the relevant date won't be set on Apple devices if this property is true.
- Name
validAsOfDateDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether valid-as-of date varies per pass.
- Name
logoText- Type
- string
- (optional)
- Description
Text displayed next to the logo.
- Name
fields- Type
- object
- (mandatory)
- Description
Field configuration for the pass layout. See the field configuration section below for complete structure and options.
- Name
fields.headerFields- Type
- array<object>
- (optional)
- Description
Fields displayed in the header area of the pass.
- Name
fields.primaryFields- Type
- array<object>
- (optional)
- Description
Primary fields displayed prominently on the pass.
- Name
fields.secondaryFields- Type
- array<object>
- (optional)
- Description
Secondary information fields on the pass.
- Name
fields.auxiliaryFields- Type
- array<object>
- (optional)
- Description
Auxiliary information fields on the pass.
- Name
fields.backFields- Type
- array<object>
- (optional)
- Description
Fields displayed on the back of the pass.
- Name
fields.*[].type- Type
- enum<'text', 'number', 'currency', 'date', 'dateTime'>
- (mandatory)
- Description
The type of field.
- Name
fields.*[].label- Type
- string
- (optional)
- Description
Label displayed above the field value.
- Name
fields.*[].value- Type
- string
- (optional)
- Description
The field value or placeholder.
- Name
fields.*[].changeMessage- Type
- string
- (optional)
- Description
Message shown when field value changes.
- Name
fields.*[].condition- Type
- string
- (optional)
- Description
Condition for displaying the field.
- Name
fields.*[].useAutoId- Type
- boolean
- (optional)
- Description
Default: false
Use auto-generated ID for this field.
- Name
fields.*[].ignoresTimezone- Type
- boolean
- (optional)
- Description
Default: false
Ignore timezone for date fields.
- Name
fields.*[].isRelative- Type
- boolean
- (optional)
- Description
Default: false
Display date as relative time.
- Name
fields.*[].dateStyle- Type
- enum<'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'>
- (optional)
- Description
Date formatting style for date fields.
- Name
fields.*[].timeStyle- Type
- enum<'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'>
- (optional)
- Description
Time formatting style for date fields.
- Name
fields.*[].numberStyle- Type
- enum<'PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'>
- (optional)
- Description
Number formatting style for numeric fields.
- Name
fields.*[].currencyCode- Type
- string
- (optional)
- Description
ISO currency code for currency fields (e.g., EUR, USD).
- Name
fields.*[].alignment- Type
- enum<'PKTextAlignmentNatural', 'PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight'>
- (optional)
- Description
Text alignment for the field.
- Name
fields.*[].voidedLabel- Type
- string
- (optional)
- Description
Label shown when pass is voided.
- Name
fields.*[].voidedValue- Type
- string
- (optional)
- Description
Value shown when pass is voided.
- Name
fields.*[].androidValue- Type
- string
- (optional)
- Description
Android-specific field value.
- Name
nfcEnabled- Type
- boolean
- (optional)
- Description
Default: false
Enable NFC functionality for the pass.
- Name
passDownloadDeactivated- Type
- boolean
- (optional)
- Description
Default: false
Deactivate pass download.
- Name
barcode- Type
- object
- (mandatory)
- Description
Barcode configuration for the pass.
- Name
barcode.format- Type
- enum<'PKBarcodeFormatQR', 'PKBarcodeFormatPDF417', 'PKBarcodeFormatAztec', 'PKBarcodeFormatCode128QR', 'PKBarcodeFormatCode128Aztec', 'PKBarcodeFormatCode128PDF417', 'None'>
- (mandatory)
- Description
Barcode format for the pass.
- Name
barcode.value- Type
- string
- (optional)
- Description
The barcode value or placeholder.
- Name
barcode.valueDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether each pass has a unique barcode value.
- Name
barcode.useAutoIdForValue- Type
- boolean
- (optional)
- Description
Default: false
Use auto-generated ID as barcode value.
- Name
barcode.prefix- Type
- string
- (optional)
- Description
Prefix added to barcode value.
- Name
barcode.alternativeText- Type
- string
- (optional)
- Description
Alternative text displayed below barcode.
- Name
barcode.alternativeTextDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether alternative text varies per pass.
- Name
barcode.useAutoIdForAlternativeText- Type
- boolean
- (optional)
- Description
Default: false
Use auto-generated ID for alternative text.
- Name
barcode.securityAnimationEnabled- Type
- boolean
- (optional)
- Description
Default: false
Enable security animation for the barcode.
- Name
barcode.conditionForVisibilityBarcode- Type
- string
- (optional)
- Description
Condition for barcode visibility.
- Name
links- Type
- array<object>
- (optional)
- Description
Links displayed on the back of the pass.
- Name
links[].label- Type
- string
- (mandatory)
- Description
The label of the link (required if links is present).
- Name
links[].value- Type
- string
- (mandatory)
- Description
The target of the link. Can be an URL, a phone number or an email address that must start with http or https, tel or mailto. If the correct protocol is missing the link may just be ignored (required if links is present).
- Name
valueAddedOpportunities- Type
- array<object>
- (optional)
- Description
Value added opportunities (maximum 10 items).
- Name
valueAddedOpportunities[].uri- Type
- string
- (mandatory)
- Description
HTTPS URL for the value added opportunity (required if valueAddedOpportunities is present).
- Name
valueAddedOpportunities[].label- Type
- string
- (mandatory)
- Description
Label for the value added opportunity (required if valueAddedOpportunities is present).
- Name
valueAddedOpportunities[].description- Type
- string
- (optional)
- Description
Optional description for the value added opportunity.
- Name
valueAddedOpportunities[].imageUrl- Type
- string
- (optional)
- Description
Optional HTTPS URL for the value added opportunity image.
- Name
valueAddedOpportunities[].image- Type
- string
- (optional)
- Description
Image asset for the value added opportunity.
- Name
valueAddedOpportunities[].startDateTime- Type
- string
- (optional)
- Description
Optional start date and time (format: YYYY-MM-DD HH:MM).
- Name
valueAddedOpportunities[].endDateTime- Type
- string
- (optional)
- Description
Optional end date and time (format: YYYY-MM-DD HH:MM).
- Name
showValueAddedOpportunitiesOnAppleWalletBack- Type
- boolean
- (optional)
- Description
Default: false
If true, value added opportunities will be shown on the back of Apple Wallet passes.
- Name
googleWallet- Type
- object
- (optional)
- Description
Google Wallet specific configuration. Only relevant when googlePayActive is true.
- Name
googleWallet.cardTitle- Type
- string
- (optional)
- Description
The card title of a generic pass.
- Name
googleWallet.header- Type
- string
- (optional)
- Description
The header of a generic pass.
- Name
googleWallet.subHeader- Type
- string
- (optional)
- Description
The sub header of a generic pass.
- Name
googleWallet.frontLink- Type
- string
- (optional)
- Description
The URL for the button to be shown on the front of Google Wallet passes.
- Name
googleWallet.frontLinkLabel- Type
- string
- (optional)
- Description
The label for the button to be shown on the front of Google Wallet passes.
- Name
googleWallet.linksOnTop- Type
- boolean
- (optional)
- Description
Default: false
If true, link buttons will be shown on top of the details view in Google Wallet.
- Name
images- Type
- object
- (mandatory)
- Description
Image configuration for the pass.
- Name
images.logo- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for the logo.
- Name
images.logoDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether logo varies per pass.
- Name
images.logoHidden- Type
- boolean
- (optional)
- Description
Default: false
Hide the logo on the pass.
- Name
images.background- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for the background.
- Name
images.backgroundHidden- Type
- boolean
- (optional)
- Description
Default: false
Hide the background image.
- Name
images.backgroundDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether background varies per pass.
- Name
images.thumbnail- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for the thumbnail.
- Name
images.thumbnailHidden- Type
- boolean
- (optional)
- Description
Default: false
Hide the thumbnail image.
- Name
images.thumbnailDifferentForEachPass- Type
- boolean
- (optional)
- Description
Default: false
Whether thumbnail varies per pass.
- Name
images.icon- Type
- string
- (mandatory)
- Description
URL to an image or base64 encoded image data for the icon (required for Apple Wallet).
- Name
images.artwork- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for artwork.
- Name
images.venueMap- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for venue map.
- Name
images.primaryLogo- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data. Used for poster event tickets if specified.
- Name
images.secondaryLogo- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for secondary logo.
- Name
images.footer- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for footer.
- Name
images.googlePayLogo- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data for Google Pay logo.
- Name
images.backgroundAndroid- Type
- string
- (optional)
- Description
URL to an image or base64 encoded image data that will be used as background image on Android.
- Name
colors- Type
- object
- (mandatory)
- Description
Color configuration for the pass.
- Name
colors.labelColor- Type
- string
- (mandatory)
- Description
Hex color for labels (format: #RRGGBB or #RGB).
- Name
colors.labelColorDifferentForEachPass- Type
- boolean
- (optional)
- Description
Whether label color can be different for each individual pass instance.
- Name
colors.foregroundColor- Type
- string
- (mandatory)
- Description
Hex color for foreground text (format: #RRGGBB or #RGB).
- Name
colors.foregroundColorDifferentForEachPass- Type
- boolean
- (optional)
- Description
Whether foreground color can be different for each individual pass instance.
- Name
colors.backgroundColor- Type
- string
- (mandatory)
- Description
Hex color for background (format: #RRGGBB or #RGB).
- Name
colors.backgroundColorDifferentForEachPass- Type
- boolean
- (optional)
- Description
Whether background color can be different for each individual pass instance.
- Name
colors.voidedBackgroundColor- Type
- string
- (optional)
- Description
Hex color value for the background when the pass is voided.
- Name
additionalProperties- Type
- array<object>
- (optional)
- Description
Array of additional custom properties for collecting data when creating pass instances.
- Name
additionalProperties[].id- Type
- string
- (optional)
- Description
Unique identifier for the additional property. If not provided or invalid, a unique ID will be automatically generated (format: uniqid()). IDs are unique within a template, not globally.
- Name
additionalProperties[].name- Type
- string
- (mandatory)
- Description
Display name of the additional property. Used as the label and for placeholder generation. Required when creating or updating additional properties.
- Name
additionalProperties[].type- Type
- enum<'email', 'text', 'textarea', 'checkbox', 'select', 'radiobutton'>
- (mandatory)
- Description
Input type for the additional property. Required when creating or updating additional properties.
- Name
additionalProperties[].required- Type
- boolean
- (optional)
- Description
Default: false Whether this additional property is required when creating pass instances.
- Name
additionalProperties[].hidden- Type
- boolean
- (optional)
- Description
Default: false Whether this additional property is hidden from the user interface.
- Name
additionalProperties[].options- Type
- array<string>
- (optional)
- Description
Available options for select, checkbox, or radiobutton type properties. Required for these types, ignored for others.
- Name
maximumNumberOfPasses- Type
- integer
- (optional)
- Description
Default: 0
Maximum number of passes that can be created (0 = unlimited).
- Name
linkedApps- Type
- object
- (optional)
- Description
Configuration for linked mobile apps.
- Name
linkedApps.iOS- Type
- object
- (optional)
- Description
iOS app configuration.
- Name
linkedApps.iOS.associatedStoreIdentifiers- Type
- string
- (mandatory)
- Description
App Store identifier (required if iOS section is present).
- Name
linkedApps.iOS.appLaunchUrl- Type
- string
- (optional)
- Description
Deep link URL scheme.
- Name
linkedApps.android- Type
- object
- (optional)
- Description
Android app configuration.
- Name
linkedApps.android.associatedStoreIdentifier- Type
- string
- (mandatory)
- Description
Play Store package name (required if android section is present).
- Name
linkedApps.android.name- Type
- string
- (mandatory)
- Description
App display name (required if android section is present).
- Name
customDataOverview- Type
- string
- (optional)
- Description
Custom data overview text.
- Name
hidePrintVersion- Type
- boolean
- (optional)
- Description
Default: false
Hide print version option.
- Name
hideSendEmailButton- Type
- boolean
- (optional)
- Description
Default: false
Hide send email button.
- Name
limitToOneActivePerPass- Type
- boolean
- (optional)
- Description
Default: false
Limit to one active instance per pass.
- Name
sharingProhibited- Type
- boolean
- (optional)
- Description
Default: false
Prohibit sharing of the pass.
- Name
includeSocialOnDownloadPage- Type
- boolean
- (optional)
- Description
Default: false
Include social sharing on download page.
- Name
redirectToPassOnAndroid- Type
- boolean
- (optional)
- Description
Default: false
Redirect directly to pass on Android.
- Name
excludeFromDataRetention- Type
- boolean
- (optional)
- Description
Default: false
Exclude from data retention policies.
- Name
genericProperties- Type
- array
- (optional)
- Description
Generic properties array.
- Name
locationsDisabled- Type
- boolean
- (optional)
- Description
Default: false
Disable location-based notifications.
- Name
locations- Type
- array<object>
- (optional)
- Description
Array of geographic locations relevant to the pass.
- Name
locations[].name- Type
- string
- (optional)
- Description
Name of the location.
- Name
locations[].latitude- Type
- string
- (mandatory)
- Description
Latitude coordinate of the location (required if locations is present).
- Name
locations[].longitude- Type
- string
- (mandatory)
- Description
Longitude coordinate of the location (required if locations is present).
- Name
locations[].altitude- Type
- string
- (optional)
- Description
Altitude of the location in meters.
- Name
locations[].relevantText- Type
- string
- (optional)
- Description
Text displayed when the pass is relevant at this location.
- Name
locationsMaxDistance- Type
- integer
- (optional)
- Description
The location radius (100-1000 meters). May be overridden by Apple Wallet depending on pass type.
- Name
beaconsDisabled- Type
- boolean
- (optional)
- Description
Default: false
Disable beacon-based notifications.
- Name
beacons- Type
- array<object>
- (optional)
- Description
Array of iBeacon configurations for proximity-based pass relevance.
- Name
beacons[].name- Type
- string
- (mandatory)
- Description
Name of the beacon (required if beacons is present).
- Name
beacons[].proximityUUID- Type
- string
- (mandatory)
- Description
UUID of the beacon for identification (required if beacons is present).
- Name
beacons[].relevantText- Type
- string
- (optional)
- Description
Text displayed when the pass is relevant near this beacon.
- Name
beacons[].major- Type
- string
- (optional)
- Description
Major identifier of the beacon.
- Name
beacons[].minor- Type
- string
- (optional)
- Description
Minor identifier of the beacon.
- Name
functionality- Type
- object
- (optional)
- Description
Loyalty or payment functionality configuration.
- Name
functionality.type- Type
- enum<'loyalty_stamp_add', 'loyalty_stamp_deduct', 'loyalty_collect_points', 'generic_valid_once_per_day', 'generic_payment'>
- (mandatory)
- Description
The type of functionality (required if functionality object is present).
- Name
functionality.minimumValue- Type
- integer
- (optional)
- Description
The minimum value the stored value of a pass may have.
- Name
functionality.maximumValue- Type
- integer
- (optional)
- Description
The maximum value the stored value of a pass may have.
- Name
functionality.initialValue- Type
- integer
- (optional)
- Description
The value that is set when a new pass is created.
- Name
functionality.defaultChangeValue- Type
- integer
- (optional)
- Description
The value that is (depending on the type of pass) added or deducted when the pass is used.
- Name
functionality.stampImage- Type
- integer
- (optional)
- Description
The stamp image for loyalty functionality.
- Name
functionality.tiers- Type
- array<object>
- (optional)
- Description
Tier configuration for loyalty programs.
- Name
functionality.tiers[].name- Type
- string
- (mandatory)
- Description
Name of the tier (required if tier is present).
- Name
functionality.tiers[].startValue- Type
- integer
- (mandatory)
- Description
Start value for the tier (required if tier is present).
- Name
functionality.tiers[].labelColor- Type
- string
- (optional)
- Description
Label color for the tier.
- Name
functionality.tiers[].foregroundColor- Type
- string
- (optional)
- Description
Foreground color for the tier.
- Name
functionality.tiers[].backgroundColor- Type
- string
- (optional)
- Description
Background color for the tier.
- Name
functionality.tiers[].logo- Type
- string
- (optional)
- Description
Logo image for the tier.
- Name
functionality.tiers[].background- Type
- string
- (optional)
- Description
Background image for the tier.
- Name
validValidationPlaces- Type
- array<string>
- (optional)
- Description
Valid validation places for the pass.
- Name
eligibleValidationPlacesDynamic- Type
- boolean
- (optional)
- Description
Default: false
Defines if the eligible validation places are different per pass.
- Name
addAsEligibleValidationPlace- Type
- array
- (optional)
- Description
Additional eligible validation places.
- Name
editPassDataPageEnabled- Type
- boolean
- (optional)
- Description
Default: false
If true, a PIN protected URL is available that allows end users to edit the data of their pass.
- Name
initialMessage- Type
- string
- (optional)
- Description
Displayed as a push notification after downloading a pass.
- Name
askForUserProvidedIdInBacked- Type
- boolean
- (optional)
- Description
Default: false If true, the Passcreator UI will ask for the userProvidedId when a pass is created.
- Name
enforceUniqueUserProvidedId- Type
- boolean
- (optional)
- Description
Default: false
If true, each userProvidedId of a pass can only be used once.
- Name
userProvidedId- Type
- string
- (optional)
- Description
An external identifier for this template, e.g. from your internal CRM.
- Name
userProvidedIdPattern- Type
- string
- (optional)
- Description
The userProvidedId of passes will be built using the placeholders in this field.
- Name
sendoutOptions- Type
- object
- (optional)
- Description
Email and SMS sendout configuration.
- Name
sendoutOptions.adHoc- Type
- object
- (optional)
- Description
Ad-hoc sendout configuration.
- Name
sendoutOptions.downloadPages- Type
- object
- (optional)
- Description
Download pages sendout configuration.
- Name
sendoutOptions.passCreationNotification- Type
- object
- (optional)
- Description
Pass creation notification configuration.
- Name
sendoutOptions.adHocSmsText- Type
- string
- (optional)
- Description
The text of the SMS that should be sent if a phone number is given on pass creation.
- Name
sendoutOptions.deactivateDeduplicationSendout- Type
- boolean
- (optional)
- Description
If true, deactivate deduplication for sendouts.
- Name
semantics- Type
- object
- (optional)
- Description
Machine-readable metadata that Apple Wallet uses to offer passes and suggest related actions to users. Semantic tags enable enhanced user experiences by integrating with Apple services (Maps, Calendar, Siri) and displaying contextual information at the right time.
For a complete reference of all available semantic tags, see the Apple Wallet Semantic Tags documentation.
- Name
additionalInfoFields- Type
- array<object>
- (optional)
- Description
Additional information fields for the pass.
- Name
additionalInfoFields[].key- Type
- string
- (mandatory)
- Description
A unique identifier for the item (required if additionalInfoFields is present).
- Name
additionalInfoFields[].label- Type
- string
- (mandatory)
- Description
A label describing the item's purpose (required if additionalInfoFields is present).
- Name
additionalInfoFields[].value- Type
- string
- (mandatory)
- Description
The value or content associated with the item (required if additionalInfoFields is present).
- Name
deviceBindingEnabled- Type
- boolean
- (optional)
- Description
Enable device binding. Only available for NFC passes.
- Name
deviceBindingLearnMoreURL- Type
- string
- (optional)
- Description
Link to a page that offers help if device binding fails (must be valid URI).
- Name
bagPolicyURL- Type
- string
- (optional)
- Description
Link to the bag policy message (must be valid URI).
- Name
directionsInformationURL- Type
- string
- (optional)
- Description
Link to directions (must be valid URI).
- Name
orderFoodURL- Type
- string
- (optional)
- Description
Link to the order food message (must be valid URI).
- Name
parkingInformationURL- Type
- string
- (optional)
- Description
Link to the parking information message (must be valid URI).
- Name
contactVenuePhoneNumber- Type
- string
- (optional)
- Description
Link to the venue's contact phone number message.
- Name
contactVenueWebsite- Type
- string
- (optional)
- Description
Link to the venue's website message (must be valid URI).
- Name
accessibilityURL- Type
- string
- (optional)
- Description
Link to the accessibility information message (must be valid URI).
- Name
addOnURL- Type
- string
- (optional)
- Description
Link to the add-on message (must be valid URI).
- Name
purchaseParkingURL- Type
- string
- (optional)
- Description
Link to the purchase parking message (must be valid URI).
- Name
merchandiseURL- Type
- string
- (optional)
- Description
Link to the merchandise message (must be valid URI).
- Name
transitInformationURL- Type
- string
- (optional)
- Description
Link to the transit information message (must be valid URI).
- Name
changeSeatURL- Type
- string
- (optional)
- Description
Link to change seat information (must be valid URI).
- Name
entertainmentURL- Type
- string
- (optional)
- Description
Link to in-transit entertainment information (must be valid URI).
- Name
purchaseAdditionalBaggageURL- Type
- string
- (optional)
- Description
Link to purchase additional baggage (must be valid URI).
- Name
purchaseLoungeAccessURL- Type
- string
- (optional)
- Description
Link to purchase lounge access (must be valid URI).
- Name
purchaseWifiURL- Type
- string
- (optional)
- Description
Link to purchase in-transit Wi‑Fi (must be valid URI).
- Name
upgradeURL- Type
- string
- (optional)
- Description
Link to upgrade options (must be valid URI).
- Name
managementURL- Type
- string
- (optional)
- Description
Link to general management page (must be valid URI).
- Name
registerServiceAnimalURL- Type
- string
- (optional)
- Description
Link to register a service animal (must be valid URI).
- Name
reportLostBagURL- Type
- string
- (optional)
- Description
Link to report a lost bag (must be valid URI).
- Name
requestWheelchairURL- Type
- string
- (optional)
- Description
Link to request wheelchair assistance (must be valid URI).
- Name
transitProviderWebsiteURL- Type
- string
- (optional)
- Description
Link to the transit provider website (must be valid URI).
- Name
sellURL- Type
- string
- (optional)
- Description
Link to the sell message (must be valid URI).
- Name
transferURL- Type
- string
- (optional)
- Description
Link to the transfer message (must be valid URI).
- Name
hasDraft- Type
- boolean
- (optional)
- Description
Whether the template has a draft version.
- Name
downloadPageProtected- Type
- boolean
- (optional)
- Description
Default: false
Protect download page with authentication.
- Name
bundlingOrder- Type
- integer
- (optional)
- Description
Default: 0
Order for pass bundling in wallet applications.
Example Request
The request body structure is similar to the data property in the response from the describe endpoint below. You can use the describe endpoint to get a template structure as a starting point for creating new templates.
Request Body
{
"name": "My template",
"description": "An example template",
"organizationName": "Example Company",
"type": "storeCard",
"transitType": "PKTransitTypeAir",
"googlePayActive": false,
"huaweiWalletActive": false,
"passTypeId": "pass.com.example.tutorial",
"passTypeIdExpiration": "2021-09-17 14:02",
"expiration": {
"expirationDate": "2021-04-08 14:54",
"expirationDateDifferentForEachPass": true,
"limitExpirationDateOfPassWithTemplate": false,
"fallbackToTemplateExpirationDateIfEmpty": true,
"validityInDays": null
},
"relevantDate": "2021-04-08 14:54",
"relevantDateDifferentForEachPass": false,
"logoText": "",
"bundlingOrder": 0,
"fields": {
"headerFields": [],
"primaryFields": [],
"secondaryFields": [
{
"type": "text",
"label": "Level",
"value": "Gold",
"changeMessage": "Level updated: %@",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
}
],
"auxiliaryFields": [],
"backFields": [
{
"type": "text",
"label": "",
"value": "hello@example.com",
"changeMessage": "Changed to %@",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "",
"timeStyle": "",
"numberStyle": "",
"currencyCode": "",
"alignment": "",
"voidedLabel": "",
"voidedValue": ""
}
]
},
"nfcEnabled": false,
"barcode": {
"format": "PKBarcodeFormatQR",
"value": "123456789",
"valueDifferentForEachPass": false,
"useAutoIdForValue": false,
"prefix": "",
"alternativeText": "",
"alternativeTextDifferentForEachPass": false,
"useAutoIdForAlternativeText": false
},
"links": [
{
"label": "Contact",
"value": "tel:004989123456789"
},
{
"label": "Website",
"value": "https://www.example.com"
}
],
"images": {
"logo": "https://app.passcreator.com/image/logo.png",
"logoDifferentForEachPass": false,
"logoHidden": false,
"background": "https://app.passcreator.com/image/background.png",
"backgroundHidden": false,
"backgroundDifferentForEachPass": true,
"thumbnail": null,
"thumbnailHidden": true,
"thumbnailDifferentForEachPass": false,
"icon": "https://app.passcreator.com/image/icon.png",
"googlePayLogo": "https://app.passcreator.com/image/gpay.png"
},
"colors": {
"labelColor": "#FFFFFF",
"labelColorDifferentForEachPass": false,
"foregroundColor": "#FFFFFF",
"foregroundColorDifferentForEachPass": false,
"backgroundColor": "#CE4400",
"backgroundColorDifferentForEachPass": false,
"voidedBackgroundColor": "#FFFFFF"
},
"additionalProperties": [
{
"id": "5cb1a40ac68f80.15012600",
"name": "Email",
"type": "email",
"required": false,
"hidden": true
},
{
"id": "5e2721b93da442.17595709",
"name": "Phone number",
"type": "text"
},
{
"id": "5e552028e62805.33020425",
"name": "INTERNALMARKER",
"type": "text",
"required": true
},
{
"id": "5e5e0adfc1b6e4.84503451",
"name": "Name",
"type": "text"
},
{
"id": "5f7216b0297200.36897838",
"name": "label",
"type": "text"
},
{
"id": "5f7216b02972e2.34068785",
"name": "salutation",
"type": "select",
"required": false,
"hidden": false,
"options": ["Mrs", "Mr"]
}
],
"maximumNumberOfPasses": 0,
"linkedApps": {
"iOS": {
"associatedStoreIdentifiers": "123456",
"appLaunchUrl": "myapp://myparameter"
},
"android": {
"associatedStoreIdentifier": "de.my.app.identifier",
"name": "My app"
}
},
"customDataOverview": "",
"hidePrintVersion": false,
"hideSendEmailButton": false,
"limitToOneActivePerPass": false,
"sharingProhibited": false,
"includeSocialOnDownloadPage": false,
"redirectToPassOnAndroid": false,
"excludeFromDataRetention": false,
"genericProperties": [],
"locationsDisabled": false,
"locations": [
{
"latitude": "53.2729641",
"longitude": "9.181269799999999",
"relevantText": "My store"
},
{
"latitude": "53.2391921",
"longitude": "10.4605743",
"relevantText": "Burger Store"
}
],
"beaconsDisabled": false,
"beacons": [
{
"name": "Test",
"proximityUUID": "868D3225-5F1A-4CAC-8CCA-372D41B9C8C5",
"relevantText": "Test message from beacon",
"major": "789",
"minor": "123"
}
],
"validValidationPlaces": ["room1", "room2"]
}
Response
The response follows the standard API V2 response structure.
- Name
success- Type
- boolean
- (mandatory)
- Description
Indicates if the request was successful.
- Name
description- Type
- string
- (mandatory)
- Description
Description of the result.
- Name
errors- Type
- array
- (mandatory)
- Description
Array of error messages if any.
- Name
data- Type
- object
- (mandatory)
- Description
Response data containing the created template information.
- Name
data.identifier- Type
- string
- (mandatory)
- Description
The unique identifier of the created template. Use this identifier to create passes from the template or manage the template.
- Name
statusCode- Type
- integer
- (mandatory)
- Description
HTTP status code (201 for successful creation).
Example Response
Success Response (201)
{
"success": true,
"description": "Template was created successfully!",
"errors": [],
"data": {
"identifier": "e0a8751a-6c14-427d-b932-23ba52e8e649"
},
"statusCode": 201
}
Usage Notes
The template identifier returned in the response can be used to:
- Create passes from this template using the pass creation endpoints
- Update the template configuration
- Retrieve template details using the describe endpoint
- Delete the template
Code Examples
Here you can find examples of how to call this endpoint using different programming languages and tools. Each example shows the complete request including headers and authentication.
Use the complete JSON structure from the example above as your request body. Replace yourApiKeyHere with your actual API key.
Request Examples
curl -X POST https://app.passcreator.com/api/v2/pass-template \
-H "Authorization: yourApiKeyHere" \
-H "Content-Type: application/json" \
-d @template.json
# Where template.json contains the complete JSON structure shown above
Create Apple Wallet Enhanced Event Tickets
This page describes how to create the poster event tickets in Passcreator that were introduced with iOS 18. You can apply this by updating existing templates or creating new ones.
- The new Event Ticket Layouts are only available for NFC-enabled passes.
- If you want to use them, you need to have an NFC approval and the new layouts need to be enabled for your account. Please contact our support team and provide a description of your project and the expected volume for help.
- Currently you can only create the poster event tickets using the Passcreator API.
Required fields to create the new event ticket layout
Poster event tickets leverage Semantic Tags to display info about seating, directions and other things. There are also additional images that you need to provide. The fields listed here only refer to what's needed to create a poster event ticket. Other required fields of a template still need to be supplied.
Required Fields for Enhanced Event Tickets
- Name
preferredStyleScheme- Type
- enum<'posterEventTicket'>
- (mandatory)
- Description
Must be set to posterEventTicket. This instructs Apple Wallet to use the poster event ticket style.
- Name
relevantDates- Type
- array<object>
- (mandatory)
- Description
An array of date ranges for the event. Without relevant dates, the Event Guide will not be shown. Each object contains:
- startDate (string): Start date and time in format Y-m-d H:i
- endDate (string): End date and time in format Y-m-d H:i
- Name
nfcEnabled- Type
- boolean
- (mandatory)
- Description
Must be set to true for poster event tickets.
- Name
images.venueMap- Type
- string
- (mandatory)
- Description
An image that is displayed as part of the Event Guide.
- Name
semantics- Type
- object
- (mandatory)
- Description
Semantic tags that are used to render the poster event ticket. A list of all semantic tags can be found in the Apple Wallet Semantic Tags documentation.
- Name
semantics.eventType- Type
- enum<string>
- (mandatory)
- Description
The type of event. Use this key for any type of event ticket.
Possible values:
- PKEventTypeGeneric
- PKEventTypeLivePerformance (requires semantics.performerNames to be set)
- PKEventTypeMovie
- PKEventTypeSports (requires semantics.awayTeamAbbreviation and semantics.homeTeamAbbreviation to be set)
- PKEventTypeConference
- PKEventTypeConvention
- PKEventTypeWorkshop
- PKEventTypeSocialGathering
- Name
semantics.entranceDescription- Type
- string
- (mandatory)
- Description
The long description of the entrance information. Use this key for any type of event ticket.
- Name
semantics.venueLocation- Type
- object
- (mandatory)
- Description
An object that represents the geographic coordinates of the venue. Use this key for any type of event ticket.
Required properties:
- latitude (number): The latitude, in degrees
- longitude (number): The longitude, in degrees
One of the following semantic properties is mandatory:
- Name
semantics.venueName- Type
- string
- (mandatory)
- Description
The full name of the venue. Use this key for any type of event ticket.
- Name
semantics.venueRegionName- Type
- string
- (mandatory)
- Description
The name of the city or hosting region of the venue. Use this key for any type of event ticket.
- Name
semantics.venueRoom- Type
- string
- (mandatory)
- Description
The full name of the room where the ticketed event is to take place. Use this key for any type of event ticket.
Optional Fields for Enhanced Event Tickets
- Name
images.artwork- Type
- string
- (optional)
- Description
The main background image. This is used if you're using an eventTicket with a strip image. If you use the old event ticket layout with a full screen background, this is ignored.
- Name
images.secondaryLogo- Type
- string
- (optional)
- Description
A logo that is displayed on the lower right part of the front of the pass. Can be used to e.g. display the logo of the venue or ticket partner.
- Name
semantics.seats- Type
- array<object>
- (optional)
- Description
Array of seat information objects. Each seat object can contain:
- seatDescription (string): Human-readable seat description
- seatIdentifier (string): Unique seat identifier
- seatNumber (string): Seat number
- seatRow (string): Row identifier
- seatSection (string): Section identifier
- seatSectionColor (string): Color for the section in RGB format
Link Fields for Quick Actions
You need to specify at least two links for the link fields to be shown. If you specify more than four links, they are shown in the dropdown of a menu.
- Name
bagPolicyURL- Type
- string
- (optional)
- Description
Link to the bag policy information.
- Name
directionsInformationURL- Type
- string
- (optional)
- Description
Link to directions to the venue.
- Name
orderFoodURL- Type
- string
- (optional)
- Description
Link to order food for the event.
- Name
parkingInformationURL- Type
- string
- (optional)
- Description
Link to parking information.
- Name
contactVenuePhoneNumber- Type
- string
- (optional)
- Description
Phone number to contact the venue.
- Name
contactVenueWebsite- Type
- string
- (optional)
- Description
Website URL to contact the venue.
- Name
accessibilityURL- Type
- string
- (optional)
- Description
Link to accessibility information.
- Name
addOnURL- Type
- string
- (optional)
- Description
Link to purchase add-ons.
- Name
purchaseParkingURL- Type
- string
- (optional)
- Description
Link to purchase parking.
- Name
merchandiseURL- Type
- string
- (optional)
- Description
Link to purchase merchandise.
- Name
transitInformationURL- Type
- string
- (optional)
- Description
Link to public transit information.
- Name
sellURL- Type
- string
- (optional)
- Description
Link to sell or transfer the ticket.
- Name
transferURL- Type
- string
- (optional)
- Description
Link to transfer the ticket.
Example request (Create or Update a template)
The following request updates an event ticket when used with the Update a Template endpoint and adds the required fields to create a poster event ticket.
Enhanced Event Ticket Request Body
{
"name": "Poster Event Ticket",
"description": "A Poster Event Ticket for your event",
"organizationName": "Example Organization",
"type": "eventTicket",
"preferredStyleScheme": "posterEventTicket",
"googlePayActive": true,
"passTypeId": "pass.com.example.eventticket",
"expiration": {
"expirationDate": null,
"expirationDateDifferentForEachPass": false,
"limitExpirationDateOfPassWithTemplate": false,
"fallbackToTemplateExpirationDateIfEmpty": false,
"validityInDays": null
},
"relevantDate": "2025-05-10 13:00",
"relevantDates": [
{
"startDate": "2025-05-10 13:00",
"endDate": "2025-05-10 20:00"
},
{
"startDate": "2025-05-11 13:00",
"endDate": "2025-05-11 20:00"
}
],
"relevantDateDifferentForEachPass": false,
"excludeRelevantDateIfLocationsSetOnIos": false,
"validAsOfDateDifferentForEachPass": false,
"fields": {
"headerFields": [],
"primaryFields": [],
"secondaryFields": [
{
"index": 0,
"type": "text",
"label": "Name",
"value": "{First Name} {Last Name}",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
},
{
"index": 1,
"type": "text",
"label": "Seat",
"value": "{seatRow} {seatSection} {seatNo}",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
}
],
"auxiliaryFields": [],
"backFields": [
{
"index": 0,
"type": "text",
"label": "Contact",
"value": "contact@example.com",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "",
"timeStyle": "",
"numberStyle": "",
"currencyCode": "",
"alignment": "",
"voidedLabel": "",
"voidedValue": ""
}
]
},
"nfcEnabled": true,
"passDownloadDeactivated": false,
"barcode": {
"format": "PKBarcodeFormatQR",
"value": "{autoGeneratedId}",
"valueDifferentForEachPass": false,
"useAutoIdForValue": true,
"prefix": "",
"alternativeText": "{autoGeneratedId}",
"alternativeTextDifferentForEachPass": false,
"useAutoIdForAlternativeText": false
},
"images": {
"logo": "https://insert-your-image-url.com/logo.png",
"logoDifferentForEachPass": false,
"logoHidden": false,
"background": "https://insert-your-image-url.com/background.png",
"backgroundHidden": false,
"backgroundDifferentForEachPass": false,
"thumbnail": null,
"thumbnailHidden": false,
"thumbnailDifferentForEachPass": false,
"icon": "https://insert-your-image-url.com/icon.png",
"artwork": "https://insert-your-image-url.com/artwork.png",
"venueMap": "https://insert-your-image-url.com/venueMap.png",
"secondaryLogo": "https://insert-your-image-url.com/secondaryLogo.png",
"footer": null,
"googlePayLogo": "https://insert-your-image-url.com/google-wallet-logo.png"
},
"colors": {
"labelColor": "#FFFFFF",
"labelColorDifferentForEachPass": false,
"foregroundColor": "#FFFFFF",
"foregroundColorDifferentForEachPass": false,
"backgroundColor": "#000000",
"backgroundColorDifferentForEachPass": false,
"voidedBackgroundColor": "#FF1453"
},
"additionalProperties": [
{
"id": "634840c4529ec8.98708607",
"name": "First Name",
"placeholder": "{First Name}",
"type": "text",
"required": true,
"hidden": false,
"options": []
},
{
"id": "634847afd5cf40.04397733",
"name": "Last Name",
"placeholder": "{Last Name}",
"type": "text",
"required": true,
"hidden": false,
"options": []
},
{
"id": "634c4e58a844e0.42896868",
"name": "seatRow",
"placeholder": "{seatRow}",
"type": "text",
"required": true,
"hidden": false,
"options": []
},
{
"id": "634c4e72329f98.18753141",
"name": "seatSection",
"placeholder": "{seatSection}",
"type": "text",
"required": true,
"hidden": false,
"options": []
},
{
"id": "6447bdf0d03a19.65904461",
"name": "seatNo",
"placeholder": "{seatNo}",
"type": "text",
"required": false,
"hidden": false,
"options": []
}
],
"maximumNumberOfPasses": 0,
"hidePrintVersion": true,
"hideSendEmailButton": true,
"limitToOneActivePerPass": true,
"sharingProhibited": true,
"includeSocialOnDownloadPage": false,
"redirectToPassOnAndroid": true,
"excludeFromDataRetention": false,
"genericProperties": [],
"locationsDisabled": false,
"locations": [
{
"name": "Marienplatz, Munich",
"latitude": "48.1373932",
"longitude": "11.5728736",
"relevantText": "Welcome to the show!"
}
],
"locationsMaxDistance": null,
"beaconsDisabled": true,
"beacons": [],
"functionality": [],
"editPassDataPageEnabled": false,
"askForUserProvidedIdInBacked": false,
"enforceUniqueUserProvidedId": false,
"semantics": {
"eventType": "PKEventTypeGeneric",
"eventName": "Example Event",
"eventStartDate": "2025-05-10T13:00:00+01:00",
"eventEndDate": "2025-05-11T20:00:00+01:00",
"entranceDescription": "Main entrance",
"venueLocation": {
"latitude": 48.1373932,
"longitude": 11.5728736
},
"venueRegionName": "Bavaria",
"venueName": "Olympic Stadium",
"seats": [
{
"seatDescription": "{seatSection} {seatRow} {seatNo}",
"seatIdentifier": "{seatSection} {seatRow} {seatNo}",
"seatNumber": "{seatNo}",
"seatRow": "{seatRow}",
"seatSection": "{seatSection}",
"seatSectionColor": "rgb(255, 255, 255)"
}
]
},
"additionalInfoFields": [
{
"key": "item1",
"label": "Name",
"value": "{First Name} {Last Name}"
},
{
"key": "item2",
"label": "Arrival time",
"value": "Make sure to be on site 3pm at the latest."
}
],
"bagPolicyURL": "https://www.example.com/bag-policy",
"orderFoodURL": "https://www.example.com/order-food",
"parkingInformationURL": "https://www.example.com/parking",
"contactVenuePhoneNumber": null,
"contactVenueWebsite": null,
"accessibilityURL": null,
"addOnURL": "https://www.example.com/add-ons",
"purchaseParkingURL": null,
"merchandiseURL": null,
"transitInformationURL": null,
"sellURL": null,
"transferURL": null
}
Additional Resources
For more information about Enhanced Event Tickets and available semantic tags, refer to Apple's official documentation:
Describe the structure of a pass template
Get the full structure of a pass template. Can be used to create other templates, update the existing template or gather information for patch requests.
Path Parameters
- Name
identifier- Type
- string
- (mandatory)
- Description
The unique identifier (UUID) of the template you want to get information about.
Example URL
Request URL
https://app.passcreator.com/api/v2/pass-template/{identifier}/describe
Authorization
- Name
Authorization- Type
- string
- (mandatory)
- Description
HTTP Header containing your API key. Replace yourApiKeyHere with your actual API key.
Example HTTP Header
HTTP header
GET /api/v2/pass-template/{identifier}/describe HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Returned values
The response follows the standard API V2 response structure with success, description, errors, data, and statusCode properties.
See V2 Endpoints General Structure for details about these properties.
The data property contains the complete template structure:
- Name
name- Type
- string
- (mandatory)
- Description
The name of the template.
- Name
description- Type
- string
- (mandatory)
- Description
A description of the template.
- Name
organizationName- Type
- string
- (mandatory)
- Description
The organization name displayed on the pass.
- Name
type- Type
- enum<'coupon', 'storeCard', 'eventTicket', 'eventTicketBackground', 'posterEventTicket', 'generic', 'boardingPass'>
- (mandatory)
- Description
The pass type that determines the visual layout.
- Name
preferredStyleScheme- Type
- string | null
- (mandatory)
- Description
Style scheme preference:
- posterEventTicket to trigger Apple's new Event Ticket Layout (only works for NFC passes of type 'eventTicket')
- semanticBoardingPass to trigger the new Boarding Pass Layout (only works for passes of type 'boardingPass')
- Name
transitType- Type
- enum<'PKTransitTypeAir', 'PKTransitTypeBoat', 'PKTransitTypeBus', 'PKTransitTypeGeneric', 'PKTransitTypeTrain'>
- (optional)
- Description
The transit type for boarding passes. Only the values from the enumeration are allowed.
- Name
walletApps- Type
- object
- (mandatory)
- Description
Wallet application configuration for Apple and Android platforms.
- Name
walletApps.apple.appleWallet.active- Type
- boolean
- (mandatory)
- Description
Apple Wallet activation status.
- Name
walletApps.android.primary.app- Type
- string
- (mandatory)
- Description
Primary Android wallet application identifier.
- Name
walletApps.android.primary.data.passType- Type
- string
- (mandatory)
- Description
Pass type configuration for primary Android wallet.
- Name
walletApps.android.secondary.app- Type
- string | null
- (mandatory)
- Description
Secondary Android wallet application identifier.
- Name
walletApps.android.secondary.data.passType- Type
- string
- (mandatory)
- Description
Pass type configuration for secondary Android wallet.
- Name
walletApps.android.samsung.active- Type
- boolean
- (mandatory)
- Description
Samsung Wallet activation status. (For activation, please get in contact with us.)
- Name
googlePayActive- Type
- boolean
- (mandatory)
- Description
Deprecated - Use walletApps instead. Whether Google Wallet is enabled for this template.
- Name
archived- Type
- boolean
- (mandatory)
- Description
Archive status of the template.
- Name
huaweiWalletActive- Type
- boolean
- (mandatory)
- Description
Deprecated - Huawei Wallet is no longer supported. Always returns false.
- Name
passTypeId- Type
- string
- (mandatory)
- Description
The name of a pass type ID that exists in your account.
- Name
passTypeIdExpiration- Type
- string
- (optional)
- Description
Describes when the certificate of an existing template expires.
- Name
expiration- Type
- object
- (mandatory)
- Description
Expiration settings for passes created from this template.
- Name
expiration.expirationDate- Type
- string | null
- (mandatory)
- Description
Template expiration date (YYYY-MM-DD HH:MM format).
- Name
expiration.expirationDateDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
If true the system will ask for an expiration date on pass creation.
- Name
expiration.limitExpirationDateOfPassWithTemplate- Type
- boolean
- (mandatory)
- Description
If true the expiration date of a pass can't be after that of the template.
- Name
expiration.fallbackToTemplateExpirationDateIfEmpty- Type
- boolean
- (mandatory)
- Description
If true the expiration date of the template will be used if the pass' expiration date is empty.
- Name
expiration.validityInDays- Type
- integer | null
- (optional)
- Description
The number of days a pass is valid counting from the created on date and time. The pass will always be valid until 23:59 o'clock on the day when it expires.
- Name
relevantDate- Type
- string | null
- (optional)
- Description
Decides when a lock screen notification will be shown. Supported for event tickets and boarding passes.
- Name
relevantDates- Type
- array
- (mandatory)
- Description
Array of relevant date periods with start and end dates for the pass.
- Name
relevantDateDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
If true the system will ask for a relevant date on pass creation.
- Name
excludeRelevantDateIfLocationsSetOnIos- Type
- boolean
- (mandatory)
- Description
If locations are used, the relevant date won't be set on Apple devices if this property is true.
- Name
validAsOfDateDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
If true, each pass can have its own valid-as-of date.
- Name
logoText- Type
- string
- (optional)
- Description
The text that is displayed next to or instead of the logo if the logo is hidden.
- Name
fields- Type
- object
- (mandatory)
- Description
Field configuration for different areas of the pass.
- Name
fields.headerFields- Type
- array<object>
- (mandatory)
- Description
Fields displayed in the header area of the pass.
- Name
fields.primaryFields- Type
- array<object>
- (mandatory)
- Description
Primary fields displayed prominently on the pass front.
- Name
fields.secondaryFields- Type
- array<object>
- (mandatory)
- Description
Secondary fields displayed below primary fields.
- Name
fields.auxiliaryFields- Type
- array<object>
- (mandatory)
- Description
Auxiliary fields displayed at the bottom of the pass front.
- Name
fields.backFields- Type
- array<object>
- (mandatory)
- Description
Fields displayed on the back of the pass.
- Name
fields.[fieldType][].index- Type
- integer
- (mandatory)
- Description
Display order of the field.
- Name
fields.[fieldType][].type- Type
- enum<'text', 'number', 'currency', 'date', 'dateTime'>
- (mandatory)
- Description
Field data type.
- Name
fields.[fieldType][].label- Type
- string
- (mandatory)
- Description
Field label text.
- Name
fields.[fieldType][].value- Type
- string
- (mandatory)
- Description
Field value or placeholder.
- Name
fields.[fieldType][].changeMessage- Type
- string
- (mandatory)
- Description
Push notification text when value changes.
- Name
fields.[fieldType][].condition- Type
- string
- (optional)
- Description
Condition for field visibility.
- Name
fields.[fieldType][].useAutoId- Type
- boolean
- (mandatory)
- Description
Use auto-generated ID as value.
- Name
fields.[fieldType][].ignoresTimezone- Type
- boolean
- (mandatory)
- Description
Ignore timezone for date fields.
- Name
fields.[fieldType][].isRelative- Type
- boolean
- (mandatory)
- Description
Display as relative time.
- Name
fields.[fieldType][].dateStyle- Type
- string
- (optional)
- Description
Date format style (PKDateStyleShort, PKDateStyleMedium, PKDateStyleLong, PKDateStyleFull).
- Name
fields.[fieldType][].timeStyle- Type
- string
- (optional)
- Description
Time format style (PKDateStyleShort, PKDateStyleMedium, PKDateStyleLong, PKDateStyleFull).
- Name
fields.[fieldType][].numberStyle- Type
- string
- (optional)
- Description
Number format style (PKNumberStyleDecimal, PKNumberStylePercent, PKNumberStyleScientific, PKNumberStyleSpellOut).
- Name
fields.[fieldType][].currencyCode- Type
- string
- (optional)
- Description
Currency code for currency fields (e.g., EUR, USD).
- Name
fields.[fieldType][].alignment- Type
- string
- (optional)
- Description
Text alignment (PKTextAlignmentNatural, PKTextAlignmentLeft, PKTextAlignmentCenter, PKTextAlignmentRight).
- Name
fields.[fieldType][].voidedLabel- Type
- string
- (optional)
- Description
Label when pass is voided.
- Name
fields.[fieldType][].voidedValue- Type
- string
- (optional)
- Description
Value when pass is voided.
- Name
nfcEnabled- Type
- boolean
- (mandatory)
- Description
If you have an NFC entitlement from Apple and an NFC enabled certificate, this will trigger creation of NFC enabled passes. If you don't have the NFC entitlement and/or an NFC enabled certificate, only Google Wallet passes will be NFC-enabled.
- Name
passDownloadDeactivated- Type
- boolean
- (mandatory)
- Description
If true, pass download is disabled for this template.
- Name
barcode- Type
- object
- (mandatory)
- Description
Barcode configuration including format, value, and display options.
- Name
barcode.format- Type
- enum<'PKBarcodeFormatQR', 'PKBarcodeFormatPDF417', 'PKBarcodeFormatAztec', 'PKBarcodeFormatCode128QR', 'PKBarcodeFormatCode128Aztec', 'PKBarcodeFormatCode128PDF417', 'None'>
- (mandatory)
- Description
The format of the barcode.
- Name
barcode.value- Type
- string
- (mandatory)
- Description
The value of the barcode. Can also contain an additional property placeholder.
- Name
barcode.valueDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
If true the system will ask for the barcode value on pass-creation. This can be used instead of an additional property placeholder.
- Name
barcode.useAutoIdForValue- Type
- boolean
- (mandatory)
- Description
If true the unique ID that Passcreator generates will be used as a barcode value.
- Name
barcode.prefix- Type
- string
- (optional)
- Description
A prefix that is added before the actual barcode value.
- Name
barcode.alternativeText- Type
- string
- (optional)
- Description
The human readable text below the barcode.
- Name
barcode.alternativeTextDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
If true the system will ask for the barcode alternative text on pass-creation.
- Name
barcode.useAutoIdForAlternativeText- Type
- boolean
- (mandatory)
- Description
If true the unique ID that Passcreator generates will be displayed below the barcode.
- Name
barcode.securityAnimationEnabled- Type
- boolean
- (mandatory)
- Description
If true, security animation is enabled for the barcode (This only works on Google Wallet).
- Name
barcode.conditionForVisibilityBarcode- Type
- string
- (mandatory)
- Description
Condition expression for barcode visibility.
- Name
links- Type
- array<object>
- (mandatory)
- Description
Links displayed on the back of the pass.
- Name
links[].label- Type
- string
- (mandatory)
- Description
The label of the link.
- Name
links[].value- Type
- string
- (mandatory)
- Description
The target of the link. Can be an URL, a phone number or an email address that must start with http or https, tel or mailto. If the correct protocol is missing the link may just be ignored.
- Name
valueAddedOpportunities- Type
- array
- (mandatory)
- Description
Array of value-added opportunities for the pass (max. 10 items). Each opportunity must have an HTTPS URL and label.
- Name
showValueAddedOpportunitiesOnAppleWalletBack- Type
- boolean
- (mandatory)
- Description
If true, value added opportunities will be shown on the back of Apple Wallet passes.
- Name
googleWallet- Type
- object
- (mandatory)
- Description
Google Wallet specific configuration.
- Name
googleWallet.cardTitle- Type
- string
- (mandatory)
- Description
The card title of a generic pass.
- Name
googleWallet.header- Type
- string
- (mandatory)
- Description
The header of a generic pass.
- Name
googleWallet.subHeader- Type
- string
- (mandatory)
- Description
The sub header of a generic pass.
- Name
googleWallet.frontLink- Type
- string
- (mandatory)
- Description
The URL for the button to be shown on the front of Google Wallet passes.
- Name
googleWallet.frontLinkLabel- Type
- string
- (mandatory)
- Description
The label for the button to be shown on the front of Google Wallet passes.
- Name
googleWallet.linksOnTop- Type
- boolean
- (mandatory)
- Description
If true, link buttons will be shown on top of the details view in Google Wallet.
- Name
images- Type
- object
- (mandatory)
- Description
Image configuration for pass visuals.
- Name
images.logo- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data.
- Name
images.logoDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
Different logo per pass.
- Name
images.logoHidden- Type
- boolean
- (mandatory)
- Description
Hide logo on pass.
- Name
images.background- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data.
- Name
images.backgroundHidden- Type
- boolean
- (mandatory)
- Description
Hide background image.
- Name
images.backgroundDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
Different background per pass.
- Name
images.thumbnail- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data.
- Name
images.thumbnailHidden- Type
- boolean
- (mandatory)
- Description
Hide thumbnail.
- Name
images.thumbnailDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
Different thumbnail per pass.
- Name
images.icon- Type
- string
- (mandatory)
- Description
URL to an image or base64 encoded image data.
- Name
images.artwork- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data for artwork.
- Name
images.venueMap- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data for venue map.
- Name
images.primaryLogo- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data. This is used for poster event tickets if specified.
- Name
images.secondaryLogo- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data for secondary logo.
- Name
images.footer- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data for footer.
- Name
images.googlePayLogo- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data.
- Name
images.backgroundAndroid- Type
- string | null
- (mandatory)
- Description
URL to an image or base64 encoded image data that will be used as background image on Android.
- Name
colors- Type
- object
- (mandatory)
- Description
Pass color configuration settings.
- Name
colors.labelColor- Type
- string
- (mandatory)
- Description
Hex color value for pass label color.
- Name
colors.labelColorDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
Whether label color can be different for each individual pass instance.
- Name
colors.foregroundColor- Type
- string
- (mandatory)
- Description
Hex color value for pass foreground color.
- Name
colors.foregroundColorDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
Whether foreground color can be different for each individual pass instance.
- Name
colors.backgroundColor- Type
- string
- (mandatory)
- Description
Hex color value for pass background color.
- Name
colors.backgroundColorDifferentForEachPass- Type
- boolean
- (mandatory)
- Description
Whether background color can be different for each individual pass instance.
- Name
colors.voidedBackgroundColor- Type
- string
- (mandatory)
- Description
Hex color value for the background when the pass is voided.
- Name
additionalProperties- Type
- array<object>
- (mandatory)
- Description
Array of additional custom properties that can be set for pass instances.
- Name
additionalProperties[].id- Type
- string
- (mandatory)
- Description
Unique identifier for the additional property. Automatically generated if not provided during creation.
- Name
additionalProperties[].name- Type
- string
- (mandatory)
- Description
Display name of the additional property.
- Name
additionalProperties[].placeholder- Type
- string
- (mandatory)
- Description
Placeholder text generated from the property name. This field is automatically generated and returned in responses.
- Name
additionalProperties[].type- Type
- enum<'email', 'text', 'textarea', 'checkbox', 'select', 'radiobutton'>
- (mandatory)
- Description
Input type for the additional property.
- Name
additionalProperties[].required- Type
- boolean
- (mandatory)
- Description
Whether this additional property is required when creating pass instances.
- Name
additionalProperties[].hidden- Type
- boolean
- (mandatory)
- Description
Whether this additional property is hidden from the user interface.
- Name
additionalProperties[].options- Type
- array<string>
- (mandatory)
- Description
Available options for select, checkbox, or radiobutton type properties. Empty array for other types.
- Name
maximumNumberOfPasses- Type
- integer
- (mandatory)
- Description
Maximum number of pass instances that can be created from this template.
- Name
linkedApps- Type
- object
- (optional)
- Description
Configuration for linked mobile applications.
- Name
linkedApps.iOS- Type
- object
- (optional)
- Description
iOS-specific linked app configuration.
- Name
linkedApps.iOS.associatedStoreIdentifiers- Type
- string
- (mandatory)
- Description
App Store identifier for the associated iOS app.
- Name
linkedApps.iOS.appLaunchUrl- Type
- string
- (mandatory)
- Description
URL scheme to launch the associated iOS app.
- Name
linkedApps.android- Type
- object
- (optional)
- Description
Android-specific linked app configuration.
- Name
linkedApps.android.associatedStoreIdentifier- Type
- string
- (mandatory)
- Description
Play Store identifier for the associated Android app.
- Name
linkedApps.android.name- Type
- string
- (mandatory)
- Description
Name of the associated Android app.
- Name
customDataOverview- Type
- string
- (optional)
- Description
The data that is shown on the validation screen of the Smart Scan app after scanning a barcode.
- Name
hidePrintVersion- Type
- boolean
- (mandatory)
- Description
Whether to hide the print version of the pass.
- Name
hideSendEmailButton- Type
- boolean
- (mandatory)
- Description
Whether to hide the send email button on the pass download page.
- Name
limitToOneActivePerPass- Type
- boolean
- (mandatory)
- Description
Whether to limit to one active pass per template.
- Name
sharingProhibited- Type
- boolean
- (mandatory)
- Description
Whether sharing of the pass is prohibited.
- Name
includeSocialOnDownloadPage- Type
- boolean
- (mandatory)
- Description
Whether to include social sharing options on the download page.
- Name
redirectToPassOnAndroid- Type
- boolean
- (mandatory)
- Description
Whether to redirect to the pass on Android devices.
- Name
excludeFromDataRetention- Type
- boolean
- (mandatory)
- Description
Whether this pass template is excluded from data retention policies.
- Name
genericProperties- Type
- array
- (mandatory)
- Description
Values to stored arbitrary data
- Name
locationsDisabled- Type
- boolean
- (mandatory)
- Description
Whether location-based features are disabled for this pass.
- Name
locations- Type
- array<object>
- (optional)
- Description
Array of geographic locations relevant to the pass.
- Name
locations[].name- Type
- string
- (mandatory)
- Description
Name of the location.
- Name
locations[].latitude- Type
- string
- (mandatory)
- Description
Latitude coordinate of the location.
- Name
locations[].longitude- Type
- string
- (mandatory)
- Description
Longitude coordinate of the location.
- Name
locations[].altitude- Type
- string
- (mandatory)
- Description
Altitude of the location in meters.
- Name
locations[].relevantText- Type
- string
- (mandatory)
- Description
Text displayed when the pass is relevant at this location.
- Name
locationsMaxDistance- Type
- integer
- (mandatory)
- Description
Maximum distance in meters for location-based relevance.
- Name
beaconsDisabled- Type
- boolean
- (mandatory)
- Description
Whether beacon-based features are disabled for this pass.
- Name
beacons- Type
- array<object>
- (optional)
- Description
Array of iBeacon configurations for proximity-based pass relevance.
- Name
beacons[].name- Type
- string
- (mandatory)
- Description
Name of the beacon.
- Name
beacons[].proximityUUID- Type
- string
- (mandatory)
- Description
UUID of the beacon for identification.
- Name
beacons[].relevantText- Type
- string
- (mandatory)
- Description
Text displayed when the pass is relevant near this beacon.
- Name
beacons[].major- Type
- string
- (mandatory)
- Description
Major identifier of the beacon.
- Name
beacons[].minor- Type
- string
- (mandatory)
- Description
Minor identifier of the beacon.
- Name
functionality- Type
- object
- (mandatory)
- Description
Pass functionality configuration for loyalty, membership, or other features.
- Name
functionality.type- Type
- string
- (mandatory)
- Description
Type of functionality (e.g., loyalty_collect_points).
- Name
functionality.minimumValue- Type
- integer
- (mandatory)
- Description
Minimum value for the functionality.
- Name
functionality.maximumValue- Type
- integer | null
- (mandatory)
- Description
Maximum value for the functionality.
- Name
functionality.initialValue- Type
- integer
- (mandatory)
- Description
Initial value when the functionality is first activated.
- Name
functionality.defaultChangeValue- Type
- integer
- (mandatory)
- Description
Default value change amount for functionality operations.
- Name
functionality.currencyCode- Type
- string | null
- (mandatory)
- Description
Currency code for monetary functionality.
- Name
functionality.stampImage- Type
- string | null
- (mandatory)
- Description
URL to stamp image for loyalty card functionality.
- Name
functionality.appConfigurationLink- Type
- object
- (mandatory)
- Description
Link configuration for associated mobile app.
- Name
functionality.appConfigurationLink.identifier- Type
- string
- (mandatory)
- Description
Unique identifier for the app configuration.
- Name
functionality.appConfigurationLink.link- Type
- string
- (mandatory)
- Description
Deep link URL for the associated app.
- Name
functionality.appConfigurationLink.validTo- Type
- string
- (mandatory)
- Description
Expiration date for the app configuration link.
- Name
functionality.tiers- Type
- array<object>
- (mandatory)
- Description
Tier configuration for loyalty functionality.
- Name
functionality.tiers[].id- Type
- string
- (mandatory)
- Description
Unique identifier for the tier.
- Name
functionality.tiers[].name- Type
- string
- (mandatory)
- Description
Display name of the tier.
- Name
functionality.tiers[].startValue- Type
- integer
- (mandatory)
- Description
Starting value threshold for this tier.
- Name
functionality.tiers[].labelColor- Type
- string
- (mandatory)
- Description
Hex color value for tier label color.
- Name
functionality.tiers[].foregroundColor- Type
- string
- (mandatory)
- Description
Hex color value for tier foreground color.
- Name
functionality.tiers[].backgroundColor- Type
- string
- (mandatory)
- Description
Hex color value for tier background color.
- Name
functionality.tiers[].logo- Type
- string | null
- (mandatory)
- Description
URL to tier-specific logo image.
- Name
functionality.tiers[].secondaryLogo- Type
- string | null
- (mandatory)
- Description
URL to tier-specific secondary logo image.
- Name
functionality.tiers[].background- Type
- string | null
- (mandatory)
- Description
URL to tier-specific background image.
- Name
functionality.tiers[].artwork- Type
- string | null
- (mandatory)
- Description
URL to tier-specific artwork image.
- Name
functionality.tiers[].logoAndroid- Type
- string | null
- (mandatory)
- Description
URL to tier-specific Android logo image.
- Name
functionality.tiers[].backgroundAndroid- Type
- string | null
- (mandatory)
- Description
URL to tier-specific Android background image.
- Name
functionality.tiers[].primaryLogo- Type
- string | null
- (mandatory)
- Description
URL to tier-specific primary logo image.
- Name
validValidationPlaces- Type
- array<string>
- (optional)
- Description
Array of valid validation place identifiers.
- Name
eligibleValidationPlacesDynamic- Type
- boolean
- (mandatory)
- Description
Whether eligible validation places are determined dynamically.
- Name
addAsEligibleValidationPlace- Type
- array
- (mandatory)
- Description
Array of validation places to add as eligible.
- Name
editPassDataPageEnabled- Type
- boolean
- (mandatory)
- Description
Whether the edit pass data page is enabled.
- Name
initialMessage- Type
- string
- (mandatory)
- Description
Initial message displayed to users.
- Name
askForUserProvidedIdInBacked- Type
- boolean
- (mandatory)
- Description
If true, the Passcreator UI will ask for the userProvidedId when a pass is created.
- Name
enforceUniqueUserProvidedId- Type
- boolean
- (mandatory)
- Description
If true, each userProvidedId of a pass can only be used once.
- Name
userProvidedId- Type
- string | null
- (mandatory)
- Description
User-provided identifier for the pass template.
- Name
userProvidedIdPattern- Type
- string | null
- (mandatory)
- Description
The userProvidedId of passes will be built using the placeholders in this field. E.g. it allows you to derive the userProvidedId for passes based on other additional properties.
- Name
sendoutOptions- Type
- object
- (mandatory)
- Description
Configuration for email and SMS sendout options.
- Name
sendoutOptions.adHoc- Type
- object
- (mandatory)
- Description
Configuration for ad-hoc pass distribution.
- Name
sendoutOptions.adHoc.emailTemplate- Type
- string | null
- (mandatory)
- Description
Email template for ad-hoc pass distribution.
- Name
sendoutOptions.adHoc.subject- Type
- string
- (mandatory)
- Description
Email subject for ad-hoc pass distribution.
- Name
sendoutOptions.downloadPages- Type
- object
- (mandatory)
- Description
Configuration for download page notifications.
- Name
sendoutOptions.downloadPages.emailTemplate- Type
- string | null
- (mandatory)
- Description
Email template for download page notifications.
- Name
sendoutOptions.downloadPages.subject- Type
- string
- (mandatory)
- Description
Email subject for download page notifications.
- Name
sendoutOptions.passCreationNotification- Type
- object
- (mandatory)
- Description
Configuration for pass creation notifications.
- Name
sendoutOptions.passCreationNotification.emailTemplate- Type
- string | null
- (mandatory)
- Description
Email template for pass creation notifications.
- Name
sendoutOptions.passCreationNotification.subject- Type
- string
- (mandatory)
- Description
Email subject for pass creation notifications.
- Name
sendoutOptions.passCreationNotification.recipient- Type
- string
- (mandatory)
- Description
Recipient for pass creation notifications.
- Name
sendoutOptions.adHocSmsText- Type
- string
- (mandatory)
- Description
SMS text for ad-hoc pass distribution.
- Name
sendoutOptions.deactivateDeduplicationSendout- Type
- string
- (mandatory)
- Description
Configuration to deactivate deduplication for sendouts.
- Name
semantics- Type
- array
- (mandatory)
- Description
Semantic tags that are supported by Apple Wallet.
- Name
additionalInfoFields- Type
- object | null
- (mandatory)
- Description
Addtional information for posterEvent style event tickets.
- Name
deviceBindingEnabled- Type
- boolean
- (mandatory)
- Description
Whether device binding is enabled for this pass template.
- Name
deviceBindingLearnMoreURL- Type
- string | null
- (mandatory)
- Description
URL for more information about device binding.
- Name
bagPolicyURL- Type
- string | null
- (mandatory)
- Description
URL for bag policy information.
- Name
directionsInformationURL- Type
- string | null
- (mandatory)
- Description
URL for directions information.
- Name
orderFoodURL- Type
- string | null
- (mandatory)
- Description
URL for food ordering functionality.
- Name
parkingInformationURL- Type
- string | null
- (mandatory)
- Description
URL for parking information.
- Name
contactVenuePhoneNumber- Type
- string | null
- (mandatory)
- Description
Phone number for contacting the venue.
- Name
contactVenueWebsite- Type
- string | null
- (mandatory)
- Description
Website URL for contacting the venue.
- Name
accessibilityURL- Type
- string | null
- (mandatory)
- Description
URL for accessibility information.
- Name
addOnURL- Type
- string | null
- (mandatory)
- Description
URL for add-on services.
- Name
purchaseParkingURL- Type
- string | null
- (mandatory)
- Description
URL for purchasing parking.
- Name
merchandiseURL- Type
- string | null
- (mandatory)
- Description
URL for merchandise purchasing.
- Name
transitInformationURL- Type
- string | null
- (mandatory)
- Description
URL for transit information.
- Name
changeSeatURL- Type
- string | null
- (mandatory)
- Description
URL for changing seat assignments.
- Name
entertainmentURL- Type
- string | null
- (mandatory)
- Description
URL for entertainment options.
- Name
purchaseAdditionalBaggageURL- Type
- string | null
- (mandatory)
- Description
URL for purchasing additional baggage.
- Name
purchaseLoungeAccessURL- Type
- string | null
- (mandatory)
- Description
URL for purchasing lounge access.
- Name
purchaseWifiURL- Type
- string | null
- (mandatory)
- Description
URL for purchasing WiFi access.
- Name
upgradeURL- Type
- string | null
- (mandatory)
- Description
URL for upgrade options.
- Name
managementURL- Type
- string | null
- (mandatory)
- Description
URL for management functionality.
- Name
registerServiceAnimalURL- Type
- string | null
- (mandatory)
- Description
URL for registering service animals.
- Name
reportLostBagURL- Type
- string | null
- (mandatory)
- Description
URL for reporting lost baggage.
- Name
requestWheelchairURL- Type
- string | null
- (mandatory)
- Description
URL for requesting wheelchair assistance.
- Name
transitProviderWebsiteURL- Type
- string | null
- (mandatory)
- Description
URL for transit provider website.
- Name
sellURL- Type
- string | null
- (mandatory)
- Description
URL for selling or reselling passes.
- Name
transferURL- Type
- string | null
- (mandatory)
- Description
URL for transferring passes.
- Name
hasDraft- Type
- boolean
- (mandatory)
- Description
Whether this pass template has a draft version.
Example Response
Response Examples
{
"success": true,
"description": "success",
"errors": [],
"data": {
"name": "Documentation",
"description": "Example for new documentation",
"organizationName": "ExampleCompany GmbH",
"type": "storeCard",
"preferredStyleScheme": null,
"transitType": "PKTransitTypeAir",
"walletApps": {
"apple": {
"appleWallet": {
"active": true
}
},
"android": {
"primary": {
"app": "passwallet",
"data": {
"passType": "storeCard"
}
},
"secondary": {
"app": null,
"data": {
"passType": "storeCard"
}
},
"samsung": {
"active": false
}
}
},
"googlePayActive": false,
"archived": false,
"huaweiWalletActive": false,
"passTypeId": "pass.com.example.tutorial",
"passTypeIdExpiration": "2025-11-15 14:11",
"expiration": {
"expirationDate": null,
"expirationDateDifferentForEachPass": false,
"limitExpirationDateOfPassWithTemplate": "",
"fallbackToTemplateExpirationDateIfEmpty": "",
"validityInDays": null
},
"relevantDate": null,
"relevantDates": [],
"relevantDateDifferentForEachPass": false,
"excludeRelevantDateIfLocationsSetOnIos": false,
"validAsOfDateDifferentForEachPass": false,
"logoText": "",
"fields": {
"headerFields": [
{
"index": 0,
"type": "text",
"label": "HeadField 1",
"value": "Hello",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
},
{
"index": 1,
"type": "text",
"label": "Punkte",
"value": "{storedValue}",
"changeMessage": "Du hast jetzt %@ Punkte!",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
},
{
"index": 2,
"type": "text",
"label": "Mitgliedsstatus",
"value": "{tier}",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
}
],
"primaryFields": [
{
"index": 0,
"type": "text",
"label": "PrimaryField",
"value": " Our shop",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
}
],
"secondaryFields": [
{
"index": 0,
"type": "text",
"label": "SecondaryField1",
"value": "Welcome",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "PKDateStyleShort",
"timeStyle": "PKDateStyleShort",
"numberStyle": "PKNumberStyleDecimal",
"currencyCode": "EUR",
"alignment": "PKTextAlignmentNatural",
"voidedLabel": "",
"voidedValue": ""
}
],
"auxiliaryFields": [],
"backFields": [
{
"index": 0,
"type": "text",
"label": "Backfield 1",
"value": "Content Backfield 1",
"changeMessage": "",
"condition": "",
"useAutoId": false,
"ignoresTimezone": false,
"isRelative": false,
"dateStyle": "",
"timeStyle": "",
"numberStyle": "",
"currencyCode": "",
"alignment": "",
"voidedLabel": "",
"voidedValue": ""
}
]
},
"nfcEnabled": false,
"passDownloadDeactivated": false,
"barcode": {
"format": "PKBarcodeFormatQR",
"value": "no value specified",
"valueDifferentForEachPass": false,
"useAutoIdForValue": true,
"prefix": "",
"alternativeText": "",
"alternativeTextDifferentForEachPass": false,
"useAutoIdForAlternativeText": false,
"securityAnimationEnabled": false,
"conditionForVisibilityBarcode": ""
},
"links": [
{
"label": "",
"value": ""
}
],
"valueAddedOpportunities": [],
"showValueAddedOpportunitiesOnAppleWalletBack": false,
"googleWallet": {
"cardTitle": "Documentation",
"header": "",
"subHeader": "",
"frontLink": "",
"frontLinkLabel": "",
"linksOnTop": false
},
"images": {
"logo": null,
"logoDifferentForEachPass": false,
"logoHidden": true,
"background": null,
"backgroundHidden": true,
"backgroundDifferentForEachPass": false,
"thumbnail": null,
"thumbnailHidden": false,
"thumbnailDifferentForEachPass": false,
"icon": "https://app.passcreator.com/assets/6efd83863c77cdef55a8a4337b026534d54d3734/icon@2x.png",
"artwork": null,
"venueMap": null,
"primaryLogo": null,
"secondaryLogo": null,
"footer": null,
"googlePayLogo": null,
"backgroundAndroid": null
},
"colors": {
"labelColor": "#000000",
"labelColorDifferentForEachPass": "",
"foregroundColor": "#000000",
"foregroundColorDifferentForEachPass": "",
"backgroundColor": "#FFFFFF",
"backgroundColorDifferentForEachPass": "",
"voidedBackgroundColor": "#FFFFFF"
},
"additionalProperties": [
{
"id": "68ad9520a8eb28.52872334",
"name": "Firstname",
"placeholder": "{Firstname}",
"type": "text",
"required": true,
"hidden": false,
"options": []
},
{
"id": "68b82f47940da5.86040945",
"name": "Lastname",
"placeholder": "{Lastname}",
"type": "text",
"required": false,
"hidden": false,
"options": []
}
],
"maximumNumberOfPasses": 30,
"linkedApps": {
"iOS": {
"associatedStoreIdentifiers": "",
"appLaunchUrl": ""
},
"android": {
"associatedStoreIdentifier": "",
"name": ""
}
},
"customDataOverview": "",
"hidePrintVersion": false,
"hideSendEmailButton": false,
"limitToOneActivePerPass": false,
"sharingProhibited": false,
"includeSocialOnDownloadPage": false,
"redirectToPassOnAndroid": false,
"excludeFromDataRetention": false,
"genericProperties": [],
"locationsDisabled": false,
"locations": [
{
"name": "Our shop",
"latitude": "48.0933826",
"longitude": "11.6286617",
"altitude": "200",
"relevantText": "Welcome to our shop!"
}
],
"locationsMaxDistance": 300,
"beaconsDisabled": true,
"beacons": [],
"functionality": {
"type": "loyalty_collect_points",
"minimumValue": 0,
"maximumValue": null,
"initialValue": 0,
"defaultChangeValue": 10,
"currencyCode": null,
"stampImage": null,
"appConfigurationLink": {
"identifier": "2b6a617e-c8c7-4950-9e1c-2e2d4604e7ba",
"link": "https://app.passcreator.com.test-app.link/rOda6eq58Vb",
"validTo": "2025-08-26 13:06"
},
"tiers": [
{
"id": "9cf9f116-67f8-49a9-bff2-f68f49d05faf",
"name": "Bronze",
"startValue": 0,
"labelColor": "#000000",
"foregroundColor": "#000000",
"backgroundColor": "#FFFFFF",
"logo": null,
"secondaryLogo": null,
"background": null,
"artwork": null,
"logoAndroid": null,
"backgroundAndroid": null,
"primaryLogo": null
}
]
},
"validValidationPlaces": [],
"eligibleValidationPlacesDynamic": false,
"addAsEligibleValidationPlace": [],
"editPassDataPageEnabled": false,
"initialMessage": "",
"askForUserProvidedIdInBacked": false,
"enforceUniqueUserProvidedId": false,
"userProvidedId": null,
"userProvidedIdPattern": null,
"sendoutOptions": {
"adHoc": {
"emailTemplate": null,
"subject": ""
},
"downloadPages": {
"emailTemplate": null,
"subject": ""
},
"passCreationNotification": {
"emailTemplate": null,
"subject": "",
"recipient": ""
},
"adHocSmsText": "",
"deactivateDeduplicationSendout": ""
},
"semantics": [],
"additionalInfoFields": null,
"deviceBindingEnabled": false,
"deviceBindingLearnMoreURL": null,
"bagPolicyURL": null,
"directionsInformationURL": null,
"orderFoodURL": null,
"parkingInformationURL": null,
"contactVenuePhoneNumber": null,
"contactVenueWebsite": null,
"accessibilityURL": null,
"addOnURL": null,
"purchaseParkingURL": null,
"merchandiseURL": null,
"transitInformationURL": null,
"changeSeatURL": null,
"entertainmentURL": null,
"purchaseAdditionalBaggageURL": null,
"purchaseLoungeAccessURL": null,
"purchaseWifiURL": null,
"upgradeURL": null,
"managementURL": null,
"registerServiceAnimalURL": null,
"reportLostBagURL": null,
"requestWheelchairURL": null,
"transitProviderWebsiteURL": null,
"sellURL": null,
"transferURL": null,
"hasDraft": false
},
"statusCode": 200
}
Code Examples
Here you can find examples of how to call this endpoint using different programming languages and tools. Each example shows the complete request including headers and authentication.
Replace {identifier} with the actual template identifier and yourApiKeyHere with your actual API key.
Request Examples
curl -X GET https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/describe \
-H "Authorization: yourApiKeyHere"
Update a Template
Update an existing pass template.
Some things to note compared to the create schema:
- All properties are optional. E.g. it's perfectly fine to only include the name property if you only want to update the name of a template.
- The sub-arrays of fields (e.g. headerFields) must contain all mandatory properties. If you want to update an existing field, include the index property and use an existing index. If you want to update a specific field without including the whole structure of fields, have a look at the patch-endpoint.
- You can omit the index properties which will then completely replace the existing fields.
- If you want to keep existing fields without making any update to them, do not include the keys. E.g. if headerFields should not be updated, do not include the headerFields array. An empty array will remove all fields of this type.
- You may add more fields than your pass type supports. The system will simply not display them on passes.
Path Parameters
- Name
identifier- Type
- string
- (mandatory)
- Description
The unique identifier (UUID) of the template you want to update.
Example URL
Request URL
https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236
Authorization
- Name
Authorization- Type
- string
- (mandatory)
- Description
HTTP Header containing your API key. Replace yourApiKeyHere with your actual API key.
Example HTTP Header
HTTP header
POST /api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236 HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json
Request Body
The request body must contain a JSON object with the properties you want to update. All properties are optional.
All properties that can be set in the Create a New Template endpoint can also be updated using this endpoint.
- Name
name- Type
- string
- (optional)
- Description
The name of the template.
- Name
description- Type
- string
- (optional)
- Description
A description of the template.
- Name
organizationName- Type
- string
- (optional)
- Description
The organization name displayed on the pass.
- Name
fields- Type
- object
- (optional)
- Description
Object containing different field types. Each field type contains an array of field objects.
- Name
fields.headerFields- Type
- array
- (optional)
- Description
Array of header field objects to add or update.
Warning: An empty array will remove all existing header fields.
- Name
fields.secondaryFields- Type
- array
- (optional)
- Description
Array of secondary field objects to add or update.
Warning: An empty array will remove all existing secondary fields.
- Name
fields.auxiliaryFields- Type
- array
- (optional)
- Description
Array of auxiliary field objects to add or update.
Warning: An empty array will remove all existing auxiliary fields.
- Name
fields.*[].index- Type
- integer
- (optional)
- Description
Position of the field (0-based). When provided with an existing position, updates that field. When omitted, adds a new field.
- Name
fields.*[].type- Type
- enum<'text', 'date', 'number', 'currency', 'barcode'>
- (mandatory)
- Description
Field data type.
Required when creating new fields.
- Name
fields.*[].label- Type
- string
- (mandatory)
- Description
Field label displayed on the pass.
Required when creating new fields.
- Name
fields.*[].value- Type
- string
- (mandatory)
- Description
Field value.
Required when creating new fields.
- Name
fields.*[].changeMessage- Type
- string
- (optional)
- Description
Message shown when the field value changes.
- Name
colors- Type
- object
- (optional)
- Description
Color configuration object.
- Name
colors.backgroundColor- Type
- string
- (optional)
- Description
Background color in hex format (e.g., #FF5733).
- Name
colors.foregroundColor- Type
- string
- (optional)
- Description
Foreground color in hex format.
- Name
colors.labelColor- Type
- string
- (optional)
- Description
Label color in hex format.
- Name
expiration- Type
- object
- (optional)
- Description
Expiration configuration object.
- Name
expiration.validityInDays- Type
- integer|null
- (optional)
- Description
Number of days from pass creation until expiration (relative expiration).
- Name
additionalProperties- Type
- array
- (optional)
- Description
Array of additional property objects to add or update. Uses ID-based matching (not index-based like fields).
- Name
additionalProperties[].id- Type
- string
- (optional)
- Description
Unique identifier of the additional property to update. If provided and exists, updates that property. If omitted or doesn't exist, creates new property.
- Name
additionalProperties[].name- Type
- string
- (optional)
- Description
Property name. Required when creating or updating additional properties.
- Name
additionalProperties[].type- Type
- enum<'text', 'textarea', 'url', 'number', 'select', 'checkbox', 'radiobutton'>
- (optional)
- Description
Property type. Required when creating or updating additional properties.
Example Request
Request Body
{
"name": "Documentation Updated",
"description": "Example for new documentation - Updated",
"organizationName": "ExampleCompany GmbH Updated",
"fields": {
"headerFields": [
{
"index": 1,
"label": "Points Updated",
"value": "{storedValue}",
"changeMessage": "You now have %@ points!"
}
],
"secondaryFields": [
{
"type": "text",
"label": "Status",
"value": "Gold Member"
}
],
"auxiliaryFields": []
},
"colors": {
"backgroundColor": "#0066CC",
"foregroundColor": "#FFFFFF",
"labelColor": "#FFFFFF"
},
"expiration": {
"validityInDays": 365
},
"additionalProperties": [
{
"id": "68ad9520a8eb28.52872334",
"name": "Firstname Updated",
"type": "text",
"required": false
}
]
}
Response
On successful update, returns HTTP status code 200 with a success message.
- Name
success- Type
- boolean
- (mandatory)
- Description
Indicates whether the update was successful.
- Name
description- Type
- string
- (mandatory)
- Description
Human-readable success message.
- Name
errors- Type
- array
- (mandatory)
- Description
Empty array on success.
- Name
data- Type
- array
- (mandatory)
- Description
Empty array for this endpoint.
- Name
statusCode- Type
- integer
- (mandatory)
- Description
HTTP status code (200 for success).
Example Response
Response
{
"success": true,
"description": "Template was updated successfully!",
"errors": [],
"data": [],
"statusCode": 200
}
Code Examples
Here you can find examples of how to call this endpoint using different programming languages and tools. Each example shows the complete request including headers and authentication.
Replace {identifier} with the actual template identifier and yourApiKeyHere with your actual API key.
Request Examples
curl -X POST https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236 \
-H "Authorization: yourApiKeyHere" \
-H "Content-Type: application/json" \
-d '{
"name": "Documentation Updated",
"description": "Example for new documentation - Updated",
"organizationName": "ExampleCompany GmbH Updated",
"fields": {
"headerFields": [
{
"index": 1,
"label": "Points Updated",
"value": "{storedValue}",
"changeMessage": "You now have %@ points!"
}
],
"secondaryFields": [
{
"type": "text",
"label": "Status",
"value": "Gold Member"
}
],
"auxiliaryFields": []
},
"colors": {
"backgroundColor": "#0066CC",
"foregroundColor": "#FFFFFF",
"labelColor": "#FFFFFF"
},
"expiration": {
"validityInDays": 365
},
"additionalProperties": [
{
"id": "68ad9520a8eb28.52872334",
"name": "Firstname Updated",
"type": "text",
"required": false
}
]
}'
Patch a Template
Update an existing template but keep its structure. E.g. you can update only the value of an existing field.
All properties that can be set in the Create a New Template endpoint can also be updated using this endpoint.
Some things to note compared to the create schema:
- All properties are optional. E.g. it's perfectly fine to only include the name property if you only want to update the name of a template.
- You can't create new fields during patch requests and the index of fields is mandatory! This allows you to e.g. update only the value of an existing field.
Path Parameters
- Name
identifier- Type
- string
- (mandatory)
- Description
The unique identifier (UUID) of the template you want to patch.
Example URL
Request URL
https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236
Authorization
- Name
Authorization- Type
- string
- (mandatory)
- Description
HTTP Header containing your API key. Replace yourApiKeyHere with your actual API key.
Example HTTP Header
HTTP header
PATCH /api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236 HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json
Request Body
The request body must contain a JSON object with the properties you want to update. All properties are optional.
The following examples show how to use the patch endpoint to selectively update specific properties without affecting others.
- Name
fields- Type
- object
- (optional)
- Description
Object containing different field types. Each field type contains an array of field objects.
- Name
fields.secondaryFields- Type
- array
- (optional)
- Description
Array of secondary field objects to update.
- Name
fields.*[].index- Type
- integer
- (mandatory)
- Description
Position of the field (0-based).
Required for patch requests. Specifies which existing field to update.
- Name
fields.*[].value- Type
- string
- (optional)
- Description
Field value to update.
- Name
additionalProperties- Type
- array
- (optional)
- Description
Array of additional property objects to update. Uses ID-based matching.
- Name
additionalProperties[].id- Type
- string
- (mandatory)
- Description
Unique identifier of the additional property to update.
Required for identifying which property to update.
- Name
additionalProperties[].name- Type
- string
- (optional)
- Description
Property name to update.
Example Request 1
Update the label of the first secondary field:
Request Body
{
"fields": {
"secondaryFields": [{
"index": 0,
"value": "Tap three dots to reach the back."
}]
}
}
Example Request 2
Update the name of an additional property:
Request Body
{
"additionalProperties": [{
"id": "5cb1a40ac68f80.15012600",
"name": "Email"
}]
}
Response
On successful patch, returns HTTP status code 200 with a success message.
- Name
success- Type
- boolean
- (mandatory)
- Description
Indicates whether the patch was successful.
- Name
description- Type
- string
- (mandatory)
- Description
Human-readable success message.
- Name
errors- Type
- array
- (mandatory)
- Description
Empty array on success.
- Name
data- Type
- array
- (mandatory)
- Description
Empty array for this endpoint.
- Name
statusCode- Type
- integer
- (mandatory)
- Description
HTTP status code (200 for success).
Example Response
Response
{
"success": true,
"description": "Template was patched successfully!",
"errors": [],
"data": [],
"statusCode": 200
}
Code Examples
Here you can find examples of how to call this endpoint using different programming languages and tools. Each example shows the complete request including headers and authentication.
Replace {identifier} with the actual template identifier and yourApiKeyHere with your actual API key.
Request Examples
curl -X PATCH https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236 \
-H "Authorization: yourApiKeyHere" \
-H "Content-Type: application/json" \
-d '{
"fields": {
"secondaryFields": [{
"index": 0,
"value": "Tap three dots to reach the back."
}]
}
}'
Publish Changes of a Template
Publish the changes of a template to all active passes at a specific point in time.
The publication date must use the timezone that is configured in your account settings in Passcreator. Passcreator will automatically convert the local time to server time.
Path Parameters
- Name
identifier- Type
- string
- (mandatory)
- Description
The unique identifier (UUID) of the template whose changes you want to publish.
Example URL
Request URL
https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/publish
Authorization
- Name
Authorization- Type
- string
- (mandatory)
- Description
HTTP Header containing your API key. Replace yourApiKeyHere with your actual API key.
Example HTTP Header
HTTP header
POST /api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/publish HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json
Request Body
The request body must contain a JSON object with the publication date.
- Name
publicationDate- Type
- string
- (mandatory)
- Description
The date and time when the template changes should be published to all active passes. Format: YYYY-MM-DD HH:MM. Use the timezone configured in your account settings.
Example Request
Request Body
{
"publicationDate": "2025-10-30 15:00"
}
Response
Returns different status codes depending on whether changes were found to publish.
- Name
success- Type
- boolean
- (mandatory)
- Description
Always true for successful requests.
- Name
description- Type
- string
- (mandatory)
- Description
Human-readable message. Contains publication date when changes were scheduled ( statusCode 201), or indicates no changes were found (statusCode 200).
- Name
errors- Type
- array
- (mandatory)
- Description
Empty array on success.
- Name
data- Type
- array
- (mandatory)
- Description
Empty array for this endpoint.
- Name
statusCode- Type
- integer
- (mandatory)
- Description
HTTP status code. Returns
- 201 when publication was scheduled,
- 200 when no changes were found.
Example Responses
Response Body
{
"success": true,
"description": "Template version will be published to active passes on 2021-10-30 15:00",
"errors": [],
"data": [],
"statusCode": 201
}
Code Examples
Here you can find examples of how to call this endpoint using different programming languages and tools. Each example shows the complete request including headers and authentication.
Replace {identifier} with the actual template identifier and yourApiKeyHere with your actual API key.
Request Examples
curl -X POST https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/publish \
-H "Authorization: yourApiKeyHere" \
-H "Content-Type: application/json" \
-d '{
"publicationDate": "2025-10-30 15:00"
}'