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.

POST/api/v2/pass-template

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

POST
/api/v2/pass-template
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:


GET/api/v2/pass-template/{identifier}/describe

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

GET
/api/v2/pass-template/{identifier}/describe
curl -X GET https://app.passcreator.com/api/v2/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/describe \
  -H "Authorization: yourApiKeyHere"

POST/api/v2/pass-template/{identifier}

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

POST
/api/v2/pass-template/{identifier}
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/api/v2/pass-template/{identifier}

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

PATCH
/api/v2/pass-template/{identifier}
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."
      }]
    }
  }'

POST/api/v2/pass-template/{identifier}/publish

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

POST
/api/v2/pass-template/{identifier}/publish
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"
  }'