PassFast
Qué hace este MCP
Creates, manages, signs, shares, downloads, and generates Apple Wallet and Google Wallet passes and templates.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['template_id'], 'properties': {'csv': {'type': 'string', 'description': 'Raw CSV text with a header row. Do not send together with rows.'}, 'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'data': {'type': 'object', 'description': 'Template field_schema values.', 'additionalProperties': True}, 'expires_at': {'type': 'string', 'format': 'date-time'}, 'external_id': {'type': 'string'}, 'serial_number': {'type': 'string', 'description': 'Optional. Auto-generated when omitted.'}}}, 'description': 'Mapped rows (dashboard / scripts). Do not send together with csv.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'column_map': {'type': 'object', 'properties': {'fields': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'expires_at': {'type': 'string'}, 'external_id': {'type': 'string'}, 'serial_number': {'type': 'string'}}, 'description': 'Optional CSV header map when `csv` is sent.'}, 'template_id': {'type': 'string', 'format': 'uuid', 'description': 'ID of a published template.'}, 'wallet_type': {'enum': ['apple', 'google', 'both'], 'type': 'string', 'default': 'apple'}, 'create_share_links': {'type': 'boolean', 'default': True, 'description': 'When true, call POST /share-pass/create after each successful generate.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['name', 'key_type'], 'properties': {'name': {'type': 'string', 'description': 'Human-readable label for the key.'}, 'key_type': {'enum': ['secret', 'publishable'], 'type': 'string', 'description': 'Key type. Secret keys have full access; publishable keys have limited scopes.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'name': {'type': 'string', 'default': 'New App', 'description': 'App display name.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['pass_id'], 'properties': {'pass_id': {'type': 'string', 'format': 'uuid', 'description': 'ID of the pass to share.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['name', 'pass_style', 'structure'], 'properties': {'name': {'type': 'string', 'description': 'Human-readable template name.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'structure': {'type': 'object', 'required': ['backgroundColor', 'foregroundColor'], 'properties': {'nfc': {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The data transmitted during an NFC interaction.'}, 'encryptionPublicKey': {'type': 'string', 'description': 'ECC P-256 public key (base64-encoded) for encrypting the NFC payload.'}, 'requiresAuthentication': {'type': 'boolean'}}}, 'origin': {'type': 'object', 'required': ['airportIataCode'], 'properties': {'gate': {'type': 'string'}, 'terminal': {'type': 'string'}, 'airportIataCode': {'type': 'string', 'description': '3-letter IATA airport code (e.g. `LHR`, `JFK`).'}}}, 'barcode': {'type': 'object', 'properties': {'format': {'enum': ['PKBarcodeFormatQR', 'PKBarcodeFormatPDF417', 'PKBarcodeFormatAztec', 'PKBarcodeFormatCode128'], 'type': 'string', 'description': "Apple Wallet barcode format. Automatically mapped to Google's equivalent (QR_CODE, PDF_417, AZTEC, CODE_128) when the template targets Google Wallet."}, 'altText': {'type': 'string', 'description': 'Static alternate text. Only used when `altTextDataKey` is not set.'}, 'altTextDataKey': {'type': 'string', 'description': 'Key in generate-pass `data` object whose value becomes the human-readable alt text.'}, 'messageDataKey': {'type': 'string', 'description': 'Key in generate-pass `data` object that holds the barcode message.'}, 'messageEncoding': {'type': 'string', 'default': 'iso-8859-1', 'description': 'Text encoding for the barcode message. Default is `iso-8859-1` per Apple spec.'}}}, 'beacons': {'type': 'array', 'items': {'type': 'object', 'required': ['proximityUUID'], 'properties': {'major': {'type': 'integer'}, 'minor': {'type': 'integer'}, 'relevantText': {'type': 'string'}, 'proximityUUID': {'type': 'string', 'format': 'uuid'}}}}, 'sellURL': {'type': 'string', 'format': 'uri'}, 'addOnURL': {'type': 'string', 'format': 'uri'}, 'logoText': {'type': 'string', 'description': 'Apple: text beside the logo on the pass face.'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Google class-level messages.'}, 'pinLabel': {'type': 'string'}, 'tripType': {'enum': ['ROUND_TRIP', 'ONE_WAY'], 'type': 'string'}, 'doorsOpen': {'type': 'string', 'format': 'date-time'}, 'jumpToURL': {'type': 'string', 'format': 'uri'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['latitude', 'longitude'], 'properties': {'altitude': {'type': 'number'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'relevantText': {'type': 'string', 'description': 'Apple: lock-screen text when the device enters this location.'}}}}, 'semantics': {'type': 'object', 'description': 'Apple: top-level semantic tags (event, transit, balance categories).', 'additionalProperties': True}, 'venueName': {'type': 'string'}, 'backFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'bagDropURL': {'type': 'string', 'format': 'uri'}, 'checkInURL': {'type': 'string', 'format': 'uri'}, 'labelColor': {'type': 'string', 'description': 'Apple only — field label color.'}, 'pinDataKey': {'type': 'string'}, 'rowDataKey': {'type': 'string'}, 'dateTimeEnd': {'type': 'string', 'format': 'date-time'}, 'description': {'type': 'string', 'description': "Apple top-level description. Defaults to 'PassFast Pass' if unset."}, 'destination': {'type': 'object', 'required': ['airportIataCode'], 'properties': {'gate': {'type': 'string'}, 'terminal': {'type': 'string'}, 'airportIataCode': {'type': 'string', 'description': '3-letter IATA airport code (e.g. `LHR`, `JFK`).'}}}, 'gateDataKey': {'type': 'string'}, 'maxDistance': {'type': 'integer', 'description': 'Apple only — max distance (meters) for location relevance.'}, 'seatDataKey': {'type': 'string'}, 'shoppingURL': {'type': 'string', 'format': 'uri'}, 'transferURL': {'type': 'string', 'format': 'uri'}, 'transitType': {'enum': ['PKTransitTypeAir', 'PKTransitTypeTrain', 'PKTransitTypeBus', 'PKTransitTypeBoat', 'PKTransitTypeGeneric'], 'type': 'string', 'description': 'Apple Wallet transitType enum. Required for `boardingPass` templates at publish.'}, 'appLaunchURL': {'type': 'string', 'format': 'uri'}, 'flightHeader': {'type': 'object', 'required': ['carrier', 'flightNumber'], 'properties': {'carrier': {'type': 'object', 'required': ['carrierIataCode'], 'properties': {'carrierIataCode': {'type': 'string', 'description': '2-letter IATA carrier code (e.g. `BA`, `AA`).'}}}, 'flightNumber': {'type': 'string', 'description': 'Flight number (digits only per Google spec).'}}}, 'headerFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'orderFoodURL': {'type': 'string', 'format': 'uri'}, 'relevantDate': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 datetime with timezone suffix. Naive datetimes (no Z/offset) are rejected.'}, 'trackBagsURL': {'type': 'string', 'format': 'uri'}, 'venueAddress': {'type': 'string'}, 'changeSeatURL': {'type': 'string', 'format': 'uri'}, 'dateTimeStart': {'type': 'string', 'format': 'date-time'}, 'eventLogoText': {'type': 'string'}, 'primaryFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'relevantDates': {'type': 'array', 'items': {'oneOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'object', 'properties': {'endDate': {'type': 'string', 'format': 'date-time'}, 'startDate': {'type': 'string', 'format': 'date-time'}}}]}, 'description': 'Apple plural relevantDates[] — multiple time windows. Entries without timezone are filtered out.'}, 'balanceDataKey': {'type': 'string'}, 'enableSmartTap': {'type': 'boolean'}, 'googleLogoText': {'type': 'string', 'description': 'Google: brand/card title (required for Google Wallet rendering).'}, 'merchandiseURL': {'type': 'string', 'format': 'uri'}, 'objectMessages': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'seatUpgradeURL': {'type': 'string', 'format': 'uri'}, 'sectionDataKey': {'type': 'string'}, 'auxiliaryFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'backgroundColor': {'type': 'string', 'description': 'Accepts `#rrggbb`, `#rgb`, or `rgb(r,g,b)`. Apple emits `rgb(...)`; Google emits `#rrggbb`.'}, 'callbackOptions': {'type': 'object', 'additionalProperties': True}, 'cardNumberLabel': {'type': 'string'}, 'flightStatusURL': {'type': 'string', 'format': 'uri'}, 'foregroundColor': {'type': 'string'}, 'rotatingBarcode': {'type': 'object', 'properties': {'type': {'enum': ['QR_CODE', 'AZTEC', 'PDF_417', 'CODE_128', 'DATA_MATRIX'], 'type': 'string'}, 'totpDetails': {'type': 'object', 'properties': {'algorithm': {'enum': ['TOTP_SHA1', 'TOTP_SHA256', 'TOTP_SHA512'], 'type': 'string'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'type': 'string', 'description': 'Base16 (hex) encoded TOTP secret.'}, 'valueLength': {'type': 'integer'}}}}, 'periodMillis': {'type': 'string', 'description': 'TOTP period as a string of milliseconds (e.g. `"30000"`).'}}}, 'valuePattern': {'type': 'string', 'description': 'Pattern for the rotating value, e.g. `rotating-{totp_value}`.'}}, 'description': 'Google Wallet rotating barcode (TOTP-based). Supply a pre-configured\nobject; PassFast does not synthesize the HMAC secret.\n'}, 'secondaryFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'accessibilityURL': {'type': 'string', 'format': 'uri'}, 'addChangeInfoURL': {'type': 'string', 'format': 'uri'}, 'baggagePolicyURL': {'type': 'string', 'format': 'uri'}, 'entertainmentURL': {'type': 'string', 'format': 'uri'}, 'eventNumberLabel': {'type': 'string'}, 'liveBroadcastURL': {'type': 'string', 'format': 'uri'}, 'organizationName': {'type': 'string', 'description': "Apple top-level org name. Defaults to 'PassFast' if unset."}, 'cardNumberDataKey': {'type': 'string'}, 'contactVenueEmail': {'type': 'string', 'format': 'email'}, 'googleTransitType': {'enum': ['BUS', 'RAIL', 'TRAM', 'FERRY', 'OTHER'], 'type': 'string', 'description': "Google Wallet transit class transitType enum. Auto-derived from Apple's `transitType` if not set explicitly."}, 'redemptionChannel': {'enum': ['INSTORE', 'ONLINE', 'BOTH', 'TEMPORARY_PRICE_REDUCTION'], 'type': 'string', 'description': 'Google Wallet OfferClass redemption channel.'}, 'securityAnimation': {'type': 'object', 'additionalProperties': True}, 'eventNumberDataKey': {'type': 'string'}, 'groupingIdentifier': {'type': 'string', 'description': "Apple: groups related passes. Also mapped to Google's `groupingInfo.groupingId` on the object."}, 'loyaltyPointsLabel': {'type': 'string'}, 'purchaseParkingURL': {'type': 'string', 'format': 'uri'}, 'suppressStripShine': {'type': 'boolean'}, 'useAutomaticColors': {'type': 'boolean'}, 'balanceCurrencyCode': {'type': 'string', 'description': 'ISO 4217 code used when `balance` is supplied as a plain number (dollars → micros).'}, 'contactVenueWebsite': {'type': 'string', 'format': 'uri'}, 'discoverableProgram': {'type': 'object', 'description': 'Google Loyalty: public program listing. Requires `countryCode` on the class (set via `discoverableProgram`).', 'additionalProperties': True}, 'ticketNumberDataKey': {'type': 'string'}, 'transitOperatorName': {'type': 'string'}, 'additionalInfoFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}, 'description': 'Apple poster-style eventTicket only. Rendered inside the eventTicket object.'}, 'loyaltyPointsDataKey': {'type': 'string'}, 'footerBackgroundColor': {'type': 'string'}, 'parkingInformationURL': {'type': 'string', 'format': 'uri'}, 'transitInformationURL': {'type': 'string', 'format': 'uri'}, 'viewUnlockRequirement': {'enum': ['UNLOCK_REQUIRED_TO_VIEW', 'VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED'], 'type': 'string'}, 'contactVenuePhoneNumber': {'type': 'string'}, 'smartTapRedemptionValue': {'type': 'string'}, 'suppressHeaderDarkening': {'type': 'boolean'}, 'ticketHolderNameDataKey': {'type': 'string'}, 'directionsInformationURL': {'type': 'string', 'format': 'uri'}, 'smartTapRedemptionDataKey': {'type': 'string'}, 'associatedStoreIdentifiers': {'type': 'array', 'items': {'type': 'integer'}, 'description': "Apple iTunes app IDs for 'Open in App'."}, 'secondaryLoyaltyPointsLabel': {'type': 'string'}, 'localScheduledArrivalDateTime': {'type': 'string', 'description': 'Google Flight: same format as departure.'}, 'secondaryLoyaltyPointsDataKey': {'type': 'string'}, 'localScheduledDepartureDateTime': {'type': 'string', 'description': 'Google Flight: ISO 8601 **without** timezone offset (local airport time). Automatically stripped if a Z/offset is supplied.'}}, 'description': 'Complete pass structure. Drives both Apple `pass.json` emission and\nGoogle Wallet class/object JSON. Fields are grouped below by platform,\nbut the single JSONB object carries all of them for dual-wallet templates.\n', 'additionalProperties': True}, 'pass_style': {'enum': ['boardingPass', 'coupon', 'eventTicket', 'generic', 'storeCard'], 'type': 'string', 'description': 'Apple Wallet pass style.'}, 'description': {'type': 'string', 'description': 'Optional description of the template.'}, 'field_schema': {'type': 'object', 'description': 'Optional JSON schema for validating dynamic data.', 'additionalProperties': True}, 'wallet_types': {'type': 'array', 'items': {'enum': ['apple', 'google'], 'type': 'string'}, 'default': ['apple']}, 'icon_image_id': {'type': 'string', 'format': 'uuid'}, 'logo_image_id': {'type': 'string', 'format': 'uuid'}, 'strip_image_id': {'type': 'string', 'format': 'uuid'}, 'google_pass_type': {'enum': ['generic', 'loyalty', 'eventTicket', 'offer', 'flight', 'transit', 'giftCard'], 'type': 'string', 'description': 'Google Wallet class type override. If unset, PassFast auto-maps from\nthe Apple `pass_style` (+ `structure.transitType` for boardingPass):\n- `generic` → generic\n- `storeCard` → loyalty (or giftCard via override)\n- `eventTicket` → eventTicket\n- `coupon` → offer\n- `boardingPass` + transitType PKTransitTypeAir → flight\n- `boardingPass` + transitType Train/Bus/Boat/Generic → transit\n'}, 'thumbnail_image_id': {'type': 'string', 'format': 'uuid'}, 'background_image_id': {'type': 'string', 'format': 'uuid'}, 'google_logo_image_id': {'type': 'string', 'format': 'uuid'}, 'google_wide_logo_image_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Google credential ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'API key ID.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Certificate ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Image ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Template ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'permanent': {'type': 'boolean', 'default': False, 'description': 'When true, permanently deletes the template instead of archiving it.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Pass ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['serial_number'], 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'wallet_type': {'enum': ['apple', 'google'], 'type': 'string', 'default': 'apple', 'description': 'Wallet type to look up when a serial number has both Apple and Google passes.\nDefaults to `apple` for backward compatibility.\n'}, 'serial_number': {'type': 'string', 'description': 'Pass serial number (unique within app + wallet type).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string', 'description': 'Share token (32 hex characters).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['template_id', 'serial_number', 'data'], 'properties': {'data': {'type': 'object', 'description': 'Dynamic field values merged into the template structure.', 'additionalProperties': True}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['latitude', 'longitude'], 'properties': {'altitude': {'type': 'number', 'description': 'Altitude in meters (optional).'}, 'latitude': {'type': 'number', 'description': 'Latitude in degrees.'}, 'longitude': {'type': 'number', 'description': 'Longitude in degrees.'}, 'relevantText': {'type': 'string', 'description': 'Text displayed on lock screen when user is near this location.'}}}, 'description': 'GPS locations where the pass is relevant (shown on lock screen).\nOverrides template defaults if provided.\n'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'Optional expiration timestamp for the pass.'}, 'external_id': {'type': 'string', 'description': 'Optional external identifier for cross-system lookups.'}, 'template_id': {'type': 'string', 'format': 'uuid', 'description': 'ID of the published template to use.'}, 'wallet_type': {'enum': ['apple', 'google', 'both'], 'type': 'string', 'default': 'apple', 'description': 'Target wallet platform. Defaults to `apple`. When set to `google`,\nthe response is a JSON object with a `save_url` instead of a binary .pkpass file.\nWhen set to `both`, generates both Apple and Google passes in one call and\nreturns a JSON object with `apple`, `google`, and `warnings` keys.\n'}, 'max_distance': {'type': 'number', 'description': 'Maximum distance in meters from a location for lock screen relevance.'}, 'get_or_create': {'type': 'boolean', 'default': False, 'description': 'When true, if a pass with the same serial_number already exists and is active,\nreturn the existing .pkpass (200) instead of a 409 error. The response includes\nan `X-Pass-Existed: true` header. If the existing pass is voided/expired,\nreturns 409. When false (default), duplicate serials always return 409.\n'}, 'relevant_date': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 date when the pass is relevant (appears on lock screen).'}, 'serial_number': {'type': 'string', 'description': 'Unique serial number for this pass.'}, 'strip_image_id': {'type': 'string', 'format': 'uuid', 'description': 'Override the template\'s strip/hero image for this pass only. The referenced\nimage must belong to the same app and have purpose `strip` (or a `strip_*`\nvariant). Applied to Apple `strip.png` and Google `heroImage` atomically\n(same value for both wallets in `wallet_type: "both"`). Omit or send `null`\nto use the template\'s strip image.\n'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Image ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Pass ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['serial_number'], 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'wallet_type': {'enum': ['apple', 'google'], 'type': 'string', 'default': 'apple', 'description': 'Wallet type to look up when a serial number has both Apple and Google passes.\nDefaults to `apple` for backward compatibility.\n'}, 'serial_number': {'type': 'string', 'description': 'Pass serial number (unique within app + wallet type).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string', 'description': 'Share token (32 hex characters).'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Template ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'description': 'Number of results to skip.'}, 'status': {'enum': ['active', 'invalidated', 'expired'], 'type': 'string', 'description': 'Filter by pass status.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'external_id': {'type': 'string', 'description': 'Filter by external ID.'}, 'template_id': {'type': 'string', 'format': 'uuid', 'description': 'Filter by template ID.'}, 'wallet_type': {'enum': ['apple', 'google'], 'type': 'string', 'description': 'Filter by wallet platform type.'}, 'created_after': {'type': 'string', 'format': 'date-time', 'description': 'Only return passes created after this timestamp.'}, 'serial_number': {'type': 'string', 'description': 'Filter by serial number.'}, 'created_before': {'type': 'string', 'format': 'date-time', 'description': 'Only return passes created before this timestamp.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'archived': {'type': 'boolean', 'default': False, 'description': 'When true, return only archived templates instead of active ones.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 50, 'description': 'Maximum number of results to return.'}, 'offset': {'type': 'integer', 'default': 0, 'description': 'Number of results to skip.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'event_type': {'enum': ['pass.created', 'pass.updated', 'pass.voided', 'pass.expired', 'device.registered', 'device.unregistered'], 'type': 'string', 'description': 'Filter by event type.'}, 'delivery_status': {'enum': ['pending', 'delivered', 'failed'], 'type': 'string', 'description': 'Filter by delivery status.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Template ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'API key ID.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'App display name.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'webhook_url': {'type': 'string', 'format': 'uri', 'description': 'URL for async event webhook delivery.'}, 'signing_mode': {'enum': ['managed', 'custom'], 'type': 'string', 'description': 'Apple signing mode. `managed` uses platform credentials; `custom` uses your own.'}, 'apple_team_id': {'type': 'string', 'description': 'Apple Developer Team ID.'}, 'google_signing_mode': {'enum': ['managed', 'custom'], 'type': 'string', 'description': 'Google signing mode. `managed` uses platform credentials; `custom` uses your own.'}, 'onboarding_completed': {'type': 'boolean', 'description': 'Whether onboarding has been completed for this app.'}, 'pass_type_identifier': {'type': 'string', 'description': 'Apple pass type identifier (e.g., pass.com.example.myapp).'}, 'validation_webhook_url': {'type': 'string', 'format': 'uri', 'description': 'URL for pre-generation validation webhooks.'}, 'regenerate_webhook_secret': {'type': 'boolean', 'description': 'Set to true to regenerate the webhook signing secret.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Organization display name.'}, 'slug': {'type': 'string', 'description': 'URL-friendly slug.'}, 'apns_key_id': {'type': 'string', 'description': 'Apple Push Notification service Key ID.'}, 'apns_key_p8': {'type': 'string', 'description': 'APNs .p8 private key contents.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Pass ID.'}, 'data': {'type': 'object', 'description': 'New dynamic field values to merge into the pass.', 'additionalProperties': True}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['latitude', 'longitude'], 'properties': {'altitude': {'type': 'number'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'relevantText': {'type': 'string'}}}, 'description': 'GPS locations where the pass is relevant (overrides template defaults).'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'Expiration timestamp (set to null to remove expiration).'}, 'push_update': {'type': 'boolean', 'default': False, 'description': 'If true, send a push notification to registered devices.'}, 'max_distance': {'type': 'number', 'description': 'Maximum distance in meters from a location for lock screen relevance.'}, 'relevant_date': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 date when the pass is relevant (lock screen).'}, 'strip_image_id': {'type': 'string', 'format': 'uuid', 'description': "Override the template's strip/hero image for this pass. The referenced\nimage must belong to the same app and have purpose `strip` (or a `strip_*`\nvariant). Applied to Apple `strip.png` and Google `heroImage` atomically\n(synced to the sibling pass for dual-wallet). Send `null` to clear the\noverride and revert to the template's strip image. Omit the field to\nleave the current override unchanged.\n"}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['serial_number'], 'properties': {'data': {'type': 'object', 'description': 'New dynamic field values to merge into the pass.', 'additionalProperties': True}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['latitude', 'longitude'], 'properties': {'altitude': {'type': 'number'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'relevantText': {'type': 'string'}}}, 'description': 'GPS locations where the pass is relevant (overrides template defaults).'}, 'expires_at': {'type': 'string', 'format': 'date-time', 'description': 'Expiration timestamp (set to null to remove expiration).'}, 'push_update': {'type': 'boolean', 'default': False, 'description': 'If true, send a push notification to registered devices.'}, 'wallet_type': {'enum': ['apple', 'google'], 'type': 'string', 'default': 'apple', 'description': 'Wallet type to look up when a serial number has both Apple and Google passes.\nDefaults to `apple` for backward compatibility.\n'}, 'max_distance': {'type': 'number', 'description': 'Maximum distance in meters from a location for lock screen relevance.'}, 'relevant_date': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 date when the pass is relevant (lock screen).'}, 'serial_number': {'type': 'string', 'description': 'Pass serial number (unique within app + wallet type).'}, 'strip_image_id': {'type': 'string', 'format': 'uuid', 'description': "Override the template's strip/hero image for this pass. The referenced\nimage must belong to the same app and have purpose `strip` (or a `strip_*`\nvariant). Applied to Apple `strip.png` and Google `heroImage` atomically\n(synced to the sibling pass for dual-wallet). Send `null` to clear the\noverride and revert to the template's strip image. Omit the field to\nleave the current override unchanged.\n"}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Template ID.'}, 'name': {'type': 'string'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'structure': {'type': 'object', 'required': ['backgroundColor', 'foregroundColor'], 'properties': {'nfc': {'type': 'object', 'required': ['message'], 'properties': {'message': {'type': 'string', 'description': 'The data transmitted during an NFC interaction.'}, 'encryptionPublicKey': {'type': 'string', 'description': 'ECC P-256 public key (base64-encoded) for encrypting the NFC payload.'}, 'requiresAuthentication': {'type': 'boolean'}}}, 'origin': {'type': 'object', 'required': ['airportIataCode'], 'properties': {'gate': {'type': 'string'}, 'terminal': {'type': 'string'}, 'airportIataCode': {'type': 'string', 'description': '3-letter IATA airport code (e.g. `LHR`, `JFK`).'}}}, 'barcode': {'type': 'object', 'properties': {'format': {'enum': ['PKBarcodeFormatQR', 'PKBarcodeFormatPDF417', 'PKBarcodeFormatAztec', 'PKBarcodeFormatCode128'], 'type': 'string', 'description': "Apple Wallet barcode format. Automatically mapped to Google's equivalent (QR_CODE, PDF_417, AZTEC, CODE_128) when the template targets Google Wallet."}, 'altText': {'type': 'string', 'description': 'Static alternate text. Only used when `altTextDataKey` is not set.'}, 'altTextDataKey': {'type': 'string', 'description': 'Key in generate-pass `data` object whose value becomes the human-readable alt text.'}, 'messageDataKey': {'type': 'string', 'description': 'Key in generate-pass `data` object that holds the barcode message.'}, 'messageEncoding': {'type': 'string', 'default': 'iso-8859-1', 'description': 'Text encoding for the barcode message. Default is `iso-8859-1` per Apple spec.'}}}, 'beacons': {'type': 'array', 'items': {'type': 'object', 'required': ['proximityUUID'], 'properties': {'major': {'type': 'integer'}, 'minor': {'type': 'integer'}, 'relevantText': {'type': 'string'}, 'proximityUUID': {'type': 'string', 'format': 'uuid'}}}}, 'sellURL': {'type': 'string', 'format': 'uri'}, 'addOnURL': {'type': 'string', 'format': 'uri'}, 'logoText': {'type': 'string', 'description': 'Apple: text beside the logo on the pass face.'}, 'messages': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}, 'description': 'Google class-level messages.'}, 'pinLabel': {'type': 'string'}, 'tripType': {'enum': ['ROUND_TRIP', 'ONE_WAY'], 'type': 'string'}, 'doorsOpen': {'type': 'string', 'format': 'date-time'}, 'jumpToURL': {'type': 'string', 'format': 'uri'}, 'locations': {'type': 'array', 'items': {'type': 'object', 'required': ['latitude', 'longitude'], 'properties': {'altitude': {'type': 'number'}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'relevantText': {'type': 'string', 'description': 'Apple: lock-screen text when the device enters this location.'}}}}, 'semantics': {'type': 'object', 'description': 'Apple: top-level semantic tags (event, transit, balance categories).', 'additionalProperties': True}, 'venueName': {'type': 'string'}, 'backFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'bagDropURL': {'type': 'string', 'format': 'uri'}, 'checkInURL': {'type': 'string', 'format': 'uri'}, 'labelColor': {'type': 'string', 'description': 'Apple only — field label color.'}, 'pinDataKey': {'type': 'string'}, 'rowDataKey': {'type': 'string'}, 'dateTimeEnd': {'type': 'string', 'format': 'date-time'}, 'description': {'type': 'string', 'description': "Apple top-level description. Defaults to 'PassFast Pass' if unset."}, 'destination': {'type': 'object', 'required': ['airportIataCode'], 'properties': {'gate': {'type': 'string'}, 'terminal': {'type': 'string'}, 'airportIataCode': {'type': 'string', 'description': '3-letter IATA airport code (e.g. `LHR`, `JFK`).'}}}, 'gateDataKey': {'type': 'string'}, 'maxDistance': {'type': 'integer', 'description': 'Apple only — max distance (meters) for location relevance.'}, 'seatDataKey': {'type': 'string'}, 'shoppingURL': {'type': 'string', 'format': 'uri'}, 'transferURL': {'type': 'string', 'format': 'uri'}, 'transitType': {'enum': ['PKTransitTypeAir', 'PKTransitTypeTrain', 'PKTransitTypeBus', 'PKTransitTypeBoat', 'PKTransitTypeGeneric'], 'type': 'string', 'description': 'Apple Wallet transitType enum. Required for `boardingPass` templates at publish.'}, 'appLaunchURL': {'type': 'string', 'format': 'uri'}, 'flightHeader': {'type': 'object', 'required': ['carrier', 'flightNumber'], 'properties': {'carrier': {'type': 'object', 'required': ['carrierIataCode'], 'properties': {'carrierIataCode': {'type': 'string', 'description': '2-letter IATA carrier code (e.g. `BA`, `AA`).'}}}, 'flightNumber': {'type': 'string', 'description': 'Flight number (digits only per Google spec).'}}}, 'headerFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'orderFoodURL': {'type': 'string', 'format': 'uri'}, 'relevantDate': {'type': 'string', 'format': 'date-time', 'description': 'ISO 8601 datetime with timezone suffix. Naive datetimes (no Z/offset) are rejected.'}, 'trackBagsURL': {'type': 'string', 'format': 'uri'}, 'venueAddress': {'type': 'string'}, 'changeSeatURL': {'type': 'string', 'format': 'uri'}, 'dateTimeStart': {'type': 'string', 'format': 'date-time'}, 'eventLogoText': {'type': 'string'}, 'primaryFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'relevantDates': {'type': 'array', 'items': {'oneOf': [{'type': 'string', 'format': 'date-time'}, {'type': 'object', 'properties': {'endDate': {'type': 'string', 'format': 'date-time'}, 'startDate': {'type': 'string', 'format': 'date-time'}}}]}, 'description': 'Apple plural relevantDates[] — multiple time windows. Entries without timezone are filtered out.'}, 'balanceDataKey': {'type': 'string'}, 'enableSmartTap': {'type': 'boolean'}, 'googleLogoText': {'type': 'string', 'description': 'Google: brand/card title (required for Google Wallet rendering).'}, 'merchandiseURL': {'type': 'string', 'format': 'uri'}, 'objectMessages': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': True}}, 'seatUpgradeURL': {'type': 'string', 'format': 'uri'}, 'sectionDataKey': {'type': 'string'}, 'auxiliaryFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'backgroundColor': {'type': 'string', 'description': 'Accepts `#rrggbb`, `#rgb`, or `rgb(r,g,b)`. Apple emits `rgb(...)`; Google emits `#rrggbb`.'}, 'callbackOptions': {'type': 'object', 'additionalProperties': True}, 'cardNumberLabel': {'type': 'string'}, 'flightStatusURL': {'type': 'string', 'format': 'uri'}, 'foregroundColor': {'type': 'string'}, 'rotatingBarcode': {'type': 'object', 'properties': {'type': {'enum': ['QR_CODE', 'AZTEC', 'PDF_417', 'CODE_128', 'DATA_MATRIX'], 'type': 'string'}, 'totpDetails': {'type': 'object', 'properties': {'algorithm': {'enum': ['TOTP_SHA1', 'TOTP_SHA256', 'TOTP_SHA512'], 'type': 'string'}, 'parameters': {'type': 'array', 'items': {'type': 'object', 'properties': {'key': {'type': 'string', 'description': 'Base16 (hex) encoded TOTP secret.'}, 'valueLength': {'type': 'integer'}}}}, 'periodMillis': {'type': 'string', 'description': 'TOTP period as a string of milliseconds (e.g. `"30000"`).'}}}, 'valuePattern': {'type': 'string', 'description': 'Pattern for the rotating value, e.g. `rotating-{totp_value}`.'}}, 'description': 'Google Wallet rotating barcode (TOTP-based). Supply a pre-configured\nobject; PassFast does not synthesize the HMAC secret.\n'}, 'secondaryFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}}, 'accessibilityURL': {'type': 'string', 'format': 'uri'}, 'addChangeInfoURL': {'type': 'string', 'format': 'uri'}, 'baggagePolicyURL': {'type': 'string', 'format': 'uri'}, 'entertainmentURL': {'type': 'string', 'format': 'uri'}, 'eventNumberLabel': {'type': 'string'}, 'liveBroadcastURL': {'type': 'string', 'format': 'uri'}, 'organizationName': {'type': 'string', 'description': "Apple top-level org name. Defaults to 'PassFast' if unset."}, 'cardNumberDataKey': {'type': 'string'}, 'contactVenueEmail': {'type': 'string', 'format': 'email'}, 'googleTransitType': {'enum': ['BUS', 'RAIL', 'TRAM', 'FERRY', 'OTHER'], 'type': 'string', 'description': "Google Wallet transit class transitType enum. Auto-derived from Apple's `transitType` if not set explicitly."}, 'redemptionChannel': {'enum': ['INSTORE', 'ONLINE', 'BOTH', 'TEMPORARY_PRICE_REDUCTION'], 'type': 'string', 'description': 'Google Wallet OfferClass redemption channel.'}, 'securityAnimation': {'type': 'object', 'additionalProperties': True}, 'eventNumberDataKey': {'type': 'string'}, 'groupingIdentifier': {'type': 'string', 'description': "Apple: groups related passes. Also mapped to Google's `groupingInfo.groupingId` on the object."}, 'loyaltyPointsLabel': {'type': 'string'}, 'purchaseParkingURL': {'type': 'string', 'format': 'uri'}, 'suppressStripShine': {'type': 'boolean'}, 'useAutomaticColors': {'type': 'boolean'}, 'balanceCurrencyCode': {'type': 'string', 'description': 'ISO 4217 code used when `balance` is supplied as a plain number (dollars → micros).'}, 'contactVenueWebsite': {'type': 'string', 'format': 'uri'}, 'discoverableProgram': {'type': 'object', 'description': 'Google Loyalty: public program listing. Requires `countryCode` on the class (set via `discoverableProgram`).', 'additionalProperties': True}, 'ticketNumberDataKey': {'type': 'string'}, 'transitOperatorName': {'type': 'string'}, 'additionalInfoFields': {'type': 'array', 'items': {'type': 'object', 'required': ['key'], 'properties': {'key': {'type': 'string', 'description': 'Unique key identifying the field. Must be unique across ALL field groups in a template.'}, 'row': {'enum': [0, 1], 'type': 'integer', 'description': 'Apple: auxiliary/secondary layout control (0 or 1).'}, 'label': {'type': 'string', 'description': 'Human-readable label rendered above the value on the pass face.'}, 'value': {'oneOf': [{'type': 'string'}, {'type': 'number'}], 'description': "Static value for the field. Number types are preserved for\nApple's `numberStyle` / `currencyCode` formatters. For dynamic\nvalues, omit `value` and set `dataKey` instead.\n"}, 'dataKey': {'type': 'string', 'description': "PassFast-specific: name of a key in the generate-pass request\nbody's `data` object whose value should populate this field.\n"}, 'dateStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'semantics': {'type': 'object', 'description': 'Apple: per-field semantic tags for Siri / Maps / Do-Not-Disturb integration.', 'additionalProperties': True}, 'timeStyle': {'enum': ['PKDateStyleNone', 'PKDateStyleShort', 'PKDateStyleMedium', 'PKDateStyleLong', 'PKDateStyleFull'], 'type': 'string'}, 'isRelative': {'type': 'boolean', 'description': 'Apple: whether the date is displayed relative to the current time.'}, 'numberStyle': {'enum': ['PKNumberStyleDecimal', 'PKNumberStylePercent', 'PKNumberStyleScientific', 'PKNumberStyleSpellOut'], 'type': 'string'}, 'currencyCode': {'type': 'string', 'description': 'Apple: ISO 4217 currency code. Value is formatted as currency.'}, 'changeMessage': {'type': 'string', 'description': "Apple: notification text when this field's value changes. Must contain `%@` placeholder for the new value."}, 'textAlignment': {'enum': ['PKTextAlignmentLeft', 'PKTextAlignmentCenter', 'PKTextAlignmentRight', 'PKTextAlignmentNatural'], 'type': 'string'}, 'attributedValue': {'type': 'string', 'description': 'Apple: HTML-flavored value (used for rendering links, etc.).'}, 'ignoresTimeZone': {'type': 'boolean', 'description': "Apple: whether to display the date in the pass's local time rather than the user's."}, 'dataDetectorTypes': {'type': 'array', 'items': {'enum': ['PKDataDetectorTypePhoneNumber', 'PKDataDetectorTypeLink', 'PKDataDetectorTypeAddress', 'PKDataDetectorTypeCalendarEvent'], 'type': 'string'}, 'description': 'Apple: back fields only. Limits which kinds of data are detected and linked.'}}, 'description': 'A single field inside a pass. Used in `headerFields`, `primaryFields`,\n`secondaryFields`, `auxiliaryFields`, `backFields`, and\n`additionalInfoFields` (poster-style eventTicket only).\n'}, 'description': 'Apple poster-style eventTicket only. Rendered inside the eventTicket object.'}, 'loyaltyPointsDataKey': {'type': 'string'}, 'footerBackgroundColor': {'type': 'string'}, 'parkingInformationURL': {'type': 'string', 'format': 'uri'}, 'transitInformationURL': {'type': 'string', 'format': 'uri'}, 'viewUnlockRequirement': {'enum': ['UNLOCK_REQUIRED_TO_VIEW', 'VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED'], 'type': 'string'}, 'contactVenuePhoneNumber': {'type': 'string'}, 'smartTapRedemptionValue': {'type': 'string'}, 'suppressHeaderDarkening': {'type': 'boolean'}, 'ticketHolderNameDataKey': {'type': 'string'}, 'directionsInformationURL': {'type': 'string', 'format': 'uri'}, 'smartTapRedemptionDataKey': {'type': 'string'}, 'associatedStoreIdentifiers': {'type': 'array', 'items': {'type': 'integer'}, 'description': "Apple iTunes app IDs for 'Open in App'."}, 'secondaryLoyaltyPointsLabel': {'type': 'string'}, 'localScheduledArrivalDateTime': {'type': 'string', 'description': 'Google Flight: same format as departure.'}, 'secondaryLoyaltyPointsDataKey': {'type': 'string'}, 'localScheduledDepartureDateTime': {'type': 'string', 'description': 'Google Flight: ISO 8601 **without** timezone offset (local airport time). Automatically stripped if a Z/offset is supplied.'}}, 'description': 'Complete pass structure. Drives both Apple `pass.json` emission and\nGoogle Wallet class/object JSON. Fields are grouped below by platform,\nbut the single JSONB object carries all of them for dual-wallet templates.\n', 'additionalProperties': True}, 'pass_style': {'enum': ['boardingPass', 'coupon', 'eventTicket', 'generic', 'storeCard'], 'type': 'string', 'description': 'Apple Wallet pass style.'}, 'description': {'type': 'string'}, 'field_schema': {'type': 'object', 'additionalProperties': True}, 'wallet_types': {'type': 'array', 'items': {'enum': ['apple', 'google'], 'type': 'string'}, 'description': 'Wallet platforms this template supports.'}, 'icon_image_id': {'type': 'string', 'format': 'uuid'}, 'logo_image_id': {'type': 'string', 'format': 'uuid'}, 'strip_image_id': {'type': 'string', 'format': 'uuid'}, 'google_pass_type': {'allOf': [{'enum': ['generic', 'loyalty', 'eventTicket', 'offer', 'flight', 'transit', 'giftCard'], 'type': 'string', 'description': 'Google Wallet class type override. If unset, PassFast auto-maps from\nthe Apple `pass_style` (+ `structure.transitType` for boardingPass):\n- `generic` → generic\n- `storeCard` → loyalty (or giftCard via override)\n- `eventTicket` → eventTicket\n- `coupon` → offer\n- `boardingPass` + transitType PKTransitTypeAir → flight\n- `boardingPass` + transitType Train/Bus/Boat/Generic → transit\n'}]}, 'thumbnail_image_id': {'type': 'string', 'format': 'uuid'}, 'background_image_id': {'type': 'string', 'format': 'uuid'}, 'google_logo_image_id': {'type': 'string', 'format': 'uuid'}, 'google_wide_logo_image_id': {'type': 'string', 'format': 'uuid'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['cert_type', 'cert_data'], 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'cert_data': {'type': 'string', 'format': 'byte', 'description': 'Base64-encoded certificate or key data.'}, 'cert_type': {'enum': ['signer_cert', 'signer_key', 'wwdr'], 'type': 'string', 'description': 'Type of certificate being uploaded.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['service_account_json', 'issuer_id'], 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'issuer_id': {'type': 'string', 'description': 'Google Wallet issuer ID.'}, 'service_account_json': {'type': 'object', 'description': 'Google service account JSON key file contents.', 'additionalProperties': True}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['purpose', 'file_base64'], 'properties': {'purpose': {'enum': ['icon', 'icon_2x', 'icon_3x', 'logo', 'logo_2x', 'logo_3x', 'thumbnail', 'thumbnail_2x', 'strip', 'strip_2x', 'background', 'background_2x', 'footer', 'footer_2x'], 'type': 'string', 'description': 'The intended use of the image. `strip` uploads accumulate\n(for per-pass `strip_image_id` overrides); all other purposes\nreplace existing uploads of the same purpose for the app.\n'}, 'filename': {'type': 'string', 'description': 'Optional filename sent with the multipart upload.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'file_base64': {'type': 'string', 'description': 'Base64-encoded file bytes. Maps to the OpenAPI multipart `file` field — same uploadImage (or equivalent) endpoint, not a new API.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['p12_data'], 'properties': {'p12_data': {'type': 'string', 'format': 'byte', 'description': 'Base64-encoded .p12 file data.'}, 'password': {'type': 'string', 'description': 'Password to decrypt the .p12 bundle (if password-protected).'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['id'], 'properties': {'id': {'type': 'string', 'format': 'uuid', 'description': 'Pass ID.'}, 'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['serial_number'], 'properties': {'x_app_id': {'type': 'string', 'format': 'uuid', 'description': 'Override X-App-Id for this call. Omit the connection header by default; set it only for multi-app orgs.'}, 'wallet_type': {'enum': ['apple', 'google'], 'type': 'string', 'default': 'apple', 'description': 'Wallet type to look up when a serial number has both Apple and Google passes.\nDefaults to `apple` for backward compatibility.\n'}, 'serial_number': {'type': 'string', 'description': 'Pass serial number (unique within app + wallet type).'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
Agent Utilities Hosted
Provides bounded utilities for validating schemas and APIs, processing JSON and HTML, auditing agent configurations, and analyzin…
Gtin
Validates EAN, UPC, and other GTIN barcodes and computes or repairs their check digits.
Scopeweb
Suggests, scores, audits, searches, and checks domain names, provides pricing information, and manages website drafts without com…
mcp
Searches repositories to build from and supports listing, selling, purchasing, and tracking sales of GitHub repositories.
steamwebapi
Documents and executes read-only Steam and third-party game-market API endpoints, including product, inventory, pricing, and mark…
ProjectThunder
Supports B2B commerce and ERP research through platform scans, integration guidance, migration planning, case studies, and ERP pa…
yetty
Uploads, manages, edits, and runs hosted websites with CMS authoring, SEO and menu content, storefront templates, authentication,…
MCP CPG Agent Protocols
Documents and resolves protocols, signals, dimensions, and jurisdictional members for business-to-business consumer packaged good…