Breezin Pass Management UAT GraphQL API Documentation
Welcome to the breezin.io GraphQL API documentation for our Pass Management UAT Test Environment. Here you will find the available queries, mutations and types to interact with our system using API Integration.
API Endpoints
# UAT:
https://acs-enterprise-gateway-ys5g5rekcq-nw.a.run.app/query
Headers
# Bearer token used to authenticate API integration
Authorization: Bearer <YOUR_TOKEN_HERE> Callback API Endpoint
# Breezin.io Static Callback IP For Whitelisting
34.32.20.197 What Is GraphQL?
GraphQL (Graph Query Language) is a technology that helps solve the problems of over and under-fetching data which frequently happens with REST services. It's easy to install, with a large number of supported libraries for many programming languages. If you're just dipping your toes into the GQL lake, it's recommended to read the GQL documentation available here.
Can I use REST?
We have a full suite of REST API Endpoints which can be used instead of GraphQL, please see our REST API documentation here.
Where do I find my API Token?
Please login to the Breezin Web Portal and retrieve the API Token from your account details.
Server Callbacks
Pass Distribution And Invalidation Result Server Callbacks
Request
Returns a json payload. Contains successCount, failureCount, successResultsURL and failureResultsURL.
Expected Responses From Your Server
| Status Code | Description |
|---|---|
200
|
OK - Send when successfully received
|
Example
Request From Breezin Server
{
"requestID": 1 ,
"successCount": 1,
"successResultsURL": "www.some-link-to-csv.com",
"failureCount": "1",
"failureResultsURL": "www.some-link-to-csv.com",
}
Status Callbacks
Pass Callbacks
When a pass status has been modified by the system, or a user interacting with the pass, a callback notification can be triggered to inform you of its status changing. This can be used to track which passes are active, updatable or removed from a customers digital wallet.
Request
Apple and Google passes will return "Redeemed" on first install.
Apple will send "Registered" and "Deregistered" messages when activating or deactivating automatic pass updates.
Google will send "Removed" when removing a pass from a digital wallet.
DeviceOS Field Variables
| DeviceOS | Description |
|---|---|
Apple
|
Pass has been installed to an Apple Device.
|
Google
|
Pass has been installed to a Google Device.
|
Status Field Variables
| Status | Description |
|---|---|
Redeemed
|
Apple and Google: Pass has been installed to a digital wallet.
|
Registered
|
Apple Only: Pass has reactivated automatic updates.
|
Deregistered
|
Apple Only: Pass has deactivated automatic updates, or been uninstalled from the digital wallet.
|
Removed
|
Google Only: Pass has been deleted and removed from the digital wallet.
|
Expected Responses From Your Server
| Status Code | Description |
|---|---|
200
|
OK - Send when successfully received
|
Example
Request From Breezin Server
{
"serialNumber": "123400000001",
"deviceOS": "Google",
"status": "Redeemed",
}
Queries
Beacons
fetchActiveBeaconList
Description
fetchActiveBeaconList will attempt to retrieve a list of active Beacon titles from the Cloud DB for an Organisation.
Response
Returns a
FetchActiveBeaconListResponse!
Arguments
| Name | Description |
|---|---|
input -
FetchActiveBeaconListRequest
|
Example
Query
query FetchActiveBeaconList($input: FetchActiveBeaconListRequest) {
fetchActiveBeaconList(input: $input) {
beaconsList
}
}
Variables
{"input": FetchActiveBeaconListRequest}
Response
{
"data": {
"fetchActiveBeaconList": {
"beaconsList": ["xyz789"]
}
}
}
fetchBeaconByTitle
Description
fetchBeaconByTitle will attempt to retrieve an Organisation's Beacon from the Cloud DB by Beacon title.
Response
Returns a
Beacon!
Arguments
| Name | Description |
|---|---|
input -
FetchBeaconByTitleRequest
|
Example
Query
query FetchBeaconByTitle($input: FetchBeaconByTitleRequest) {
fetchBeaconByTitle(input: $input) {
title
proximityUUID
major
minor
messageText
created
creator
lastModified
modifier
status
}
}
Variables
{"input": FetchBeaconByTitleRequest}
Response
{
"data": {
"fetchBeaconByTitle": {
"title": "Some Title",
"proximityUUID": "ABA71543-A2C5-4FB1-AFCF-A3AB01234567",
"major": 27201,
"minor": 43985,
"messageText": "Welcome to our facility. Access your pass here!",
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"status": "active"
}
}
}
getPaginatedBeacons
Description
getPaginatedBeacons returns a paginated list of BLE Beacon records for an Organisation's account.
Response
Returns a
PaginatedBeaconResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedBeaconRequest
|
Example
Query
query GetPaginatedBeacons($input: GetPaginatedBeaconRequest) {
getPaginatedBeacons(input: $input) {
beacons {
title
proximityUUID
major
minor
messageText
created
creator
lastModified
modifier
status
}
lastModifiedDate
lastDocID
lastTitle
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedBeaconRequest}
Response
{
"data": {
"getPaginatedBeacons": {
"beacons": ["some-beacon-title"],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "xyz789",
"totalNumberOfRecords": Int64
}
}
}
verifyBeaconExists
Description
verifyBeaconExists will attempt to verify if a Beacon title is available for creating a new Beacon.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
VerifyBeaconExistsRequest
|
Example
Query
query VerifyBeaconExists($input: VerifyBeaconExistsRequest) {
verifyBeaconExists(input: $input) {
message
}
}
Variables
{"input": VerifyBeaconExistsRequest}
Response
{
"data": {
"verifyBeaconExists": {
"message": "Response message containing results of API request"
}
}
}
Branding
fetchBrandingColorByTitle
Description
fetchBrandingColorByTitle will attempt to retrieve an Organisation's Branding Color from the Cloud DB.
Response
Returns a
BrandingColor!
Arguments
| Name | Description |
|---|---|
input -
FetchBrandingColorByTitleRequest
|
Example
Query
query FetchBrandingColorByTitle($input: FetchBrandingColorByTitleRequest) {
fetchBrandingColorByTitle(input: $input) {
title
colorHexCode
creator
created
modifier
lastModified
titleLowercase
}
}
Variables
{"input": FetchBrandingColorByTitleRequest}
Response
{
"data": {
"fetchBrandingColorByTitle": {
"title": "Some Title",
"colorHexCode": "xyz789",
"creator": "example@email.com",
"created": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"titleLowercase": "abc123"
}
}
}
fetchPaginatedBrandingColors
Description
fetchPaginatedBrandingColors will attempt to retrieve a paginated list of Organisation Branding Colors from the Cloud DB.
Response
Returns a
FetchPaginatedBrandingColorsResponse!
Arguments
| Name | Description |
|---|---|
input -
FetchPaginatedBrandingColorsRequest
|
Example
Query
query FetchPaginatedBrandingColors($input: FetchPaginatedBrandingColorsRequest) {
fetchPaginatedBrandingColors(input: $input) {
brandingColors {
title
colorHexCode
creator
created
modifier
lastModified
titleLowercase
}
lastModifiedDate
lastDocID
lastTitle
totalNumberOfRecords
}
}
Variables
{"input": FetchPaginatedBrandingColorsRequest}
Response
{
"data": {
"fetchPaginatedBrandingColors": {
"brandingColors": [BrandingColor],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "abc123",
"totalNumberOfRecords": Int64
}
}
}
Customer Support Details
fetchPaginatedCustomerSupportDetails
Description
fetchPaginatedCustomerSupportDetails will attempt to retrieve a pagianted list of Organisation's Customer Support Details from the Cloud DB.
Response
Arguments
| Name | Description |
|---|---|
input -
FetchPaginatedCustomerSupportDetailsRequest
|
Example
Query
query FetchPaginatedCustomerSupportDetails($input: FetchPaginatedCustomerSupportDetailsRequest) {
fetchPaginatedCustomerSupportDetails(input: $input) {
customerSupportDetailList {
title
titleLowercase
type
value
status
created
creator
lastModified
modifier
}
lastModifiedDate
lastDocID
lastTitle
totalNumberOfRecords
}
}
Variables
{"input": FetchPaginatedCustomerSupportDetailsRequest}
Response
{
"data": {
"fetchPaginatedCustomerSupportDetails": {
"customerSupportDetailList": [
CustomerSupportDetail
],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "abc123",
"totalNumberOfRecords": Int64
}
}
}
getCustomerSupportDetailByTitle
Description
getCustomerSupportDetailByTitle will attempt to retrieve an Organisation's Customer Support Detail from the Cloud DB.
Response
Returns a
CustomerSupportDetail!
Arguments
| Name | Description |
|---|---|
input -
GetCustomerSupportDetailByTitleRequest
|
Example
Query
query GetCustomerSupportDetailByTitle($input: GetCustomerSupportDetailByTitleRequest) {
getCustomerSupportDetailByTitle(input: $input) {
title
titleLowercase
type
value
status
created
creator
lastModified
modifier
}
}
Variables
{"input": GetCustomerSupportDetailByTitleRequest}
Response
{
"data": {
"getCustomerSupportDetailByTitle": {
"title": "Some Title",
"titleLowercase": "xyz789",
"type": "Some type",
"value": "Some Value",
"status": "active",
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com"
}
}
}
Distribution
fetchDistributionDocByID
Description
fetchDistributionDocByID will attempt to retrieve the distribution doc by docId for an Organisation from the Cloud DB.
Response
Returns a
DistributionRequestRecord!
Arguments
| Name | Description |
|---|---|
input -
FetchDistributionDocByIdRequest
|
Example
Query
query FetchDistributionDocByID($input: FetchDistributionDocByIdRequest) {
fetchDistributionDocByID(input: $input) {
batchCount
isBatchRequest
jobIssuer
passDesignTitle
passType
created
failureCount
failureResults
status
successCount
successResults
projectedCost
pricePerPass
appleRedemptions
googleRedemptions
}
}
Variables
{"input": FetchDistributionDocByIdRequest}
Response
{
"data": {
"fetchDistributionDocByID": {
"batchCount": 10,
"isBatchRequest": true,
"jobIssuer": "example@email.com",
"passDesignTitle": "Some Pass Design",
"passType": "LongTerm",
"created": "2023-03-23T17:21:00Z",
"failureCount": 1,
"failureResults": "https://www.somelinktofile.com/",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"projectedCost": 90,
"pricePerPass": 10,
"appleRedemptions": 5,
"googleRedemptions": 4
}
}
}
getPaginatedDistributionRequests
Description
getPaginatedDistributionRequests returns a paginated list of Distribution requests for an Organisation.
Response
Returns a
PaginatedDistributionResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedDistributionRequest
|
Example
Query
query GetPaginatedDistributionRequests($input: GetPaginatedDistributionRequest) {
getPaginatedDistributionRequests(input: $input) {
distributionDocs {
batchCount
isBatchRequest
jobIssuer
passDesignTitle
passType
created
failureCount
failureResults
status
successCount
successResults
projectedCost
pricePerPass
appleRedemptions
googleRedemptions
docID
}
lastCreated
lastDocID
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedDistributionRequest}
Response
{
"data": {
"getPaginatedDistributionRequests": {
"distributionDocs": [DistributionRequestWithID],
"lastCreated": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
}
}
Dynamic Keys
fetchActiveDynamicKeyList
Description
fetchActiveDynamicKeyList will attempt to fetch a list of Active Dynamic Keys for an Organisation.
Response
Returns a
FetchActiveDynamicKeyListResponse!
Arguments
| Name | Description |
|---|---|
input -
FetchActiveDynamicKeyListRequest
|
Example
Query
query FetchActiveDynamicKeyList($input: FetchActiveDynamicKeyListRequest) {
fetchActiveDynamicKeyList(input: $input) {
dynamicKeyList
}
}
Variables
{"input": FetchActiveDynamicKeyListRequest}
Response
{
"data": {
"fetchActiveDynamicKeyList": {
"dynamicKeyList": ["xyz789"]
}
}
}
fetchDynamicKeyByTitle
Description
fetchDynamicKeyByTitle will attempt to fetch a DynamicKey record from the Cloud DB which matches on a provided title for the Dynamic Key.
Response
Returns a
DynamicKey!
Arguments
| Name | Description |
|---|---|
input -
FetchDynamicKeyByTitleRequest
|
Example
Query
query FetchDynamicKeyByTitle($input: FetchDynamicKeyByTitleRequest) {
fetchDynamicKeyByTitle(input: $input) {
created
creator
description
lastModified
modifier
status
title
}
}
Variables
{"input": FetchDynamicKeyByTitleRequest}
Response
{
"data": {
"fetchDynamicKeyByTitle": {
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"description": "Some description",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"status": "active",
"title": "Some Title"
}
}
}
fetchPaginatedDynamicKeys
Description
fetchPaginatedDynamicKeys will attempt to fetch a paginated list of Dynamic Keys from the Cloud DB.
Response
Returns a
FetchPaginatedDynamicKeysResponse!
Arguments
| Name | Description |
|---|---|
input -
FetchPaginatedDynamicKeysRequest
|
Example
Query
query FetchPaginatedDynamicKeys($input: FetchPaginatedDynamicKeysRequest) {
fetchPaginatedDynamicKeys(input: $input) {
dynamicKeys {
created
creator
description
lastModified
modifier
status
title
}
lastModifiedTimestamp
lastTitle
lastDocID
totalNumberOfRecords
}
}
Variables
{"input": FetchPaginatedDynamicKeysRequest}
Response
{
"data": {
"fetchPaginatedDynamicKeys": {
"dynamicKeys": [DynamicKey],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastTitle": "abc123",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
}
}
verifyDynamicKeyTitleAvailable
Description
verifyDynamicKeyTitleAvailable will attampt to verify if a Dynamic Key Title is available for creating a new Dymanic Key record in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
VerifyDynamicKeyTitleAvailableRequest
|
Example
Query
query VerifyDynamicKeyTitleAvailable($input: VerifyDynamicKeyTitleAvailableRequest) {
verifyDynamicKeyTitleAvailable(input: $input) {
message
}
}
Variables
{"input": VerifyDynamicKeyTitleAvailableRequest}
Response
{
"data": {
"verifyDynamicKeyTitleAvailable": {
"message": "Response message containing results of API request"
}
}
}
Geolocations
fetchActiveLocationList
Description
fetchActiveLocationList will attempt to retrieve a list of active Location titles from the Cloud DB for an Organisation.
Response
Returns a
FetchActiveLocationListResponse!
Arguments
| Name | Description |
|---|---|
input -
FetchActiveLocationListRequest
|
Example
Query
query FetchActiveLocationList($input: FetchActiveLocationListRequest) {
fetchActiveLocationList(input: $input) {
locationsList
}
}
Variables
{"input": FetchActiveLocationListRequest}
Response
{
"data": {
"fetchActiveLocationList": {
"locationsList": ["xyz789"]
}
}
}
fetchLocationByTitle
Description
fetchLocationByTitle will attempt to retrieve an Organisation's GeoLocation from the Cloud DB by GeoLocation title.
Response
Returns a
Geolocation!
Arguments
| Name | Description |
|---|---|
input -
FetchLocationByTitleRequest
|
Example
Query
query FetchLocationByTitle($input: FetchLocationByTitleRequest) {
fetchLocationByTitle(input: $input) {
title
altitude
created
creator
lastModified
latitude
longitude
messageText
modifier
status
}
}
Variables
{"input": FetchLocationByTitleRequest}
Response
{
"data": {
"fetchLocationByTitle": {
"title": "Some Title",
"altitude": 10,
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"latitude": 56.484146760301854,
"longitude": -3.018581082165732,
"messageText": "Welcome to our facility. Access your pass here!",
"modifier": "example@email.com",
"status": "active"
}
}
}
getPaginatedLocations
Description
getPaginatedLocations returns a paginated list of Location records for an Organisation's account.
Response
Returns a
PaginatedLocationResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedLocationRequest
|
Example
Query
query GetPaginatedLocations($input: GetPaginatedLocationRequest) {
getPaginatedLocations(input: $input) {
locations {
title
altitude
created
creator
lastModified
latitude
longitude
messageText
modifier
status
}
lastModifiedDate
lastDocID
lastTitle
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedLocationRequest}
Response
{
"data": {
"getPaginatedLocations": {
"locations": ["some-location-title"],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "abc123",
"totalNumberOfRecords": Int64
}
}
}
verifyLocationExists
Description
verifyLocationExists will attempt to verify if a Location title is available for creating a new Location.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
VerifyLocationExistsRequest
|
Example
Query
query VerifyLocationExists($input: VerifyLocationExistsRequest) {
verifyLocationExists(input: $input) {
message
}
}
Variables
{"input": VerifyLocationExistsRequest}
Response
{
"data": {
"verifyLocationExists": {
"message": "Response message containing results of API request"
}
}
}
Invalidation
fetchInvalidationDocByID
Description
fetchInvalidationDocByID will attempt to retrieve the invalidation doc by docId for an Organisation from the Cloud DB.
Response
Returns an
InvalidationRequestRecord!
Arguments
| Name | Description |
|---|---|
input -
FetchInvalidationDocByIdRequest
|
Example
Query
query FetchInvalidationDocByID($input: FetchInvalidationDocByIdRequest) {
fetchInvalidationDocByID(input: $input) {
batchCount
isBatchRequest
jobIssuer
created
failureCount
failureResults
status
successCount
successResults
expiryTimestamp
}
}
Variables
{"input": FetchInvalidationDocByIdRequest}
Response
{
"data": {
"fetchInvalidationDocByID": {
"batchCount": 10,
"isBatchRequest": true,
"jobIssuer": "example@email.com",
"created": "2023-03-23T17:21:00Z",
"failureCount": 1,
"failureResults": "https://www.somelinktofile.com/",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"expiryTimestamp": "2023-03-23T17:21:00Z"
}
}
}
getPaginatedInvalidationRequests
Description
getPaginatedInvalidationRequests returns a paginated list of Invalidation requests for an Organisation.
Response
Returns a
PaginatedInvalidationResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedInvalidationRequest
|
Example
Query
query GetPaginatedInvalidationRequests($input: GetPaginatedInvalidationRequest) {
getPaginatedInvalidationRequests(input: $input) {
invalidationDocs {
batchCount
isBatchRequest
jobIssuer
created
failureCount
failureResults
status
successCount
successResults
expiryTimestamp
docID
}
lastCreated
lastDocID
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedInvalidationRequest}
Response
{
"data": {
"getPaginatedInvalidationRequests": {
"invalidationDocs": [
InvalidationRequestRecordWithID
],
"lastCreated": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
}
}
Pass Delivery
fetchActivePassDeliveryList
Description
fetchActivePassDeliveryList will attempt to retrieve a list of active Pass Delivery Template titles from the Cloud DB for an Organisation.
Response
Returns a
FetchActivePassDeliveryListResponse!
Arguments
| Name | Description |
|---|---|
input -
FetchActivePassDeliveryListRequest
|
Example
Query
query FetchActivePassDeliveryList($input: FetchActivePassDeliveryListRequest) {
fetchActivePassDeliveryList(input: $input) {
emailList
smsList
}
}
Variables
{"input": FetchActivePassDeliveryListRequest}
Response
{
"data": {
"fetchActivePassDeliveryList": {
"emailList": ["abc123"],
"smsList": ["abc123"]
}
}
}
getPaginatedPassDeliveryTemplates
Description
getPaginatedPassDeliveryTemplates returns a paginated list of pass delivery templates.
Response
Returns a
PaginatedPassDeliveryTemplateResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedPassDeliveryTemplateRequest
|
Example
Query
query GetPaginatedPassDeliveryTemplates($input: GetPaginatedPassDeliveryTemplateRequest) {
getPaginatedPassDeliveryTemplates(input: $input) {
passDeliveryTemplates {
body
created
creator
footer
imageURL
lastModified
modifier
preheader
status
subject
title
type
}
lastModifiedTimestamp
lastDocID
lastTitle
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedPassDeliveryTemplateRequest}
Response
{
"data": {
"getPaginatedPassDeliveryTemplates": {
"passDeliveryTemplates": [PassDeliveryTemplate],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "xyz789",
"totalNumberOfRecords": Int64
}
}
}
verifyDeliveryTemplateAvailable
Description
verifyDeliveryTemplateAvailable will attempt to verify if a Pass Delivery Template title is available for creating a new template.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
VerifyTemplateTitleRequest
|
Example
Query
query VerifyDeliveryTemplateAvailable($input: VerifyTemplateTitleRequest) {
verifyDeliveryTemplateAvailable(input: $input) {
message
}
}
Variables
{"input": VerifyTemplateTitleRequest}
Response
{
"data": {
"verifyDeliveryTemplateAvailable": {
"message": "Response message containing results of API request"
}
}
}
Pass Designs
fetchPaginatedPassDesignsForDynamicKey
Description
fetchPaginatedPassDesignsForDynamicKey will attempt to fetch a paginated list of PassDesign details where the pass design contains a specific Dynamic Key value.
Response
Arguments
| Name | Description |
|---|---|
input -
FetchPaginatedPassDesignsForDynamicKeyRequest
|
Example
Query
query FetchPaginatedPassDesignsForDynamicKey($input: FetchPaginatedPassDesignsForDynamicKeyRequest) {
fetchPaginatedPassDesignsForDynamicKey(input: $input) {
passDesignSummaryList {
title
type
status
}
lastModifiedTimestamp
lastDocID
totalNumberOfRecords
}
}
Variables
{"input": FetchPaginatedPassDesignsForDynamicKeyRequest}
Response
{
"data": {
"fetchPaginatedPassDesignsForDynamicKey": {
"passDesignSummaryList": [
DynamicKeysPassDesignSummary
],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
}
}
getOrganisationPassDesignByTitle
Description
getOrganisationPassDesignByTitle fetches a pass design given a pass design title.
Response
Returns a
PassDesign!
Arguments
| Name | Description |
|---|---|
input -
GetPassDesignByTitleRequest
|
Example
Query
query GetOrganisationPassDesignByTitle($input: GetPassDesignByTitleRequest) {
getOrganisationPassDesignByTitle(input: $input) {
backgroundColor {
red
green
blue
}
countryCode
issuingOrganisation
passBrandingLogo {
sourceURI
description
fileName
}
passIcon {
sourceURI
description
fileName
}
metaData {
created
creator
lastModified
modifier
}
passDesignDefaultFields {
cardTitle
cardTitleLabel
header
subheader
}
passImage {
sourceURI
description
fileName
}
serialPrefix
title
isNFCEnabled
primaryFields {
size
items {
...DynamicFieldItemFragment
}
}
secondaryFields {
size
items {
...DynamicFieldItemFragment
}
}
auxiliaryFields {
size
items {
...DynamicFieldItemFragment
}
}
dynamicFieldKeys
appleRedemptions
googleRedemptions
totalDistributionCount
lastDistributionDate
barcodeType
backFields {
size
items {
...BackFieldItemFragment
}
}
downloadMessage
downloadLogo
downloadBackground
totalInvalidationCount
customerSupportDetailList
customerSupportMessage
}
}
Variables
{"input": GetPassDesignByTitleRequest}
Response
{
"data": {
"getOrganisationPassDesignByTitle": {
"backgroundColor": BackgroundColor,
"countryCode": "en-GB",
"issuingOrganisation": "Some Organisation",
"passBrandingLogo": Image,
"passIcon": Image,
"metaData": MetaData,
"passDesignDefaultFields": PassDesignDefaultFields,
"passImage": Image,
"serialPrefix": "xyz789",
"title": "Some Title",
"isNFCEnabled": false,
"primaryFields": DynamicFields,
"secondaryFields": DynamicFields,
"auxiliaryFields": DynamicFields,
"dynamicFieldKeys": ["membership_number", "membership_name"],
"appleRedemptions": 5,
"googleRedemptions": 4,
"totalDistributionCount": 10,
"lastDistributionDate": "2023-03-23T17:21:00Z",
"barcodeType": "abc123",
"backFields": BackFields,
"downloadMessage": "abc123",
"downloadLogo": "abc123",
"downloadBackground": "abc123",
"totalInvalidationCount": 42,
"customerSupportDetailList": [
"xyz789"
],
"customerSupportMessage": "abc123"
}
}
}
getPaginatedPassDesigns
Description
getPaginatedPassDesigns returns a paginated list of Pass Designs for an Organisation.
Response
Returns a
PaginatedPassDesignResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedPassDesignRequest
|
Example
Query
query GetPaginatedPassDesigns($input: GetPaginatedPassDesignRequest) {
getPaginatedPassDesigns(input: $input) {
passDesignDocs {
backgroundColor {
...BackgroundColorFragment
}
countryCode
issuingOrganisation
passBrandingLogo {
...ImageFragment
}
passIcon {
...ImageFragment
}
metaData {
...MetaDataFragment
}
passDesignDefaultFields {
...PassDesignDefaultFieldsFragment
}
passImage {
...ImageFragment
}
serialPrefix
title
isNFCEnabled
primaryFields {
...DynamicFieldsFragment
}
secondaryFields {
...DynamicFieldsFragment
}
auxiliaryFields {
...DynamicFieldsFragment
}
dynamicFieldKeys
appleRedemptions
googleRedemptions
totalDistributionCount
lastDistributionDate
barcodeType
backFields {
...BackFieldsFragment
}
downloadMessage
downloadLogo
downloadBackground
totalInvalidationCount
customerSupportDetailList
customerSupportMessage
}
lastModifiedTimestamp
lastDocID
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedPassDesignRequest}
Response
{
"data": {
"getPaginatedPassDesigns": {
"passDesignDocs": [PassDesign],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
}
}
Passes
getPassesByExternalRefID
Description
getPassesByExternalRefID will attempt to fetch a list of Pass records which match on a specified ExternalReferenceID value.
Response
Returns
[UserPass!]!
Arguments
| Name | Description |
|---|---|
input -
GetPassesByExternalRefIDRequest
|
Example
Query
query GetPassesByExternalRefID($input: GetPassesByExternalRefIDRequest) {
getPassesByExternalRefID(input: $input) {
deviceOS
dynamicFieldData
dynamicFieldKeys
dynamicFieldValues
dynamicFields {
id
position
row
value
}
externalReferenceID
expiredTimestamp
isExpired
isRedeemed
isRemoved
metaData {
created
creator
lastModified
modifier
}
passDesignTitle
redeemedTimestamp
removedTimestamp
registered
registeredTimestamp
serial {
cardNumber
prefix
serialNumber
}
genericObjectDefaultFields {
cardTitle
cardTitleLabel
header
subheader
}
passDeliveryDetails {
deliveryMethod
deliveryAddress
deliverySalutation
deliveryName
deliveryTemplate
}
beacons
locations
payload
}
}
Variables
{"input": GetPassesByExternalRefIDRequest}
Response
{
"data": {
"getPassesByExternalRefID": [
{
"deviceOS": "Apple",
"dynamicFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"dynamicFieldKeys": ["membership_number", "membership_name"],
"dynamicFieldValues": ["1234567890001", "Some Name"],
"dynamicFields": [
{
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
{
"membership_number": "1234567890002",
"membership_name": "Another Name"
}
],
"externalReferenceID": "ab12cd34ef56",
"expiredTimestamp": "2023-03-23T17:21:00Z",
"isExpired": true,
"isRedeemed": true,
"isRemoved": true,
"metaData": MetaData,
"passDesignTitle": "Some Pass Design",
"redeemedTimestamp": "2023-03-23T17:21:00Z",
"removedTimestamp": "2023-03-23T17:21:00Z",
"registered": true,
"registeredTimestamp": "2023-03-23T17:21:00Z",
"serial": Serial,
"genericObjectDefaultFields": GenericObjectDefaultFields,
"passDeliveryDetails": PassDeliveryDetails,
"beacons": ["some-beacon-title"],
"locations": ["some-location-title"],
"payload": "abc123"
}
]
}
}
Reporting
getPaginatedReportingRequest
Description
getPaginatedReportingRequest will attempt to fetch the paginated reporting requests.
Response
Returns a
PaginatedReportingRequestsResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedReportingRequestsRequest
|
Example
Query
query GetPaginatedReportingRequest($input: GetPaginatedReportingRequestsRequest) {
getPaginatedReportingRequest(input: $input) {
reportingRequestList {
reportType
status
created
requester
lastModified
downloadURL
reportID
}
lastDocID
lastModifiedTimestamp
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedReportingRequestsRequest}
Response
{
"data": {
"getPaginatedReportingRequest": {
"reportingRequestList": [ReportingRequestWithID],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"totalNumberOfRecords": Int64
}
}
}
getPassDesignMonthlyReport
Description
getPassDesignMonthlyReport fetches the pass design report for a given pass design title and reporting period.
Response
Returns
[PassDesignReport!]!
Arguments
| Name | Description |
|---|---|
input -
GetPassDesignMonthlyReportRequest
|
Example
Query
query GetPassDesignMonthlyReport($input: GetPassDesignMonthlyReportRequest) {
getPassDesignMonthlyReport(input: $input) {
appleCount
distributionCount
googleCount
invalidationCount
lastModified
reportingPeriod
appleRedemptionsCount
googleRedemptionsCount
}
}
Variables
{"input": GetPassDesignMonthlyReportRequest}
Response
{
"data": {
"getPassDesignMonthlyReport": [
{
"appleCount": 5,
"distributionCount": [
0,
0,
2,
0,
0,
0,
3,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0
],
"googleCount": 4,
"invalidationCount": [
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0,
0
],
"lastModified": "2023-03-23T17:21:00Z",
"reportingPeriod": "June 2023",
"appleRedemptionsCount": [42],
"googleRedemptionsCount": [42]
}
]
}
}
getReportingRequestByReportID
Description
getReportingRequestByReportID will attempt to get the reporting request for provided Report ID.
Response
Returns a
ReportingRequest!
Arguments
| Name | Description |
|---|---|
input -
GetReportingRequestByReportIDRequest
|
Example
Query
query GetReportingRequestByReportID($input: GetReportingRequestByReportIDRequest) {
getReportingRequestByReportID(input: $input) {
reportType
status
created
requester
lastModified
downloadURL
}
}
Variables
{"input": GetReportingRequestByReportIDRequest}
Response
{
"data": {
"getReportingRequestByReportID": {
"reportType": "xyz789",
"status": "active",
"created": "2023-03-23T17:21:00Z",
"requester": "xyz789",
"lastModified": "2023-03-23T17:21:00Z",
"downloadURL": "xyz789"
}
}
}
getUsageReporting
Description
getUsageReporting fetches the usage reporting of an organisation for a given time period. Takes in a date in the format of 'Month Year', eg 'October 2022'.
Response
Returns
[UsageReport!]!
Arguments
| Name | Description |
|---|---|
input -
ReportingPeriod
|
Example
Query
query GetUsageReporting($input: ReportingPeriod) {
getUsageReporting(input: $input) {
lastModified
longTermInvalidationCount
longTermPassesCount
recurringPassesCount
reportingPeriod
shortTermInvalidationCount
shortTermPassesCount
userCount
xUseInvalidationCount
xUsePassesCount
appleRedemptions
googleRedemptions
passDesignDistributions
appleRedemptionsCount
googleRedemptionsCount
passDeliverySmsUkCount
passDeliverySmsWorldCount
passDeliveryEmailCount
}
}
Variables
{"input": ReportingPeriod}
Response
{
"data": {
"getUsageReporting": [
{
"lastModified": "2023-03-23T17:21:00Z",
"longTermInvalidationCount": [
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"longTermPassesCount": [
0,
0,
2,
0,
0,
0,
3,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0
],
"recurringPassesCount": 0,
"reportingPeriod": "June 2023",
"shortTermInvalidationCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"shortTermPassesCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"userCount": 2,
"xUseInvalidationCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"xUsePassesCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"appleRedemptions": 5,
"googleRedemptions": 4,
"passDesignDistributions": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"appleRedemptionsCount": [42],
"googleRedemptionsCount": [42],
"passDeliverySmsUkCount": [42],
"passDeliverySmsWorldCount": [42],
"passDeliveryEmailCount": [42]
}
]
}
}
Serial Numbers
getPaginatedSerialNumbers
Description
getPaginatedSerialNumbers will attempt to retrieve a paginated batch of Serial Number records from the Cloud DB.
Response
Returns a
GetPaginatedSerialNumbersResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedSerialNumbersRequest
|
Example
Query
query GetPaginatedSerialNumbers($input: GetPaginatedSerialNumbersRequest) {
getPaginatedSerialNumbers(input: $input) {
serialNumberList {
cardNumberLength
initialCardNumber
latestCardNumber
prefix
prefixLength
created
creator
lastModified
modifier
maximumCardNumber
reservedRanges {
...ReservedSerialRangeFragment
}
prefixNumber
isAssigned
}
lastModifiedTimestamp
lastDocID
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedSerialNumbersRequest}
Response
{
"data": {
"getPaginatedSerialNumbers": {
"serialNumberList": [SerialNumberDetails],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
}
}
getSerialNumberByPrefix
Description
getSerialNumberByPrefix will attempt to fetch serial numbers for an Organisations API integration.
Response
Returns a
SerialNumberDetails!
Arguments
| Name | Description |
|---|---|
input -
GetBySerialPrefixRequest
|
Example
Query
query GetSerialNumberByPrefix($input: GetBySerialPrefixRequest) {
getSerialNumberByPrefix(input: $input) {
cardNumberLength
initialCardNumber
latestCardNumber
prefix
prefixLength
created
creator
lastModified
modifier
maximumCardNumber
reservedRanges {
count
end
processed
start
}
prefixNumber
isAssigned
}
}
Variables
{"input": GetBySerialPrefixRequest}
Response
{
"data": {
"getSerialNumberByPrefix": {
"cardNumberLength": 12,
"initialCardNumber": "00000001",
"latestCardNumber": 11,
"prefix": "1101",
"prefixLength": 4,
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"maximumCardNumber": Int64,
"reservedRanges": [ReservedSerialRange],
"prefixNumber": 42,
"isAssigned": false
}
}
}
getSerialNumberPrefixList
Description
getSerialNumberPrefixList will attempt to retrieve a list of Serial Number prefixes from the Cloud DB for an Organisation.
Response
Returns a
GetSerialNumberPrefixListResponse!
Arguments
| Name | Description |
|---|---|
input -
GetSerialNumberPrefixListRequest
|
Example
Query
query GetSerialNumberPrefixList($input: GetSerialNumberPrefixListRequest) {
getSerialNumberPrefixList(input: $input) {
serialNumberPrefixList
}
}
Variables
{"input": GetSerialNumberPrefixListRequest}
Response
{
"data": {
"getSerialNumberPrefixList": {
"serialNumberPrefixList": ["abc123"]
}
}
}
Users
getPaginatedOrgUsers
Description
getPaginatedOrgUsers will attempt to retrieve a paginated list of Organisation User accounts from the Cloud DB.
Response
Returns a
GetPaginatedOrgUsersResponse!
Arguments
| Name | Description |
|---|---|
input -
GetPaginatedOrgUsersRequest
|
Example
Query
query GetPaginatedOrgUsers($input: GetPaginatedOrgUsersRequest) {
getPaginatedOrgUsers(input: $input) {
usersList {
email
fullName
isEmailVerified
roles
status
profilePictureURL
created
lastModified
}
lastModifiedDate
lastDocID
lastName
totalNumberOfRecords
}
}
Variables
{"input": GetPaginatedOrgUsersRequest}
Response
{
"data": {
"getPaginatedOrgUsers": {
"usersList": [OrganisationUserDetails],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastName": "xyz789",
"totalNumberOfRecords": Int64
}
}
}
getUserDetailsByEmail
Description
getUserDetailsByEmail will attempt to retrieve an Organisation's User by Email from the Cloud DB.
Response
Returns an
OrganisationUserDetails!
Arguments
| Name | Description |
|---|---|
input -
GetUserDetailsByEmailRequest
|
Example
Query
query GetUserDetailsByEmail($input: GetUserDetailsByEmailRequest) {
getUserDetailsByEmail(input: $input) {
email
fullName
isEmailVerified
roles
status
profilePictureURL
created
lastModified
}
}
Variables
{"input": GetUserDetailsByEmailRequest}
Response
{
"data": {
"getUserDetailsByEmail": {
"email": "example@email.com",
"fullName": "abc123",
"isEmailVerified": true,
"roles": ["Pass-Issuer", "Pass-Editor", "Billing-Admin", "Api-Dev"],
"status": "active",
"profilePictureURL": "xyz789",
"created": "2023-03-23T17:21:00Z",
"lastModified": "2023-03-23T17:21:00Z"
}
}
}
Mutations
Beacons
activateBeacon
Description
activateBeacon will attempt to mark a Beacon as Active in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ActivateBeaconRequest
|
Example
Query
mutation ActivateBeacon($input: ActivateBeaconRequest) {
activateBeacon(input: $input) {
message
}
}
Variables
{"input": ActivateBeaconRequest}
Response
{
"data": {
"activateBeacon": {
"message": "Response message containing results of API request"
}
}
}
archiveBeacon
Description
archiveBeacon will attempt to mark a Beacon as Archived in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchiveBeaconRequest
|
Example
Query
mutation ArchiveBeacon($input: ArchiveBeaconRequest) {
archiveBeacon(input: $input) {
message
}
}
Variables
{"input": ArchiveBeaconRequest}
Response
{
"data": {
"archiveBeacon": {
"message": "Response message containing results of API request"
}
}
}
createNewBeacon
Description
createNewBeacon will attempt to upload a new BLE Beacon to the system based on user input.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
BeaconRequest
|
Example
Query
mutation CreateNewBeacon($input: BeaconRequest) {
createNewBeacon(input: $input) {
message
}
}
Variables
{"input": BeaconRequest}
Response
{
"data": {
"createNewBeacon": {
"message": "Response message containing results of API request"
}
}
}
updateBeacon
Description
updateBeacon will attempt to update an existing Beacon record based on user input.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
BeaconRequest
|
Example
Query
mutation UpdateBeacon($input: BeaconRequest) {
updateBeacon(input: $input) {
message
}
}
Variables
{"input": BeaconRequest}
Response
{
"data": {
"updateBeacon": {
"message": "Response message containing results of API request"
}
}
}
Billing
uploadOrgPurchaseOrderNumber
Description
uploadOrgPurchaseOrderNumber will attempt to upload a new Purchase Order Number for including within an Organisation's Invoices.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
UploadOrgPurchaseOrderNumberRequest
|
Example
Query
mutation UploadOrgPurchaseOrderNumber($input: UploadOrgPurchaseOrderNumberRequest) {
uploadOrgPurchaseOrderNumber(input: $input) {
message
}
}
Variables
{"input": UploadOrgPurchaseOrderNumberRequest}
Response
{
"data": {
"uploadOrgPurchaseOrderNumber": {
"message": "Response message containing results of API request"
}
}
}
Branding
createBrandingColor
Description
createBrandingColor will attempt to create a new branding color for an Organisation's account.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
CreateBrandingColorRequest
|
Example
Query
mutation CreateBrandingColor($input: CreateBrandingColorRequest) {
createBrandingColor(input: $input) {
message
}
}
Variables
{"input": CreateBrandingColorRequest}
Response
{
"data": {
"createBrandingColor": {
"message": "Response message containing results of API request"
}
}
}
deleteBrandingColor
Description
deleteBrandingColor will attempt to remove an Organisation's Branding Color from the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
DeleteBrandingColorRequest
|
Example
Query
mutation DeleteBrandingColor($input: DeleteBrandingColorRequest) {
deleteBrandingColor(input: $input) {
message
}
}
Variables
{"input": DeleteBrandingColorRequest}
Response
{
"data": {
"deleteBrandingColor": {
"message": "Response message containing results of API request"
}
}
}
updateBrandingColor
Description
updateBrandingColor will attempt to update the details of an Organisation's Branding Color in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
UpdateBrandingColorRequest
|
Example
Query
mutation UpdateBrandingColor($input: UpdateBrandingColorRequest) {
updateBrandingColor(input: $input) {
message
}
}
Variables
{"input": UpdateBrandingColorRequest}
Response
{
"data": {
"updateBrandingColor": {
"message": "Response message containing results of API request"
}
}
}
Customer Support Details
activateCustomerSupportDetail
Description
activateCustomerSupportDetail will attempt to activate an existing customer support detail for an Organisation's account.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ActivateCustomerSupportDetailRequest
|
Example
Query
mutation ActivateCustomerSupportDetail($input: ActivateCustomerSupportDetailRequest) {
activateCustomerSupportDetail(input: $input) {
message
}
}
Variables
{"input": ActivateCustomerSupportDetailRequest}
Response
{
"data": {
"activateCustomerSupportDetail": {
"message": "Response message containing results of API request"
}
}
}
archiveCustomerSupportDetail
Description
archiveCustomerSupportDetail will attempt to archive an existing customer support detail for an Organisation's account.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchiveCustomerSupportDetailRequest
|
Example
Query
mutation ArchiveCustomerSupportDetail($input: ArchiveCustomerSupportDetailRequest) {
archiveCustomerSupportDetail(input: $input) {
message
}
}
Variables
{"input": ArchiveCustomerSupportDetailRequest}
Response
{
"data": {
"archiveCustomerSupportDetail": {
"message": "Response message containing results of API request"
}
}
}
createCustomerSupportDetail
Description
createCustomerSupportDetail will attempt to create a new customer support detail for an Organisation's account.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
CreateCustomerSupportDetailRequest
|
Example
Query
mutation CreateCustomerSupportDetail($input: CreateCustomerSupportDetailRequest) {
createCustomerSupportDetail(input: $input) {
message
}
}
Variables
{"input": CreateCustomerSupportDetailRequest}
Response
{
"data": {
"createCustomerSupportDetail": {
"message": "Response message containing results of API request"
}
}
}
updateCustomerSupportDetail
Description
updateCustomerSupportDetail will attempt to update an existing customer support detail for an Organisation's account.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
UpdateCustomerSupportDetailRequest
|
Example
Query
mutation UpdateCustomerSupportDetail($input: UpdateCustomerSupportDetailRequest) {
updateCustomerSupportDetail(input: $input) {
message
}
}
Variables
{"input": UpdateCustomerSupportDetailRequest}
Response
{
"data": {
"updateCustomerSupportDetail": {
"message": "Response message containing results of API request"
}
}
}
Distribution
distributeIndividualPass
Description
distributeIndividualPass will attempt to create the pass download links for an individual distribution request. Pass Distribution results will be returned in the response body from this endpoint. Please note that Individual Distribution is limited to 25 passes per request. If you wish to create more within a single request, please look at Batch Distribution or Distribution via CSV Upload.
Response
Returns a
DistributionResponse!
Arguments
| Name | Description |
|---|---|
input -
DistributionRequest
|
Example
Query
mutation DistributeIndividualPass($input: DistributionRequest) {
distributeIndividualPass(input: $input) {
successList {
customFieldData
externalReferenceID
payload
passDownloadLink
serialNumber
deliveryMethod
deliveryAddress
deliverySalutation
deliveryName
deliveryTemplate
beacons
locations
expiredTimestamp
passApiKey
notes
}
failureList {
dynamicFieldData
externalReferenceID
payload
deliveryMethod
deliveryAddress
deliverySalutation
deliveryName
deliveryTemplate
beacons
locations
expiredTimestamp
error
}
}
}
Variables
{"input": DistributionRequest}
Response
{
"data": {
"distributeIndividualPass": {
"successList": [
{
"customFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"passDownloadLink": "https://www.breezin.io/pass-download?details=cdcjw34e345730489fmrfkjsdfg8fger435tyjergf98sdfg098430594rjkerfdsfo87gydsfg345t8",
"serialNumber": "110100000001"
},
{
"customFieldData": {
"membership_number": "1234567890002",
"membership_name": "Another Name"
},
"passDownloadLink": "https://www.breezin.io/pass-download?details=aser124e345730489fmrfkjsdfg8fger435tyjergf98sdfg098430594rjkerfdsfo87gydsfg345t8",
"serialNumber": "110100000002"
}
],
"failureList": [
{
"dynamicFieldData": {
"membership_number": "1234567890003",
"membership_name": "Some Name"
},
"error": "Some Failure reason"
},
{
"dynamicFieldData": {
"membership_number": "1234567890004",
"membership_name": "Another Name"
},
"error": "Another Failure reason"
}
]
}
}
}
distributePassBatch
Description
distributePassBatch will attempt to create a list of pass download links based on the users request. Please note that Batch Distribution will process the passes through the Breezin Platform and the requester will be notified over email when the batch is complete. API Integration will email the final results to any users with Owner, Admin, Pass-Issuer and Api-Dev permissions.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
DistributionRequest
|
Example
Query
mutation DistributePassBatch($input: DistributionRequest) {
distributePassBatch(input: $input) {
message
}
}
Variables
{"input": DistributionRequest}
Response
{
"data": {
"distributePassBatch": {
"message": "Response message containing results of API request"
}
}
}
distributePassesCSV
Description
distributePassesCSV will attempt to process a CSV file of passes for Distribution. Please note that there is a 32mb limit on file uploads. Distribution via CSV upload will be processed through the Breezin Platform and the requester will be notified over email when the batch is complete. API Integration will email the final results to any users with Owner, Admin, Pass-Issuer and Api-Dev permissions.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
DistributionRequestCSV
|
Example
Query
mutation DistributePassesCSV($input: DistributionRequestCSV) {
distributePassesCSV(input: $input) {
message
}
}
Variables
{"input": DistributionRequestCSV}
Response
{
"data": {
"distributePassesCSV": {
"message": "Response message containing results of API request"
}
}
}
Dynamic Keys
archiveDynamicKey
Description
archiveDynamicKey will attempt to mark an existing Dynamic Key as archived. Please note that once a Dynamic Key is marked as archived then it will no longer be able to be assigned to any Pass Designs unless it is re-activated.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchiveDynamicKeyRequest
|
Example
Query
mutation ArchiveDynamicKey($input: ArchiveDynamicKeyRequest) {
archiveDynamicKey(input: $input) {
message
}
}
Variables
{"input": ArchiveDynamicKeyRequest}
Response
{
"data": {
"archiveDynamicKey": {
"message": "Response message containing results of API request"
}
}
}
createDynamicKey
Description
createDynamicKey will attempt to create a new Dynamic Key record for an Organisation in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
CreateDynamicKeyRequest
|
Example
Query
mutation CreateDynamicKey($input: CreateDynamicKeyRequest) {
createDynamicKey(input: $input) {
message
}
}
Variables
{"input": CreateDynamicKeyRequest}
Response
{
"data": {
"createDynamicKey": {
"message": "Response message containing results of API request"
}
}
}
reactivateDynamicKey
Description
reactivateDynamicKey will attempt to re-active an archived Dynamic Key in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ReactivateDynamicKeyRequest
|
Example
Query
mutation ReactivateDynamicKey($input: ReactivateDynamicKeyRequest) {
reactivateDynamicKey(input: $input) {
message
}
}
Variables
{"input": ReactivateDynamicKeyRequest}
Response
{
"data": {
"reactivateDynamicKey": {
"message": "Response message containing results of API request"
}
}
}
updateDynamicKey
Description
updateDynamicKey will attempt to update an existing Dynamic Key record for an Organisation in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
UpdateDynamicKeyRequest
|
Example
Query
mutation UpdateDynamicKey($input: UpdateDynamicKeyRequest) {
updateDynamicKey(input: $input) {
message
}
}
Variables
{"input": UpdateDynamicKeyRequest}
Response
{
"data": {
"updateDynamicKey": {
"message": "Response message containing results of API request"
}
}
}
Geolocations
activateLocation
Description
activateLocation will attempt to mark a Location as Active in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ActivateLocationRequest
|
Example
Query
mutation ActivateLocation($input: ActivateLocationRequest) {
activateLocation(input: $input) {
message
}
}
Variables
{"input": ActivateLocationRequest}
Response
{
"data": {
"activateLocation": {
"message": "Response message containing results of API request"
}
}
}
archiveLocation
Description
archiveLocation will attempt to mark a Location as Archived in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchiveLocationRequest
|
Example
Query
mutation ArchiveLocation($input: ArchiveLocationRequest) {
archiveLocation(input: $input) {
message
}
}
Variables
{"input": ArchiveLocationRequest}
Response
{
"data": {
"archiveLocation": {
"message": "Response message containing results of API request"
}
}
}
createNewLocation
Description
createNewLocation will attempt to upload a new Location based on user input.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
CreateUpdateLocationRequest
|
Example
Query
mutation CreateNewLocation($input: CreateUpdateLocationRequest) {
createNewLocation(input: $input) {
message
}
}
Variables
{"input": CreateUpdateLocationRequest}
Response
{
"data": {
"createNewLocation": {
"message": "Response message containing results of API request"
}
}
}
updateLocation
Description
updateLocation will attempt to update an existing Location record based on user input.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
CreateUpdateLocationRequest
|
Example
Query
mutation UpdateLocation($input: CreateUpdateLocationRequest) {
updateLocation(input: $input) {
message
}
}
Variables
{"input": CreateUpdateLocationRequest}
Response
{
"data": {
"updateLocation": {
"message": "Response message containing results of API request"
}
}
}
Invalidation
invalidateBatchPasses
Description
invalidateBatchPasses will attempt to process Pass Invalidation (expiry) based on the provided list of passes. Please note that Batch Invalidation will be processed through the Breezin Platform and the requester will be notified over email when the batch is complete. API Integration will email the final results to any users with Owner, Admin, Pass-Issuer and Api-Dev permissions.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
InvalidationRequest
|
Example
Query
mutation InvalidateBatchPasses($input: InvalidationRequest) {
invalidateBatchPasses(input: $input) {
message
}
}
Variables
{"input": InvalidationRequest}
Response
{
"data": {
"invalidateBatchPasses": {
"message": "Response message containing results of API request"
}
}
}
invalidateIndividualPass
Description
invalidateIndividualPass will attempt to process Pass Invalidation (expiry) based on the provided list of passes. Pass Invalidation results will be returned in the response body from this endpoint. Please note that Individual Invalidation is limited to 25 passes per request. If you wish to expire more passes within a single request, please look at Batch Invalidation or Invalidation via CSV Upload.
Response
Returns an
InvalidationResponse!
Arguments
| Name | Description |
|---|---|
input -
InvalidationRequest
|
Example
Query
mutation InvalidateIndividualPass($input: InvalidationRequest) {
invalidateIndividualPass(input: $input) {
successList
failureList {
serialNumber
error
}
}
}
Variables
{"input": InvalidationRequest}
Response
{
"data": {
"invalidateIndividualPass": {
"successList": [
"110100000001",
"110100000002",
"110100002101",
"110100000589"
],
"failureList": [
{"serialNumber": "110100000003", "error": "Some Failure reason"},
{"serialNumber": "110100000004", "error": "Another Failure reason"}
]
}
}
}
invalidatePassesCSV
Description
invalidatePassesCSV will attempt to process a CSV file of passes for Invalidation (expiry). Please note that there is a 32mb limit on file uploads. Invalidation via CSV Upload will be processed through the Breezin Platform and the requester will be notified over email when the batch is complete. API Integration will email the final results to any users with Owner, Admin, Pass-Issuer and Api-Dev permissions.
Response
Returns a
ResponseMessage
Arguments
| Name | Description |
|---|---|
input -
InvalidationRequestCSV
|
Example
Query
mutation InvalidatePassesCSV($input: InvalidationRequestCSV) {
invalidatePassesCSV(input: $input) {
message
}
}
Variables
{"input": InvalidationRequestCSV}
Response
{
"data": {
"invalidatePassesCSV": {
"message": "Response message containing results of API request"
}
}
}
Pass Delivery
activatePassDeliveryTemplate
Description
activatePassDeliveryTemplate will attempt to mark a Pass Delivery Template as Active in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ActivatePassDeliveryTemplateRequest
|
Example
Query
mutation ActivatePassDeliveryTemplate($input: ActivatePassDeliveryTemplateRequest) {
activatePassDeliveryTemplate(input: $input) {
message
}
}
Variables
{"input": ActivatePassDeliveryTemplateRequest}
Response
{
"data": {
"activatePassDeliveryTemplate": {
"message": "Response message containing results of API request"
}
}
}
archivePassDeliveryTemplate
Description
archivePassDeliveryTemplate will attempt to mark a Pass Delivery Template as Archived in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchivePassDeliveryTemplateRequest
|
Example
Query
mutation ArchivePassDeliveryTemplate($input: ArchivePassDeliveryTemplateRequest) {
archivePassDeliveryTemplate(input: $input) {
message
}
}
Variables
{"input": ArchivePassDeliveryTemplateRequest}
Response
{
"data": {
"archivePassDeliveryTemplate": {
"message": "Response message containing results of API request"
}
}
}
createNewPassDeliveryTemplate
Description
createNewPassDeliveryTemplate will attempt to upload a new Pass Delivery Template based on user input.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
PassDeliveryTemplateRequest
|
Example
Query
mutation CreateNewPassDeliveryTemplate($input: PassDeliveryTemplateRequest) {
createNewPassDeliveryTemplate(input: $input) {
message
}
}
Variables
{"input": PassDeliveryTemplateRequest}
Response
{
"data": {
"createNewPassDeliveryTemplate": {
"message": "Response message containing results of API request"
}
}
}
updatePassDeliveryTemplate
Description
updatePassDeliveryTemplate will attempt to update the details of a Pass Delivery Template based on user input.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
PassDeliveryTemplateRequest
|
Example
Query
mutation UpdatePassDeliveryTemplate($input: PassDeliveryTemplateRequest) {
updatePassDeliveryTemplate(input: $input) {
message
}
}
Variables
{"input": PassDeliveryTemplateRequest}
Response
{
"data": {
"updatePassDeliveryTemplate": {
"message": "Response message containing results of API request"
}
}
}
Pass Designs
activatePassDesign
Description
activatePassDesign will attempt to mark an Organisation's Pass Design record as Active in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ActivatePassDesignRequest
|
Example
Query
mutation ActivatePassDesign($input: ActivatePassDesignRequest) {
activatePassDesign(input: $input) {
message
}
}
Variables
{"input": ActivatePassDesignRequest}
Response
{
"data": {
"activatePassDesign": {
"message": "Response message containing results of API request"
}
}
}
archivePassDesign
Description
archivePassDesign will attempt to mark an Organisation's Pass Design record as Archived in the Cloud DB.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchivePassDesignRequest
|
Example
Query
mutation ArchivePassDesign($input: ArchivePassDesignRequest) {
archivePassDesign(input: $input) {
message
}
}
Variables
{"input": ArchivePassDesignRequest}
Response
{
"data": {
"archivePassDesign": {
"message": "Response message containing results of API request"
}
}
}
Passes
externalPassDownload
Description
externalPassDownload will allow an organisation to control the Pass Download flow from an external application (EG end-user does not get redirected to the Breezin public pass download page). Please note that this will require that the external application uses the specific Add To Wallet buttons for Apple Wallet / Google Wallet. After creating a Distribution request, please provide the 1passApiKey to this endpoint. Upon success, this endpoint will return a URL which will allow the end-user to download their pass. The external application should redirect the user to the returned URL automatically.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ExternalPassDownloadRequest
|
Example
Query
mutation ExternalPassDownload($input: ExternalPassDownloadRequest) {
externalPassDownload(input: $input) {
message
}
}
Variables
{"input": ExternalPassDownloadRequest}
Response
{
"data": {
"externalPassDownload": {
"message": "Response message containing results of API request"
}
}
}
forgetUserDetailsForPass
Description
forgetUserDetailsForPass will attempt to update a pass record to remove the end-users personal details from the cloud DB (GDPR - Right to be forgotten). Please note that this endpoint will expire the pass record (if not already expired), before removing the end-users personal details within 3 days of the request being received.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ForgetUserDetailsForPassRequest
|
Example
Query
mutation ForgetUserDetailsForPass($input: ForgetUserDetailsForPassRequest) {
forgetUserDetailsForPass(input: $input) {
message
}
}
Variables
{"input": ForgetUserDetailsForPassRequest}
Response
{
"data": {
"forgetUserDetailsForPass": {
"message": "Response message containing results of API request"
}
}
}
updatePassPayload
Description
updatePassPayload will attempt to update an active pass to set a new payload value to be scanned via NFC / Barcodes.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
UpdatePassPayloadRequest
|
Example
Query
mutation UpdatePassPayload($input: UpdatePassPayloadRequest) {
updatePassPayload(input: $input) {
message
}
}
Variables
{"input": UpdatePassPayloadRequest}
Response
{
"data": {
"updatePassPayload": {
"message": "Response message containing results of API request"
}
}
}
updatePassUserDetails
Description
updatePassUserDetails will attempt to update the dynamic data fields shown on an end user's active digital pass.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
UpdatePassUserDetails
|
Example
Query
mutation UpdatePassUserDetails($input: UpdatePassUserDetails) {
updatePassUserDetails(input: $input) {
message
}
}
Variables
{"input": UpdatePassUserDetails}
Response
{
"data": {
"updatePassUserDetails": {
"message": "Response message containing results of API request"
}
}
}
Reporting
generateAuditLogReport
Description
generateAuditLogReport will attempt to generate a new Audit Log report for an Organisation's activity within the Breezin platform.
Response
Returns an
AuditLogReportResponse!
Arguments
| Name | Description |
|---|---|
input -
GenerateAuditLogReportRequest
|
Example
Query
mutation GenerateAuditLogReport($input: GenerateAuditLogReportRequest) {
generateAuditLogReport(input: $input) {
message
reportID
}
}
Variables
{"input": GenerateAuditLogReportRequest}
Response
{
"data": {
"generateAuditLogReport": {
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
}
}
generatePassDeliveryReport
Description
generatePassDeliveryReport will attempt to generate a new Pass Delivery report for an Organisation's Pass Delivery requests within the Breezin platform.
Response
Returns a
PassDeliveryReportResponse!
Arguments
| Name | Description |
|---|---|
input -
GeneratePassDeliveryReportRequest
|
Example
Query
mutation GeneratePassDeliveryReport($input: GeneratePassDeliveryReportRequest) {
generatePassDeliveryReport(input: $input) {
message
reportID
}
}
Variables
{"input": GeneratePassDeliveryReportRequest}
Response
{
"data": {
"generatePassDeliveryReport": {
"message": "Response message containing results of API request",
"reportID": "abc123"
}
}
}
generatePassReport
Description
generatePassReport will attempt to generate a pass report based on user input. Please note that there is a 3 month limit on report generation. Report generation will be processed through the Breezin Platform and the requester will be notified over email when the report is available for download.
Response
Returns a
PassReportResponse!
Arguments
| Name | Description |
|---|---|
input -
PassReportRequest
|
Example
Query
mutation GeneratePassReport($input: PassReportRequest) {
generatePassReport(input: $input) {
message
reportID
}
}
Variables
{"input": PassReportRequest}
Response
{
"data": {
"generatePassReport": {
"message": "Response message containing results of API request",
"reportID": "abc123"
}
}
}
Users
activateOrgUser
Description
activateOrgUser will attempt to mark an Organisation's User Account as Active.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ActivateOrgUserRequest
|
Example
Query
mutation ActivateOrgUser($input: ActivateOrgUserRequest) {
activateOrgUser(input: $input) {
message
}
}
Variables
{"input": ActivateOrgUserRequest}
Response
{
"data": {
"activateOrgUser": {
"message": "Response message containing results of API request"
}
}
}
archiveOrgUser
Description
archiveOrgUser will attempt to mark an Organisation's User Account as archived.
Response
Returns a
ResponseMessage!
Arguments
| Name | Description |
|---|---|
input -
ArchiveOrgUserRequest
|
Example
Query
mutation ArchiveOrgUser($input: ArchiveOrgUserRequest) {
archiveOrgUser(input: $input) {
message
}
}
Variables
{"input": ArchiveOrgUserRequest}
Response
{
"data": {
"archiveOrgUser": {
"message": "Response message containing results of API request"
}
}
}
Types
ActivateBeaconRequest
Description
ActivateBeaconRequest will control the input structure when requesting to mark a Beacon as Active in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Beacon to mark as Active. |
Example
{"title": "Some Title"}
ActivateCustomerSupportDetailRequest
Description
ActivateCustomerSupportDetailRequest will control the input structure when requesting to activate an Organisation's Customer Support Detail from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Customer Support Detail to be activated in the Cloud DB. |
Example
{"title": "Some Title"}
ActivateLocationRequest
Description
ActivateLocationRequest will control the input structure when requesting to mark a Location as Active in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Location to mark as Active. |
Example
{"title": "Some Title"}
ActivateOrgUserRequest
Description
ActivateOrgUserRequest will control the input structure when requesting to Activate an Organisation User account.
Fields
| Input Field | Description |
|---|---|
userEmail -
String!
|
The email address of the Organisation User to be marked as Active. |
Example
{"userEmail": "abc123"}
ActivatePassDeliveryTemplateRequest
Description
ActivatePassDeliveryTemplateRequest will control the input structure when requesting to mark a Pass Delivery Template as Active in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Pass Delivery Template to mark as Active. |
Example
{"title": "Some Title"}
ActivatePassDesignRequest
Description
ActivatePassDesignRequest will control the input structure when requesting to Activate an Organisation's Pass Design.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Pass Design record to be Activated. |
Example
{"title": "Some Title"}
ArchiveBeaconRequest
Description
ArchiveBeaconRequest will control the input structure when requesting to mark a Beacon as Archived in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Beacon to mark as Archived. |
Example
{"title": "Some Title"}
ArchiveCustomerSupportDetailRequest
Description
ArchiveCustomerSupportDetailRequest will control the input structure when requesting to archive an Organisation's Customer Support Detail from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Customer Support Detail to be archived in the Cloud DB. |
Example
{"title": "Some Title"}
ArchiveDynamicKeyRequest
Description
ArchiveDynamicKeyRequest will control the input structure when requesting to archive a Dynamic Key record in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Dynamic Key to mark as archived in the Cloud DB. |
Example
{"title": "Some Title"}
ArchiveLocationRequest
Description
ArchiveLocationRequest will control the input structure when requesting to mark a Location as Archived in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Location to mark as Archived. |
Example
{"title": "Some Title"}
ArchiveOrgUserRequest
Description
ArchiveOrgUserRequest will control the input structure when requesting to archive an Organisation User account.
Fields
| Input Field | Description |
|---|---|
userEmail -
String!
|
The email address of the Organisation User to be marked as archived. |
Example
{"userEmail": "abc123"}
ArchivePassDeliveryTemplateRequest
Description
ArchivePassDeliveryTemplateRequest will control the input structure when requesting to mark a Pass Delivery Template as Archived in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Pass Delivery Template to mark as Archived. |
Example
{"title": "Some Title"}
ArchivePassDesignRequest
Description
ArchivePassDesignRequest will control the input structure when requesting to archive an Organisation's Pass Design.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Pass Design record to be archived. |
Example
{"title": "Some Title"}
AuditLogReportResponse
Description
AuditLogReportResponse will control the response structure when requesting a new Audit Log Report via the API.
Example
{
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
BackFieldItem
Description
BackFieldItem contains the details for back field item of a pass design.
Fields
| Field Name | Description |
|---|---|
key -
String!
|
Key used to inject personalised content into a back field of a pass record. |
label -
String!
|
Label field for a back field item on a pass record. |
position -
Int!
|
Position of the back field item on a pass record. |
value -
String!
|
Value to store the static field content for a Back Field list item. |
isDynamic -
Boolean!
|
Boolean flag to record whether the data for a back field item is statically, or dynamically, populated at pass distribution. |
Example
{
"key": "some-key",
"label": "Some Label",
"position": 1,
"value": "Some Value",
"isDynamic": false
}
BackFields
Description
BackFields forms the generic struct to handle the back field data associated with a pass design.
Fields
| Field Name | Description |
|---|---|
size -
Int!
|
The number of Back Fields configured for the pass design. |
items -
[BackFieldItem!]!
|
List of Back field items for the pass design. |
Example
{"size": 42, "items": [BackFieldItem]}
BackgroundColor
Description
BackgroundColor contains the RGB background colour used when rendering the pass on a device
Example
{"red": 42, "green": 42, "blue": 42}
Beacon
Description
Beacon forms the generic struct to handle the structure of a BLE Beacon record for an Organisation.
Fields
| Field Name | Description |
|---|---|
title -
String!
|
Name assigned to the BLE Beacon. |
proximityUUID -
String!
|
The unique identifier of a BLE beacon. |
major -
Int
|
Optional major identifier of a BLE beacon. |
minor -
Int
|
Optional minor identifier of a BLE beacon. |
messageText -
String!
|
MessageText is used to define the contents of the Apple Push Notification when a pass is in range of the BLE Beacon. |
created -
Time!
|
Timestamp of when the BLE Beacon record was first created. |
creator -
String!
|
The user which was responsible for initially creating the BLE Beacon record. |
lastModified -
Time!
|
Timestamp of when the BLE Beacon record was last modified. |
modifier -
String!
|
The user which was responsible for the last update of the BLE Beacon record. |
status -
String!
|
The current status of the Beacon record. Please note that the available values are: Draft, Active or Archived. |
Example
{
"title": "Some Title",
"proximityUUID": "ABA71543-A2C5-4FB1-AFCF-A3AB01234567",
"major": 27201,
"minor": 43985,
"messageText": "Welcome to our facility. Access your pass here!",
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"status": "active"
}
BeaconRequest
Description
BeaconRequest will handle the input data for creating a new Beacon within the system.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Name assigned to the BLE Beacon. |
proximityUUID -
String!
|
The unique identifier of a BLE beacon. |
major -
Int
|
Optional major identifier of a BLE beacon. Please note value must be within the range 0 to 65535 |
minor -
Int
|
Optional minor identifier of a BLE beacon. Please note value must be within the range 0 to 65535 |
messageText -
String!
|
MessageText is used to define the contents of the Apple Lock Screen Notification when a pass is in range of the BLE Beacon. |
status -
String!
|
Status of the Beacon to save to the Cloud DB. Available options are: 'Draft', 'Active' or 'Archived'. |
Example
{
"title": "Some Title",
"proximityUUID": "ABA71543-A2C5-4FB1-AFCF-A3AB01234567",
"major": 27201,
"minor": 43985,
"messageText": "Welcome to our facility. Access your pass here!",
"status": "active"
}
Boolean
Description
The Boolean scalar type represents true or false.
Example
true
BrandingColor
Description
BrandingColor controls the structure of a Branding Color record from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
title -
String!
|
Title of the Branding Color record. |
colorHexCode -
String!
|
Hex Code of the Branding Color record. |
creator -
String!
|
Email Address of the user account who first created the Branding Color record. |
created -
Time!
|
Timestamp of when the Branding Color record was first created within the system. |
modifier -
String!
|
Email Address of the user account who last edited the Branding Color record. |
lastModified -
Time!
|
Timestamp of when the Branding Color record was last modified within the system. |
titleLowercase -
String!
|
Title of the Branding Color record in lower case format. |
Example
{
"title": "Some Title",
"colorHexCode": "xyz789",
"creator": "example@email.com",
"created": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"titleLowercase": "xyz789"
}
CreateBrandingColorRequest
Description
CreateBrandingColorRequest will control the input structure when requesting to create a new Branding Color record for an Organisation in the Cloud DB.
Example
{
"title": "Some Title",
"colorHexCode": "abc123"
}
CreateCustomerSupportDetailRequest
Description
CreateCustomerSupportDetailRequest will control the input structure when requesting to create a new Customer Support Detail record for an Organisation in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Customer Support Detail to create in the Cloud DB for an organisation. |
type -
String!
|
The type of Customer Support Detail to create: Can be |
value -
String!
|
The value of the Customer Support Detail to be created. |
Example
{"title": "Some Title", "type": "Some type", "value": "Some Value"}
CreateDynamicKeyRequest
Description
CreateDynamicKeyRequest will control the input structure when requesting to create a new Dynamic Key record for an Organisation in the Cloud DB.
Example
{"title": "Some Title", "description": "Some description"}
CreateUpdateLocationRequest
Description
CreateUpdateLocationRequest will handle the input data for creating/updating a location within the system.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title defines the name of a location. |
altitude -
Float
|
Optional Altitude value to allow multi-story facilities to define the height of the specific location offering (EG shopping mall). |
latitude -
Float!
|
The latitude co-ordinate of the Geolocation. Value should be specified in the range -90.0 through +90.0, both inclusive. |
longitude -
Float!
|
The longitude co-ordinate of the Geolocation. Value should be specified in the range -180.0 through +180.0, both inclusive. |
messageText -
String!
|
MessageText for the Apple push notification a end-user receives when they enter the Geolocation. |
status -
String!
|
Status of the Location to save to the Cloud DB. Available options are: 'Draft', 'Active' or 'Archived'. |
Example
{
"title": "Some Title",
"altitude": 10,
"latitude": 56.484146760301854,
"longitude": -3.018581082165732,
"messageText": "Welcome to our facility. Access your pass here!",
"status": "active"
}
CustomerSupportDetail
Description
CustomerSupportDetail controls the structure of a Customer Support Detail record from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
title -
String!
|
The title of the Customer Support Detail to create in the Cloud DB for an organisation. |
titleLowercase -
String!
|
Title of the Customer Support Detail in lower case format. |
type -
String!
|
The type of Customer Support Detail to create: Can be Email Address, Phone Number, Whatsapp or Web Link |
value -
String!
|
The value of the Customer Support Detail. |
status -
String!
|
Current status of the Customer Support Detail record. Available options are 'Active' or 'Archived'. |
created -
Time!
|
Timestamp of when the Customer Support Detail record was first created within the system. |
creator -
String!
|
Email Address of the user account who first created the Customer Support Detail record. |
lastModified -
Time!
|
Timestamp of when the Customer Support Detail record was last modified within the system. |
modifier -
String!
|
Email Address of the user account who last edited the Customer Support Detail record. |
Example
{
"title": "Some Title",
"titleLowercase": "abc123",
"type": "Some type",
"value": "Some Value",
"status": "active",
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com"
}
DeleteBrandingColorRequest
Description
DeleteBrandingColorRequest will control the input structure when requesting to remove an Organisation's Branding Color from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Branding Color record to be removed from the Cloud DB. |
Example
{"title": "Some Title"}
DistributionPassDetailsInput
Description
Structure for handling individual pass details within a distribution request.
Fields
| Input Field | Description |
|---|---|
externalReferenceID -
String!
|
Unique Reference ID for the end-user in external customer system. This will enable you to reference their external account details to within our system (EG get all passes for end-user, expire all passes for end user). This should be set to an empty string when not required. |
payload -
String
|
Optional value to override NFC/Barcode scan value of the pass record. This value has a 64 byte limit and must contain only ASCII characters. Please note that this value can be skipped from the request, resulting in the pass using it's unique serial number when scanned via NFC / Barcodes. When this value is assigned, the pass record will still be assigned a unique serial number, for indexing purposes. Please note this value can be used to assign the same payload to all of an end-users passes (EG 'AccountID', 'MemberNumber', 'CustomerID', etc) |
dynamicFields -
Map!
|
Dynamic values to be injected into a pass instance at pass distribution. Please note that there is a maximum limit of 300 characters for a front-of-pass field, and a maximum limit of 1200 characters for a back-of-pass field. |
deliveryMethod -
String
|
Value to control if the Breezin platform should deliver the pass download link directly to the intended recipient. Possible values are: 'None', 'Email', or 'SMS'. This value can be omitted from request, set to null, or set to 'None' if pass delivery is not required. |
deliveryAddress -
String
|
Value to control the address details for delivering pass download link. This value should be set to the intended recipient's 'mobile number' or 'email address' when selected to deliver pass at distribution time. Value can be omitted from request, set to null, or set to '' if pass delivery is not required. |
deliverySalutation -
String
|
Value to define the salutation for pass delivery message. Please note that this will be followed by the deliveryName value for pass delivery message. EG 'Hello', 'Dear', etc. Value can be omitted from request, set to null, or set to '' if pass delivery is not required. |
deliveryName -
String
|
Value to define the name of the end-user for personalising pass delivery message. Please note that this will be added beside the Salutation value. EG 'Mr C Menmuir', 'Curtis', 'Curtis Menmuir', etc. Value can be omitted from request, set to null, or set to '' if pass delivery is not required. |
deliveryTemplate -
String
|
Value to define the title of the pass delivery template to be used for delivering pass to end user. EG 'email-default'. Please note that the selected template should reflect the type of pass delivery selected under the 'deliveryMethod' field. Value can be omitted from request, set to null, or set to '' if pass delivery is not required. |
beacons -
[String!]
|
Optional string array to define the names of the BLE beacons which should be associated with a Pass record. Please note that Google Wallet passes do not support BLE Beacons at this time. Maximum of 10 Beacons can be specified per pass record. Value can be omitted from request, or set to null, if BLE Beacons are not required. |
locations -
[String!]
|
Optional string array to define the names of the Geolocations which should be associated with a Pass record. Please note that Google Wallet passes do not support Geolocations at this time. Maximum of 10 Locations can be specified per pass record. Value can be omitted from request, or set to null, if Geolocations are not required. |
expiredTimestamp -
Time
|
Optional timestamp value to record if an expiry timestamp should be associated to the pass record at distribution. Value can be omitted from request, or set to null, if pass expiry is not required at distribution time (eg long running membership pass). Please note that pass expiry cannot be set to over a year in advance from the time of distribution. |
serialNumber -
String
|
Optional serial number value for specifying serial number when they are managed externally from the Breezin platform. Please note that this value will only be used when Organisation has external serial numbers enabled, and pass design is set to use an external serial number. |
Example
{
"externalReferenceID": "ab12cd34ef56",
"payload": "xyz789",
"dynamicFields": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"deliveryMethod": "Email",
"deliveryAddress": "example@email.com",
"deliverySalutation": "Hi",
"deliveryName": "Jane Doe",
"deliveryTemplate": "email-default",
"beacons": ["some-beacon-title"],
"locations": ["some-location-title"],
"expiredTimestamp": "2023-03-23T17:21:00Z",
"serialNumber": "110100000001"
}
DistributionRequest
Description
Request body for generating pass download links for specific end user's. Please note that each entry with the dynamicFields array will represent an individual pass instance.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of pass design |
passDetails -
[DistributionPassDetailsInput!]!
|
Array of distribution details for all passes to be distributed within the request. |
startTime -
Time
|
Timestamp of when pass download link becomes valid. Omit this value from request / set to null if pass download link should be valid immediately. |
endTime -
Time
|
Expiry time of pass download link. Omit this value from request / set to null if pass download link should be available until pass has been installed to a device. |
Example
{
"title": "Some Pass Design Title",
"passDetails": [DistributionPassDetailsInput],
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z"
}
DistributionRequestCSV
Description
Request body for distributing passes based on an uploaded CSV file. Please note that each row within the CSV file will represent an individual pass record.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of pass design |
file -
Upload!
|
CSV file containing distribution details for passes to be issued. Please note that there is a 32mb limit on file uploads. |
startTime -
Time
|
Timestamp of when pass download link becomes valid. Omit this value from request / set to null if pass download link should be valid immediately. |
endTime -
Time
|
Expiry time of pass download link. Omit this value from request / set to null if pass download link should be available until pass has been installed to a device. |
Example
{
"title": "Some Pass Design Title",
"file": Upload,
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z"
}
DistributionRequestRecord
Description
DistributionRequestRecord contains the format for creating a pass distribution request
Fields
| Field Name | Description |
|---|---|
batchCount -
Int!
|
The number of passes to be distributed for request. |
isBatchRequest -
Boolean!
|
Boolean flag to record if request was Individual or Batch Distribution request. |
jobIssuer -
String!
|
Email address of the system user who issued Distribution request. |
passDesignTitle -
String!
|
Name of the Pass Design template used for distributing passes. |
passType -
String!
|
The type of pass used for Distribution. EG LongTerm, ShortTerm, etc. |
created -
Time!
|
Timestamp of when the Distribution request was created within the system. |
failureCount -
Int!
|
The number of records which failed to be distributed as part of this request. Please note that these passes will not be charged to account. |
failureResults -
String!
|
Download link to a CSV file containing failure records along with a failure reason. |
status -
String!
|
The status of the Distribution request. EG In-Progress, Complete, etc. |
successCount -
Int!
|
The number of passes which were successfully Distributed as part of this request. |
successResults -
String!
|
Download link to a CSV file containing success records for this Distribution request. |
projectedCost -
Int!
|
Estimated cost at creation of Distribution request. Please note that any passes which fail to Distribute will not be charged to account. |
pricePerPass -
Int!
|
The cost per pass for each record within the Distribution request. |
appleRedemptions -
Int
|
The number of passes from the Distribution request which were installed successfully to an Apple device. |
googleRedemptions -
Int
|
The number of passes from the Distribution request which were installed successfully to an Android device. |
Example
{
"batchCount": 10,
"isBatchRequest": false,
"jobIssuer": "example@email.com",
"passDesignTitle": "Some Pass Design",
"passType": "LongTerm",
"created": "2023-03-23T17:21:00Z",
"failureCount": 1,
"failureResults": "https://www.somelinktofile.com/",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"projectedCost": 90,
"pricePerPass": 10,
"appleRedemptions": 5,
"googleRedemptions": 4
}
DistributionRequestWithID
Description
DistributionRequestWithID controls the structure of a Distribution Request document which contains the Document ID for the record.
Fields
| Field Name | Description |
|---|---|
batchCount -
Int!
|
The number of passes to be distributed for request. |
isBatchRequest -
Boolean!
|
Boolean flag to record if request was Individual or Batch Distribution request. |
jobIssuer -
String!
|
Email address of the system user who issued Distribution request. |
passDesignTitle -
String!
|
Name of the Pass Design template used for distributing passes. |
passType -
String!
|
The type of pass used for Distribution. EG LongTerm, ShortTerm, etc. |
created -
Time!
|
Timestamp of when the Distribution request was created within the system. |
failureCount -
Int!
|
The number of records which failed to be distributed as part of this request. Please note that these passes will not be charged to account. |
failureResults -
String!
|
Download link to a CSV file containing failure records along with a failure reason. |
status -
String!
|
The status of the Distribution request. EG In-Progress, Complete, etc. |
successCount -
Int!
|
The number of passes which were successfully Distributed as part of this request. |
successResults -
String!
|
Download link to a CSV file containing success records for this Distribution request. |
projectedCost -
Int!
|
Estimated cost at creation of Distribution request. Please note that any passes which fail to Distribute will not be charged to account. |
pricePerPass -
Int!
|
The cost per pass for each record within the Distribution request. |
appleRedemptions -
Int
|
The number of passes from the Distribution request which were installed successfully to an Apple device. |
googleRedemptions -
Int
|
The number of passes from the Distribution request which were installed successfully to an Android device. |
docID -
String!
|
The unique Document ID of the distribution record. |
Example
{
"batchCount": 10,
"isBatchRequest": false,
"jobIssuer": "example@email.com",
"passDesignTitle": "Some Pass Design",
"passType": "LongTerm",
"created": "2023-03-23T17:21:00Z",
"failureCount": 1,
"failureResults": "https://www.somelinktofile.com/",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"projectedCost": 90,
"pricePerPass": 10,
"appleRedemptions": 5,
"googleRedemptions": 4,
"docID": "abc123"
}
DistributionResponse
Fields
| Field Name | Description |
|---|---|
successList -
[SuccessListItem]
|
Array of links to pass downloads, and the map of dynamic data assigned to pass |
failureList -
[FailureListItem]
|
Array of failed pass distribution requests; contains the dynamic data requested for the pass instance, and the failure reason given by the system |
Example
{
"successList": [
{
"customFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"passDownloadLink": "https://www.breezin.io/pass-download?details=cdcjw34e345730489fmrfkjsdfg8fger435tyjergf98sdfg098430594rjkerfdsfo87gydsfg345t8",
"serialNumber": "110100000001"
},
{
"customFieldData": {
"membership_number": "1234567890002",
"membership_name": "Another Name"
},
"passDownloadLink": "https://www.breezin.io/pass-download?details=aser124e345730489fmrfkjsdfg8fger435tyjergf98sdfg098430594rjkerfdsfo87gydsfg345t8",
"serialNumber": "110100000002"
}
],
"failureList": [
{
"dynamicFieldData": {
"membership_number": "1234567890003",
"membership_name": "Some Name"
},
"error": "Some Failure reason"
},
{
"dynamicFieldData": {
"membership_number": "1234567890004",
"membership_name": "Another Name"
},
"error": "Another Failure reason"
}
]
}
DynamicField
Description
DynamicField is used to track the full details of a custom data field on a pass record. This will include positioning details as well as the display value for a specific pass record.
Example
{"id": "some-id", "position": 1, "row": 1, "value": "Some Value"}
DynamicFieldItem
Description
DynamicFieldItem contains the dynamic field item for customizing what is presented on a pass
Fields
| Field Name | Description |
|---|---|
key -
String!
|
Dynamic Data key used to inject personalised content into a pass record. |
label -
String!
|
Label field for Dynamic Data field on pass. |
position -
Int!
|
Position of Dynamic Data field within a row on the pass. |
isDynamic -
Boolean!
|
Boolean flag to record whether the data for a front of pass field item is statically or dynamically assigned. If dynamically then the value should be provided at pass distribution time. |
value -
String!
|
Value to store the static field content for a Front of pass Field list item. Please note that this value will be ignored for dynamically assigned fields. |
Example
{
"key": "some-key",
"label": "Some Label",
"position": 1,
"isDynamic": true,
"value": "Some Value"
}
DynamicFields
Description
DynamicFields contains the dynamic fields for customizing what is presented on a pass
Fields
| Field Name | Description |
|---|---|
size -
Int!
|
The number of Dynamic Fields configured for the pass. |
items -
[DynamicFieldItem!]!
|
List of Dynamic field keys for pass. |
Example
{"size": 42, "items": [DynamicFieldItem]}
DynamicKey
Description
DynamicKey controls the DB structure for a Dynamic Key record which is used to inject personal details into an end-user's digital pass.
Fields
| Field Name | Description |
|---|---|
created -
Time!
|
Timestamp of when the Dynamic Key record was first created within the platform. |
creator -
String!
|
Email address of the system user who first created the Dynamic Key record within the platform. |
description -
String!
|
Human readable description to explain the use case for the Dynamic Key record. |
lastModified -
Time!
|
Timestamp of when the Dynamic Key record was last updated within the platform. |
modifier -
String!
|
Email address of the system user who last updated the Dynamic Key record within the platform. |
status -
String!
|
The current status of the Dynamic Key record. Please note that the available values are: active or archived. |
title -
String!
|
The title of the Dynamic Key record. Please note that this will be the field name used to inject personal details in to a pass record at distribution time. |
Example
{
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"description": "Some description",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"status": "active",
"title": "Some Title"
}
DynamicKeysPassDesignSummary
Description
DynamicKeysPassDesignSummary will control the structure of the Pass Design summary details when requesting a paginated list of PassDesign details where the pass design contains a specific Dynamic Key value.
Example
{"title": "Some Title", "type": "Some type", "status": "active"}
ExternalPassDownloadRequest
Description
ExternalPassDownloadRequest controls the request structure for downloading a pass via API. This can be used to download a pass from within an external application, EG without visiting the Breezin Pass Download web page.
Example
{
"deviceOS": "Apple",
"encryptedDetails": "abc123"
}
FailureListItem
Description
Returned when a distribution request for a pass fails. Contains the pass that failed's custom fields, external reference ID, as well as a reason why an error occurred whilst distributing a specific pass record.
Fields
| Field Name | Description |
|---|---|
dynamicFieldData -
Map
|
Dynamic field data for pass distribution request that failed |
externalReferenceID -
String!
|
Unique Reference ID for the end-user in external customer system. This will enable you to reference their external account details to within our system (EG get all passes for end-user, expire all passes for end user). This should be set to an empty string when not required. |
payload -
String
|
Value to control the payload which is scanned from the pass record via NFC or Barcode. |
deliveryMethod -
String!
|
Value to control if the Breezin platform should deliver the pass download link directly to the intended recipient. Possible values are: 'None', 'Email', or 'SMS'. |
deliveryAddress -
String!
|
Value to control the address details for delivering pass download link. This value should be set to the intended recipient's 'mobile number' or 'email address' when selected to deliver pass at distribution time. |
deliverySalutation -
String!
|
The salutation message for formatting the pass delivery message. |
deliveryName -
String!
|
The name of the end-user for personalising pass delivery message. |
deliveryTemplate -
String!
|
The Pass Delivery Template to be used to format the pass delivery message. |
beacons -
[String!]
|
String array containing the names of the BLE beacons which were requested to be associated with the Pass record. |
locations -
[String!]
|
String array containing the names of the Geolocations which were requested to be associated with the Pass record. |
expiredTimestamp -
Time
|
Value to record if an expiry timestamp was associated to the pass record at distribution. |
error -
String
|
Error related to failure |
Example
{
"dynamicFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"externalReferenceID": "ab12cd34ef56",
"payload": "xyz789",
"deliveryMethod": "Email",
"deliveryAddress": "example@email.com",
"deliverySalutation": "Hi",
"deliveryName": "Jane Doe",
"deliveryTemplate": "email-default",
"beacons": ["some-beacon-title"],
"locations": ["some-location-title"],
"expiredTimestamp": "2023-03-23T17:21:00Z",
"error": "Message explaining reason for error"
}
FetchActiveBeaconListRequest
Description
FetchActiveBeaconListRequest will control the input structure when requesting to fetch a list of Active Beacons for an Organisation.
Example
{}
FetchActiveBeaconListResponse
Description
FetchActiveBeaconListResponse will control the response structure for a request to fetch a list of Active Beacons for an Organisation.
Fields
| Field Name | Description |
|---|---|
beaconsList -
[String!]!
|
List of titles for an Organisation's active Beacon records. |
Example
{"beaconsList": ["abc123"]}
FetchActiveDynamicKeyListRequest
Description
FetchActiveDynamicKeyListRequest will control the input structure when requesting to fetch a list of Active Dynamic Keys for an Organisation.
Example
{}
FetchActiveDynamicKeyListResponse
Description
FetchActiveDynamicKeyListResponse will control the response structure for a request to fetch a list of Active Dynamic Keys for an Organisation.
Fields
| Field Name | Description |
|---|---|
dynamicKeyList -
[String!]!
|
List of titles for an Organisation's active Dynamic Key records. |
Example
{"dynamicKeyList": ["abc123"]}
FetchActiveLocationListRequest
Description
FetchActiveLocationListRequest will control the input structure when requesting to fetch a list of Active Locations for an Organisation.
Example
{}
FetchActiveLocationListResponse
Description
FetchActiveLocationListResponse will control the response structure for a request to fetch a list of Active Locations for an Organisation.
Fields
| Field Name | Description |
|---|---|
locationsList -
[String!]!
|
List of titles for an Organisation's active Location records. |
Example
{"locationsList": ["xyz789"]}
FetchActivePassDeliveryListRequest
Description
FetchActivePassDeliveryListRequest will control the input structure when requesting to fetch a list of Active Pass Delivery Templates for an Organisation.
Example
{}
FetchActivePassDeliveryListResponse
Description
FetchActiveBeaconListResponse will control the response structure for a request to fetch a list of Active Pass Delivery Template titles for an Organisation.
Fields
| Field Name | Description |
|---|---|
emailList -
[String!]!
|
List of titles for an Organisation's active Email Pass Delivery Template records. |
smsList -
[String!]!
|
List of titles for an Organisation's active SMS Pass Delivery Template records. |
Example
{
"emailList": ["abc123"],
"smsList": ["abc123"]
}
FetchBeaconByTitleRequest
Description
FetchBeaconByTitleRequest will control the input structure when requesting to retrieve a beacon from the Cloud DB by title.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of an Organisation's beacon record to search for within the Cloud DB. |
Example
{"title": "Some Title"}
FetchBrandingColorByTitleRequest
Description
FetchBrandingColorByTitleRequest will control the input structure when requesting to fetch an Organisation's branding color from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of the Branding Color record to fetch from the Cloud DB. |
Example
{"title": "Some Title"}
FetchDistributionDocByIdRequest
Description
FetchDistributionDocByIdRequest controls the input structure when requesting to fetch an Organisation's Distribution by Doc id from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
distributionID -
String!
|
Distribution Id of the document also referred as DocId |
Example
{"distributionID": "xyz789"}
FetchDynamicKeyByTitleRequest
Description
* FetchDynamicKeyByTitleRequest will control the input structure when requesting to retrieve a Dynamic Key record from the Cloud DB by title.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Dynamic Key to search for in the Cloud DB. |
Example
{"title": "Some Title"}
FetchInvalidationDocByIdRequest
Description
FetchInvalidationDocByIdRequest controls the input structure when requesting to fetch an Organisation's Invalidation by Doc id from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
invalidationID -
String!
|
Invalidation Id of the document also referred as DocId |
Example
{"invalidationID": "xyz789"}
FetchLocationByTitleRequest
Description
FetchLocationByTitleRequest will control the input structure when requesting to retrieve a geo-location from the Cloud DB by title.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title of an Organisation's geo-location record to search for within the Cloud DB. |
Example
{"title": "Some Title"}
FetchPaginatedBrandingColorsRequest
Description
* FetchPaginatedBrandingColorsRequest will control the input structure when requesting to fetch a paginated list of Organisation Branding Colors from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedDate -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastTitle -
String
|
lastTitle is the unique Title related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"sortFilter": "abc123",
"lastDocID": "some-doc-id",
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastTitle": "xyz789"
}
FetchPaginatedBrandingColorsResponse
Description
* FetchPaginatedBrandingColorsResponse will control the response structure when requesting to fetch a paginated list of Organisation Branding Colors from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
brandingColors -
[BrandingColor!]!
|
Paginated list of Branding Color records for an Organisation. |
lastModifiedDate -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastTitle -
String
|
The Title of the last document within the returned results. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"brandingColors": [BrandingColor],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "xyz789",
"totalNumberOfRecords": Int64
}
FetchPaginatedCustomerSupportDetailsRequest
Description
FetchPaginatedCustomerSupportDetailsRequest will control the input structure when requesting to fetch a paginated list of Organisation Customer Support Details from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
typeFilter -
String
|
Optional filter option to limit the pagination results to return a specified type of Customer Support Detail. Available type filter options: 'Email Address', 'Phone Number', 'Whatsapp' or 'Web Link'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Customer Support Details with a specified status value. Available status filter options: 'Active' or 'Archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedDate -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastTitle -
String
|
lastTitle is the unique Title related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"typeFilter": "abc123",
"statusFilter": "xyz789",
"sortFilter": "xyz789",
"lastDocID": "some-doc-id",
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastTitle": "xyz789"
}
FetchPaginatedCustomerSupportDetailsResponse
Description
FetchPaginatedCustomerSupportDetailsResponse will control the response structure when requesting to fetch a paginated list of Organisation Customer Support Details from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
customerSupportDetailList -
[CustomerSupportDetail!]!
|
Paginated list of Customer Support Detail records for an Organisation. |
lastModifiedDate -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastTitle -
String
|
The Title of the last document within the returned results. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"customerSupportDetailList": [CustomerSupportDetail],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "abc123",
"totalNumberOfRecords": Int64
}
FetchPaginatedDynamicKeysRequest
Description
FetchPaginatedDynamicKeysRequest will control the input structure when requesting to retrieve a paginated batch of Dynamic Keys from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Dynamic Keys with a specified status value. Available status filter options: 'active' or 'archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastModifiedTimestamp -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastTitle -
String
|
lastTitle is the unique Title related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"statusFilter": "xyz789",
"sortFilter": "xyz789",
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastTitle": "abc123",
"lastDocID": "some-doc-id"
}
FetchPaginatedDynamicKeysResponse
Description
FetchPaginatedDynamicKeysResponse will control the response structure when requesting to retrieve a paginated batch of Dynamic Keys from the Cloud DB.
Fields
| Field Name | Description |
|---|---|
dynamicKeys -
[DynamicKey!]!
|
Paginated list of Dynamic Keys from the Cloud DB. |
lastModifiedTimestamp -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastTitle -
String
|
lastTitle for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"dynamicKeys": [DynamicKey],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastTitle": "xyz789",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
FetchPaginatedPassDesignsForDynamicKeyRequest
Description
FetchPaginatedPassDesignsForDynamicKeyRequest will control the input structure when requesting a paginated list of PassDesign details where the pass design contains a specific Dynamic Key value.
Fields
| Input Field | Description |
|---|---|
title -
String
|
Title of the Dynamic Key to query Cloud DB for retrieving matching Pass Design Summary records. |
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
lastModifiedTimestamp -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"title": "Some Title",
"batchSize": 10,
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
FetchPaginatedPassDesignsForDynamicKeyResponse
Description
FetchPaginatedPassDesignsForDynamicKeyResponse will control the response structure when requesting a paginated list of PassDesign details where the pass design contains a specific Dynamic Key value.
Fields
| Field Name | Description |
|---|---|
passDesignSummaryList -
[DynamicKeysPassDesignSummary!]!
|
List of Pass Design Summary details. |
lastModifiedTimestamp -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"passDesignSummaryList": [DynamicKeysPassDesignSummary],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
Float
Description
The Float scalar type represents signed double-precision fractional values as specified by
IEEE 754.
Example
987.65
ForgetUserDetailsForPassRequest
Description
ForgetUserDetailsForPassRequest will control the input structure for requesting the a pass record is updated to remove an end-users personal details.
Fields
| Input Field | Description |
|---|---|
serialNumber -
String!
|
Unique serial number of pass record for user details to be forgotten. Please note that their pass will be expired before removing user personal details from platform. Personal details will be removed within 3 days of request being received. |
Example
{"serialNumber": "110100000001"}
GenerateAuditLogReportRequest
Description
GenerateAuditLogReportRequest will control the input structure for requesting a new Audit Log report to be generated.
Fields
| Input Field | Description |
|---|---|
startTime -
Time!
|
Timestamp to control initial start point of report generation for Audit Log records. Please note there is a 7 day maximum limit on Audit Log report generation. |
endTime -
Time!
|
Timestamp to control the end point of report generation for Audit Log records. Please note there is a 7 day maximum limit on Audit Log report generation. |
emailAddresses -
[String!]!
|
List of email addresses to receive the report download link via email once report generation complete. This can be set to an empty array if not required to receive email results. |
emailAddressFilter -
String
|
Filter option for specifying the report to be filtered to a specific system user email address. Please omit this value from the request, set to empty string ('') or set to 'all' if this filter is not required. |
categoryFilter -
String
|
Filter option for specifying the report to be filtered to a specific category of audit events. Please omit this value from the request, set to empty string ('') or set to 'all' if this filter is not required. Available values: 'Beacons', 'Billing', 'Distributions', 'Dynamic Keys', 'Invalidations', 'Geolocations', 'Login', 'Organisation', 'Pass Designs', 'Passes', 'Reporting', 'Serial Numbers', 'Signing', or 'Users'. |
reportFields -
[String]
|
The fields we wish to return within the CSV report. Omitting this value from the request will result in all fields being included in the final report CSV. Available values: 'Timestamp', 'Email Address', 'Category', 'Event', and 'Identifier'. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["xyz789"],
"emailAddressFilter": "abc123",
"categoryFilter": "xyz789",
"reportFields": ["xyz789"]
}
GeneratePassDeliveryReportRequest
Description
GeneratePassDeliveryReportRequest will control the input structure for requesting a new Pass Delivery report to be generated.
Fields
| Input Field | Description |
|---|---|
startTime -
Time!
|
Timestamp to control initial start point of report generation for Pass Delivery records. Please note there is a 30 day maximum limit on Pass Delivery report generation. |
endTime -
Time!
|
Timestamp to control the end point of report generation for Pass Delivery records. Please note there is a 30 day maximum limit on Pass Delivery report generation. |
emailAddresses -
[String!]!
|
List of email addresses to receive the report download link via email once report generation complete. This can be set to an empty array if not required to receive email results. |
deliveryTypeFilter -
String
|
Filter option for specifying the report to be filtered to a specific delivery type for Pass Delivery reporting records. Please omit this value from the request, set to empty string ('') or set to 'all' if this filter is not required. Available values are: 'Email', 'SMS UK' or 'SMS World'. |
statusFilter -
String
|
Filter option for specifying the report to be filtered to a specific status of Pass Delivery reporting records. Please omit this value from the request, set to empty string ('') or set to 'all' if this filter is not required. Available values: 'Processing', 'Sent', 'Delivered', or 'Failed'. |
reportFields -
[String]
|
The fields we wish to return within the CSV report. Omitting this value from the request will result in all fields being included in the final report CSV. Available values: 'Created', 'Last Modified', 'Delivery Type', 'Delivery Address', 'Delivery Salutation', 'Delivery Name', 'Delivery Template', 'Status', and 'Distribution ID'. |
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"emailAddresses": ["xyz789"],
"deliveryTypeFilter": "abc123",
"statusFilter": "xyz789",
"reportFields": ["xyz789"]
}
GenericObjectDefaultFields
Description
GenericObjectDefaultFields is used to add the generic default fields to a Pass record.
Example
{
"cardTitle": "Some Title",
"cardTitleLabel": "Some Label",
"header": "Some Header",
"subheader": "Some Subheader"
}
Geolocation
Description
Geolocation forms the generic struct to handle the structure of a location record for an Organisation for trigger push notifications based on Geolocations.
Fields
| Field Name | Description |
|---|---|
title -
String!
|
Name assigned to the Geolocation co-ordinates. |
altitude -
Float
|
Optional Altitude value to allow multi-story facilities to define the height of the specific location offering (EG shopping mall). |
created -
Time!
|
Timestamp of when the Geolocation record was first created. |
creator -
String!
|
The user which was responsible for initially creating the Geolocation record. |
lastModified -
Time!
|
Timestamp of when the Geolocation record was last modified. |
latitude -
Float!
|
The latitude co-ordinate of the Geolocation. |
longitude -
Float!
|
The longitude co-ordinate of the Geolocation. |
messageText -
String!
|
The message text to be displayed in a notification when the pass enters the geolocation co-ordinates (Push notification to Apple Devices). |
modifier -
String!
|
The user which was responsible for the last update of the Geolocation record. |
status -
String!
|
The current status of the Geolocation record. Please note that the available values are: Draft, Active or Archived. |
Example
{
"title": "Some Title",
"altitude": 10,
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"latitude": 56.484146760301854,
"longitude": -3.018581082165732,
"messageText": "Welcome to our facility. Access your pass here!",
"modifier": "example@email.com",
"status": "active"
}
GetBySerialPrefixRequest
Description
GetBySerialPrefixRequest
Fields
| Input Field | Description |
|---|---|
serialPrefix -
String!
|
The prefix of the serial number sequence for which we want to fetch. |
Example
{"serialPrefix": "xyz789"}
GetCustomerSupportDetailByTitleRequest
Description
GetCustomerSupportDetailByTitleRequest will control the input structure when requesting to fetch a Customer Support Detail record from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Customer Support Detail to fetch from the Cloud DB. |
Example
{"title": "Some Title"}
GetPaginatedBeaconRequest
Description
GetPaginatedBeaconRequest will handle input values for retrieving a paginated list of BLE Beacon records from the database.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Beacons with a specified status value. Available status filter options: 'Draft', 'Active' or 'Archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedDate -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastTitle -
String
|
lastTitle is the unique Title related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"statusFilter": "xyz789",
"sortFilter": "xyz789",
"lastDocID": "some-doc-id",
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastTitle": "xyz789"
}
GetPaginatedDistributionRequest
Description
GetPaginatedDistributionRequest will handle input values for retrieving a paginated list of Distribution requests for an Organisation.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
lastCreated -
Time
|
lastCreated is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Distribution requests with a specified status value. Available status filter options: 'In Progress' or 'Complete'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
typeFilter -
String
|
Optional filter option to limit the pagination results to return Distribution requests with a specified type value. Available status filter options: 'Manual' or 'Batch'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first' or 'oldest-first'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
Example
{
"batchSize": 10,
"lastCreated": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"statusFilter": "xyz789",
"typeFilter": "xyz789",
"sortFilter": "xyz789"
}
GetPaginatedInvalidationRequest
Description
GetPaginatedInvalidationRequest will handle input values for retrieving a paginated list of Invalidation requests for an Organisation.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
lastCreated -
Time
|
lastCreated is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Invalidation requests with a specified status value. Available status filter options: 'In Progress' or 'Complete'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
typeFilter -
String
|
Optional filter option to limit the pagination results to return Invalidation requests with a specified type value. Available status filter options: 'Manual' or 'Batch'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first' or 'oldest-first'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
Example
{
"batchSize": 10,
"lastCreated": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"statusFilter": "xyz789",
"typeFilter": "xyz789",
"sortFilter": "xyz789"
}
GetPaginatedLocationRequest
Description
GetPaginatedLocationRequest will handle input values for retrieving a paginated list of Location records for an Organisation's account.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Locations with a specified status value. Available status filter options: 'Draft', 'Active' or 'Archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedDate -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastTitle -
String
|
lastTitle is the unique Title related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"statusFilter": "xyz789",
"sortFilter": "abc123",
"lastDocID": "some-doc-id",
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastTitle": "xyz789"
}
GetPaginatedOrgUsersRequest
Description
GetPaginatedOrgUsersRequest will control the input structure when requesting to retrieve a paginated list of Organisation Users.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Organisation Users with a specified status value. Available status filter options: 'Active' or 'Archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending' or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastModifiedDate -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastName -
String
|
lastName is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"statusFilter": "abc123",
"sortFilter": "xyz789",
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastName": "xyz789"
}
GetPaginatedOrgUsersResponse
Description
GetPaginatedOrgUsersResponse controls the response structure when requesting to retrieve a paginated list of Organisation User account details.
Fields
| Field Name | Description |
|---|---|
usersList -
[OrganisationUserDetails!]!
|
Paginated list of Organisation User Accounts. |
lastModifiedDate -
Time
|
lastModifiedDate time of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastName -
String
|
lastName for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"usersList": [OrganisationUserDetails],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastName": "xyz789",
"totalNumberOfRecords": Int64
}
GetPaginatedPassDeliveryTemplateRequest
Description
GetPaginatedPassDeliveryTemplateRequest controls the input structure when requesting to fetch a list of paginated pass delivery templates from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
passTemplateType -
String
|
The type of delivery template we wish to fetch. Options: |
batchCount -
Int
|
The number of templates we wish to return in our request, EG: |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Pass Delivery Templates with a specified status value. Available status filter options: 'Draft', 'Active' or 'Archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastDocID -
String
|
The DocID of the last document in previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedTimestamp -
Time
|
lastModifiedTimestamp is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastTitle -
String
|
lastTitle is the unique Title related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"passTemplateType": "Email",
"batchCount": 10,
"statusFilter": "xyz789",
"sortFilter": "abc123",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastTitle": "abc123"
}
GetPaginatedPassDesignRequest
Description
GetPaginatedPassDesignRequest will handle input values for retrieving a paginated list of Pass Designs for an Organisation.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
lastModifiedTimestamp -
Time
|
lastModifiedTimestamp is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Pass Designs with a specified status value. Available status filter options: 'active', 'draft', or 'archived'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
typeFilter -
String
|
Optional filter option to limit the pagination results to return Pass Designs with a specified type value. Available type filter options: 'Generic', 'Loyalty', or 'Event'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
serialFilter -
String
|
Optional filter option to limit the pagination results to return Pass Designs which are assigned a specific Serial Number Prefix value, EG: '0001'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
usageFilter -
String
|
Optional filter option to limit the pagination results to return Pass Designs with a specified UsageLimit value. Available type filter options: 'LongTerm', 'ShortTerm', or 'X_Use'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first', 'oldest-first', 'name-ascending', or 'name-descending'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
Example
{
"batchSize": 10,
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"statusFilter": "xyz789",
"typeFilter": "abc123",
"serialFilter": "abc123",
"usageFilter": "abc123",
"sortFilter": "xyz789"
}
GetPaginatedReportingRequestsRequest
Description
GetPaginatedReportingRequestsRequest will handle the input structure to get paginated Reporting Requests.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
Batch size for controlling the number of items which will be returned in the pagination request, EG |
reportType -
String
|
The type of the Reporting Request. You can omit this value, set to to empty string, or set to |
statusFilter -
String
|
Optional filter option to limit the pagination results to return records with a specified status value. Available status filter options: 'in-progress' or 'complete'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first' or 'oldest-first'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastModifiedTimestamp -
Time
|
Last Modified Timestamp value for ordering pagination batches. Please provide this value in requests for subsequent batches to ensure ordering of pagination results is correct. |
Example
{
"batchSize": 10,
"reportType": "abc123",
"statusFilter": "abc123",
"sortFilter": "xyz789",
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2023-03-23T17:21:00Z"
}
GetPaginatedSerialNumbersRequest
Description
GetPaginatedSerialNumbersRequest will control the input structure when requesting to fetch a paginated batch of Serial Numbers.
Fields
| Input Field | Description |
|---|---|
batchSize -
Int!
|
batchSize controls the number of items which will be returned in the pagination request, EG |
statusFilter -
String
|
Optional filter option to limit the pagination results to return Serial Numbers with a specified status value. Available status filter options: 'Assigned' or 'Not Assigned'. Please note that if this filter is not required, then please omit the value from the request, or set to 'all'. |
sortFilter -
String
|
Optional filter option to set the sorting method for ordering the pagination output of the response. Available values are: 'newest-first' or 'oldest-first'. If this value is not provided then the function will default to using the 'newest-first' sorting method. |
lastModifiedTimestamp -
Time
|
lastModifiedDate is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
lastDocID -
String
|
lastDocID is the unique ID related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
Example
{
"batchSize": 10,
"statusFilter": "xyz789",
"sortFilter": "abc123",
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id"
}
GetPaginatedSerialNumbersResponse
Description
GetPaginatedSerialNumbersResponse will control the response structure when requesting to retrieve a paginated batch of Serial Numbers.
Fields
| Field Name | Description |
|---|---|
serialNumberList -
[SerialNumberDetails!]!
|
Paginated list of Serial Number records from the Cloud DB. |
lastModifiedTimestamp -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"serialNumberList": [SerialNumberDetails],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
GetPassDesignByTitleRequest
Description
Payload to fetch an pass design by it's title
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the pass design to fetch |
Example
{"title": "Some Title"}
GetPassDesignMonthlyReportRequest
Description
Payload to fetch a pass design report by it's title and reporting period (and organisation name if a HT user)
Example
{"passDesignTitle": "Some Pass Design", "reportingPeriod": "June 2023"}
GetPassesByExternalRefIDRequest
Description
GetPassesByExternalRefIDRequest will handle input values to retrieve a list of passes which match on a specified externalReferenceID value.
Fields
| Input Field | Description |
|---|---|
externalReferenceID -
String!
|
Unique Reference ID for the end-user in external customer system. This will require the |
Example
{"externalReferenceID": "ab12cd34ef56"}
GetReportingRequestByReportIDRequest
Description
GetReportingRequestByReportIDRequest will handle the input structure to get the Reporting Request by specified Report ID.
Fields
| Input Field | Description |
|---|---|
reportID -
String!
|
The unique ID of the Reporting Request. |
Example
{"reportID": "xyz789"}
GetSerialNumberPrefixListRequest
Description
GetSerialNumberPrefixListRequest will control the input structure for retrieving a list of the Pass Design prefixes for an Organisation.
Example
{}
GetSerialNumberPrefixListResponse
Description
GetSerialNumberPrefixListResponse will control the response structure when retrieving a list of the Pass Design prefixes for an Organisation.
Fields
| Field Name | Description |
|---|---|
serialNumberPrefixList -
[String!]!
|
List of Serial Number prefixes for an Organisation. |
Example
{"serialNumberPrefixList": ["abc123"]}
GetUserDetailsByEmailRequest
Description
GetUserDetailsByEmailRequest will control the input structure when requesting to retrieve an Org User by Email from the Cloud DB.
Fields
| Input Field | Description |
|---|---|
email -
String!
|
The Email Address of the user record to search for in the Cloud DB. |
Example
{"email": "example@email.com"}
Image
Description
Image contains data used to present an image on a pass
Example
{
"sourceURI": "https://www.somelinktofile.com/",
"description": "Some description",
"fileName": "Some file name"
}
Int
Description
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
42
Int64
Description
Int64 scalar used to handle support for 64bit integer values.
Example
Int64
InvalidationFailureListItem
Description
Returned when an invalidation request for a pass fails. Contains the serial number of the pass that failed, as well as a description of why the pass failed to be expired.
Example
{"serialNumber": "110100000001", "error": "Message explaining reason for error"}
InvalidationRequest
Description
Request body for invalidating active passes on specific end user's devices. Please note that each entry with the serialNumbers array will represent an individual pass instance.
Fields
| Input Field | Description |
|---|---|
serialNumbers -
[String!]!
|
List of serial numbers for passes to be invalidated. |
expiryTime -
Time
|
Optional timestamp to set the ExpiryTime of when the user's pass should be invalidated. If this value is omitted from the request, then ExpiryTime will be set to current time. Please note that passes may take up to 24 hours to expire on the end-user's device. There is also a limit on how far in advance that an expiry date can be assigned to a pass, this will be limited to the next anniversary date of the pass (since creation) + 1 year. |
Example
{
"serialNumbers": ["110100000001", "110100000005", "110100001021"],
"expiryTime": "2023-03-23T17:21:00Z"
}
InvalidationRequestCSV
Description
Request body for invalidating passes based on an uploaded CSV file. Please note that each row within the CSV file will represent an individual pass record.
Fields
| Input Field | Description |
|---|---|
file -
Upload!
|
The file to upload as part of the request. |
expiryTime -
Time
|
Optional timestamp to set the ExpiryTime of when the user's pass should be invalidated. If this value is omitted from the request, then ExpiryTime will be set to current time. Please note that passes may take up to 24 hours to expire on the end-user's device. There is also a limit on how far in advance that an expiry date can be assigned to a pass, this will be limited to the next anniversary date of the pass (since creation) + 1 year. |
Example
{"file": Upload, "expiryTime": "2023-03-23T17:21:00Z"}
InvalidationRequestRecord
Description
InvalidationRequestRecord contains the format for creating a pass invalidation request
Fields
| Field Name | Description |
|---|---|
batchCount -
Int!
|
The number of passes to be expired for the Invalidation request. |
isBatchRequest -
Boolean!
|
Boolean flag to record if request was am Individual or Batch Invalidation request. |
jobIssuer -
String!
|
User who issued Pass Invalidation request. |
created -
Time!
|
Timestamp of when the Pass Invalidation request was created within the system. |
failureCount -
Int!
|
The number of records which failed to be expired as part of this request. |
failureResults -
String!
|
Download link to a CSV file containing failure records along with a failure reason. |
status -
String!
|
The status of the Invalidation request. EG In-Progress, Complete, etc. |
successCount -
Int!
|
The number of passes which were successfully expired as part of this request. |
successResults -
String!
|
Download link to a CSV file containing success records for this Pass Invalidation request. |
expiryTimestamp -
Time!
|
Timestamp to record the expiry time of the passes within this invalidation request. |
Example
{
"batchCount": 10,
"isBatchRequest": true,
"jobIssuer": "example@email.com",
"created": "2023-03-23T17:21:00Z",
"failureCount": 1,
"failureResults": "https://www.somelinktofile.com/",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"expiryTimestamp": "2023-03-23T17:21:00Z"
}
InvalidationRequestRecordWithID
Description
InvalidationRequestRecordWithID controls the structure of a Pass Invalidation Request document which contains the Document ID for the record.
Fields
| Field Name | Description |
|---|---|
batchCount -
Int!
|
The number of passes to be expired for the Invalidation request. |
isBatchRequest -
Boolean!
|
Boolean flag to record if request was am Individual or Batch Invalidation request. |
jobIssuer -
String!
|
User who issued Pass Invalidation request. |
created -
Time!
|
Timestamp of when the Pass Invalidation request was created within the system. |
failureCount -
Int!
|
The number of records which failed to be expired as part of this request. |
failureResults -
String!
|
Download link to a CSV file containing failure records along with a failure reason. |
status -
String!
|
The status of the Invalidation request. EG In-Progress, Complete, etc. |
successCount -
Int!
|
The number of passes which were successfully expired as part of this request. |
successResults -
String!
|
Download link to a CSV file containing success records for this Pass Invalidation request. |
expiryTimestamp -
Time!
|
Timestamp to record the expiry time of the passes within this invalidation request. |
docID -
String!
|
The unique Document ID of the Invalidation record. |
Example
{
"batchCount": 10,
"isBatchRequest": true,
"jobIssuer": "example@email.com",
"created": "2023-03-23T17:21:00Z",
"failureCount": 1,
"failureResults": "https://www.somelinktofile.com/",
"status": "active",
"successCount": 9,
"successResults": "https://www.somelinktofile.com/",
"expiryTimestamp": "2023-03-23T17:21:00Z",
"docID": "xyz789"
}
InvalidationResponse
Fields
| Field Name | Description |
|---|---|
successList -
[String!]!
|
Array of serial numbers of passes which have been expired. |
failureList -
[InvalidationFailureListItem!]!
|
Array of passes which have failed to be expired; contains the serial number of the failure record, and the failure reason given by the system |
Example
{
"successList": [
"110100000001",
"110100000002",
"110100002101",
"110100000589"
],
"failureList": [
{"serialNumber": "110100000003", "error": "Some Failure reason"},
{"serialNumber": "110100000004", "error": "Another Failure reason"}
]
}
Map
Description
Map scalar used to handle Map types from Golang. Please note that these values will either be in map[string]string or []map[string]string format based on the requested endpoint.
Example
{"membership_number": "1234567890001", "membership_name": "Some Name"}
MetaData
Description
MetaData is used to store data associated with creation and modification events
Example
{
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com"
}
OrganisationUserDetails
Description
OrganisationUserDetails controls the response structure of an Organisation User key account details when requesting a paginated list of org users.
Fields
| Field Name | Description |
|---|---|
email -
String!
|
Email address of the Organisation User. |
fullName -
String!
|
Full Name of the Organisation User. |
isEmailVerified -
Boolean!
|
Boolean flag to highlight whether the Organisation User has verified their email address. |
roles -
[String!]!
|
Roles contains a string list of the RBAC permissions of the user account. |
status -
String!
|
Current status of the organisation user. Available values are 'Active' or 'Archived'. |
profilePictureURL -
String
|
Public URL to user's account profile picture (when set). |
created -
Time!
|
Timestamp of when the user account was first created within the platform. |
lastModified -
Time!
|
Timestamp of when the user account was last edited within the platform. |
Example
{
"email": "example@email.com",
"fullName": "xyz789",
"isEmailVerified": true,
"roles": ["Pass-Issuer", "Pass-Editor", "Billing-Admin", "Api-Dev"],
"status": "active",
"profilePictureURL": "xyz789",
"created": "2023-03-23T17:21:00Z",
"lastModified": "2023-03-23T17:21:00Z"
}
PaginatedBeaconResponse
Description
PaginatedBeaconResponse forms the generic struct to handle the response values when retrieving a list of paginated BLE Beacons for an Organisation.
Fields
| Field Name | Description |
|---|---|
beacons -
[Beacon!]!
|
Paginated BLE Beacon records for organisation. |
lastModifiedDate -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastTitle -
String
|
The Title of the last document within the returned results. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"beacons": ["some-beacon-title"],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "xyz789",
"totalNumberOfRecords": Int64
}
PaginatedDistributionResponse
Description
PaginatedDistributionResponse will return a paginated list of Distribution requests for an Organisation.
Fields
| Field Name | Description |
|---|---|
distributionDocs -
[DistributionRequestWithID!]!
|
Paginated list of Distribution requests |
lastCreated -
Time
|
lastCreated time of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"distributionDocs": [DistributionRequestWithID],
"lastCreated": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
PaginatedInvalidationResponse
Description
PaginatedInvalidationResponse will return a paginated list of Invalidation requests for an Organisation.
Fields
| Field Name | Description |
|---|---|
invalidationDocs -
[InvalidationRequestRecordWithID!]!
|
Paginated list of Invalidation requests. |
lastCreated -
Time
|
lastCreated time of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"invalidationDocs": [InvalidationRequestRecordWithID],
"lastCreated": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
PaginatedLocationResponse
Description
PaginatedLocationResponse forms the generic struct to handle the response values when retrieving a list of paginated locations for an Organisation.
Fields
| Field Name | Description |
|---|---|
locations -
[Geolocation!]!
|
Paginated location records for organisation. |
lastModifiedDate -
Time
|
lastModifiedDate of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastTitle -
String
|
The Title of the last document within the returned results. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"locations": ["some-location-title"],
"lastModifiedDate": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "xyz789",
"totalNumberOfRecords": Int64
}
PaginatedPassDeliveryTemplateResponse
Description
PaginatedPassDeliveryTemplateResponse controls the response structure when requesting to fetch a list of paginated pass delivery templates from the Cloud DB
Fields
| Field Name | Description |
|---|---|
passDeliveryTemplates -
[PassDeliveryTemplate]
|
The paginated Pass Delivery Template list. |
lastModifiedTimestamp -
Time
|
lastModifiedTimestamp time of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
The Unique Document ID of the last document within the returned results. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastTitle -
String
|
The Title of the last document within the returned results. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"passDeliveryTemplates": [PassDeliveryTemplate],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"lastTitle": "abc123",
"totalNumberOfRecords": Int64
}
PaginatedPassDesignResponse
Description
PaginatedPassDesignResponse will return a paginated list of Pass Designs for an Organisation.
Fields
| Field Name | Description |
|---|---|
passDesignDocs -
[PassDesign!]!
|
Paginated list of Pass Designs |
lastModifiedTimestamp -
Time
|
lastModifiedTimestamp time of the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"passDesignDocs": [PassDesign],
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"lastDocID": "some-doc-id",
"totalNumberOfRecords": Int64
}
PaginatedReportingRequestsResponse
Description
PaginatedReportingRequestsResponse will control the response structure to a request for fetching a batch of paginated Reporting Request records from the Cloud DB for an Organisation.
Fields
| Field Name | Description |
|---|---|
reportingRequestList -
[ReportingRequestWithID]!
|
Paginated list of Reporting Request records for an Organisation. |
lastDocID -
String
|
lastDocID for the final record in the pagination batch. Please note that this value should be provided when attempting to retrieve the next batch of pagination items. |
lastModifiedTimestamp -
Time
|
lastModifiedTimestamp is the timestamp related to the final item of the previous pagination batch. For the first batch of pagination, please skip providing this value. For following requests, use the value returned from the previous pagination request. |
totalNumberOfRecords -
Int64
|
Total number of records which match query (EG total number of records to fetch from pagination batches). Please note that this value will be returned on the initial query only. |
Example
{
"reportingRequestList": [ReportingRequestWithID],
"lastDocID": "some-doc-id",
"lastModifiedTimestamp": "2023-03-23T17:21:00Z",
"totalNumberOfRecords": Int64
}
PassDeliveryDetails
Description
Pass Delivery Details used for delivering pass download link to end-user.
Fields
| Field Name | Description |
|---|---|
deliveryMethod -
String!
|
Value to specific if the Breezin platform delivered the pass download link directly to the intended recipient. Possible values are: 'None', 'Email', or 'SMS'. |
deliveryAddress -
String!
|
The delivery address details used to deliver the pass download link to the recipient. |
deliverySalutation -
String!
|
The salutation message used to format the pass delivery message. |
deliveryName -
String!
|
The name of the end-user used to personalise the pass delivery message. |
deliveryTemplate -
String!
|
The Pass Delivery Template used to format the pass delivery message. |
Example
{
"deliveryMethod": "Email",
"deliveryAddress": "example@email.com",
"deliverySalutation": "Hi",
"deliveryName": "Jane Doe",
"deliveryTemplate": "email-default"
}
PassDeliveryReportResponse
Description
PassDeliveryReportResponse will control the response structure when requesting a new Pass Delivery Report via the API.
Example
{
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
PassDeliveryTemplate
Description
PassDeliveryTemplate will control the structure of a Pass Delivery Template save to the Cloud DB.
Fields
| Field Name | Description |
|---|---|
body -
String!
|
The main body text of our message. |
created -
Time!
|
The date that we created our template on |
creator -
String!
|
The user that generated this template |
footer -
String!
|
The footer to end our message template; EG Thank you for using Breezin |
imageURL -
String!
|
The image URL to attach to the top of the image. This should be a PNG or JPG, as SVG images are not rendered within most mail clients. |
lastModified -
Time!
|
Last time this template was modified |
modifier -
String!
|
The person who modified this template |
preheader -
String!
|
The header that is shown before the main header within an email. |
status -
String!
|
Current status of the Pass Delivery Template. Available options are: 'Draft', 'Active' or 'Archived'. |
subject -
String!
|
The subject title of the email |
title -
String!
|
The title of the template within Breezin, used as an identifer. Eg special-offer-email-template |
type -
String!
|
The type of template to use: Can be Email, SMS, iMessage or WhatsApp |
Example
{
"body": "Some body",
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"footer": "Some footer",
"imageURL": "https://www.somelinktofile.com/",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"preheader": "Some preheader",
"status": "active",
"subject": "Some subject",
"title": "Some Title",
"type": "Some type"
}
PassDeliveryTemplateRequest
Description
PassDeliveryTemplateRequest will handle the input data for generating a new Pass Delivery Template within the system.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
Title for new Pass Delivery Template |
body -
String!
|
Body value for populating in Pass Delivery message at distribution time. Please note that this string can be separated into numerous lines using the HTML line break characters, EG |
footer -
String!
|
Footer value for populating in Pass Delivery message at distribution time. Please note that this string can be separated into numerous lines using the HTML line break characters, EG |
imageURL -
String!
|
Public URL pointing to image to be used when sending Pass Delivery message at distribution time. |
preheader -
String!
|
Preheader value for populating in Pass Delivery message at distribution time. |
subject -
String!
|
Subject value for populating in Pass Delivery message at distribution time. |
type -
String!
|
Delivery Type of the Pass Delivery Template. EG |
status -
String!
|
Status of the Pass Delivery Template to save to the Cloud DB. Available options are: 'Draft', 'Active' or 'Archived'. |
Example
{
"title": "Some Title",
"body": "Some body",
"footer": "Some footer",
"imageURL": "https://www.somelinktofile.com/",
"preheader": "Some preheader",
"subject": "Some subject",
"type": "Some type",
"status": "active"
}
PassDesign
Description
PassDesign forms the generic struct for all types of pass design
Fields
| Field Name | Description |
|---|---|
backgroundColor -
BackgroundColor!
|
Background color of the pass in RGB format. |
countryCode -
String!
|
Country code in format en-GB |
issuingOrganisation -
String!
|
The name of the organisation issuing the pass |
passBrandingLogo -
Image!
|
Large logo image used on a pass |
passIcon -
Image!
|
Icon image used for company branding on device notifications. |
metaData -
MetaData!
|
MetaData associated with Pass Design record. EG Created and Last Modified timestamps. |
passDesignDefaultFields -
PassDesignDefaultFields!
|
Default fields for Pass Design. These include Card Header and Title values. |
passImage -
Image
|
Optional Image field for Pass Design. |
serialPrefix -
String!
|
Serial Number prefix to generate passes for a specific pass design. |
title -
String!
|
Name of the Pass Design record. |
isNFCEnabled -
Boolean!
|
Boolean flag to track whether the pass should enable NFC / fallback to barcode for authentication. |
primaryFields -
DynamicFields
|
Dynamic data fields which are positioned in the first row of the Pass Design template. |
secondaryFields -
DynamicFields
|
Dynamic data fields which are positioned in the second row of the Pass Design template. |
auxiliaryFields -
DynamicFields
|
Dynamic data fields which are positioned on the back fields of the Pass Design template. |
dynamicFieldKeys -
[String]
|
List of dynamic field keys for injecting personal details for this Pass Design record at Distribution time. |
appleRedemptions -
Int!
|
Total count of Apple Wallet passes which were installed to a device using this Pass Design template. |
googleRedemptions -
Int!
|
Total count of Google Wallet passes which were installed to a device using this Pass Design template. |
totalDistributionCount -
Int!
|
Total count of generated passes for this Pass Design template record. |
lastDistributionDate -
Time
|
Timestamp to track the last distribution request which generated Passes using this Pass Design Template. |
barcodeType -
String
|
Type of barcode to be used for passes which are generated from this Pass Design. |
backFields -
BackFields
|
Back field data for the passes which are generated from this Pass Design. |
downloadMessage -
String!
|
Download Message Text for the pass download screen. |
downloadLogo -
String!
|
Download Logo for the pass download screen. |
downloadBackground -
String!
|
Download Background for the background of the pass download screen. |
totalInvalidationCount -
Int!
|
Total count of expired passes for this Pass Design template record. |
customerSupportDetailList -
[String]
|
List of titles for Customer Support Details which have been assigned to the Pass Design record. These Customer Support Details will be visible on the Public Pass Download page within the Breezin website when an end-user attempts to install their pass. |
customerSupportMessage -
String
|
Custom message to display on Pass Download screen for Customer Support Details. |
Example
{
"backgroundColor": BackgroundColor,
"countryCode": "en-GB",
"issuingOrganisation": "Some Organisation",
"passBrandingLogo": Image,
"passIcon": Image,
"metaData": MetaData,
"passDesignDefaultFields": PassDesignDefaultFields,
"passImage": Image,
"serialPrefix": "xyz789",
"title": "Some Title",
"isNFCEnabled": true,
"primaryFields": DynamicFields,
"secondaryFields": DynamicFields,
"auxiliaryFields": DynamicFields,
"dynamicFieldKeys": ["membership_number", "membership_name"],
"appleRedemptions": 5,
"googleRedemptions": 4,
"totalDistributionCount": 10,
"lastDistributionDate": "2023-03-23T17:21:00Z",
"barcodeType": "abc123",
"backFields": BackFields,
"downloadMessage": "xyz789",
"downloadLogo": "xyz789",
"downloadBackground": "abc123",
"totalInvalidationCount": 42,
"customerSupportDetailList": ["abc123"],
"customerSupportMessage": "abc123"
}
PassDesignDefaultFields
Description
PassDesignDefaultFields contains data relevant to the pass title and headings
Example
{
"cardTitle": "Some Title",
"cardTitleLabel": "Some Label",
"header": "Some Header",
"subheader": "Some Subheader"
}
PassDesignReport
Description
PassDesignReport contains the report for an organisations pass design for a given period
Fields
| Field Name | Description |
|---|---|
appleCount -
Int!
|
Apple count represents the number of pass designs that were redeemed on Apple devices |
distributionCount -
[Int!]!
|
Distribution count represents the number of distributions over the span of a month |
googleCount -
Int!
|
Google count represents the number of pass designs that were redeemed on Google devices |
invalidationCount -
[Int!]!
|
Invalidation count represents the number of invalidations over the span of a month |
lastModified -
Time!
|
Last modified timestamp denotes the time in which the report was last changed |
reportingPeriod -
String!
|
Reporting period represents the month and year that the report data includes |
appleRedemptionsCount -
[Int!]!
|
Number of Apple Passes redeemed per day of the month. |
googleRedemptionsCount -
[Int!]!
|
Number of Google Passes redeemed per day of the month. |
Example
{
"appleCount": 5,
"distributionCount": [
0,
0,
2,
0,
0,
0,
3,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0
],
"googleCount": 4,
"invalidationCount": [
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0,
0
],
"lastModified": "2023-03-23T17:21:00Z",
"reportingPeriod": "June 2023",
"appleRedemptionsCount": [42],
"googleRedemptionsCount": [42]
}
PassReportRequest
Description
PassReportRequest will handle the input data for generating a pass report (CSV).
Fields
| Input Field | Description |
|---|---|
startTime -
Time!
|
Timestamp to control initial start point of report generation for pass records. |
endTime -
Time!
|
Timestamp to control the end point of report generation for pass records. |
passDesignFilter -
String
|
List of Pass Design titles for filtering report data. Please omit this value from the request or set to an empty array to include report data on all Passes. |
reportFields -
[String!]!
|
The fields we wish to return within the CSV report.
|
Example
{
"startTime": "2023-03-23T17:21:00Z",
"endTime": "2023-03-23T17:21:00Z",
"passDesignFilter": "abc123",
"reportFields": ["abc123"]
}
PassReportResponse
Description
PassReportResponse will control the response structure when requesting a new Pass Report via the API.
Example
{
"message": "Response message containing results of API request",
"reportID": "xyz789"
}
ReactivateDynamicKeyRequest
Description
ReactivateDynamicKeyRequest will control the input structure when requesting to re-active an archived Dynamic Key in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Dynamic Key to mark as active in the Cloud DB. |
Example
{"title": "Some Title"}
ReportingPeriod
Description
A period of time to fetch invoices by.
Fields
| Input Field | Description |
|---|---|
reportingPeriod -
String!
|
The reporting period to return invoices for.
|
Example
{"reportingPeriod": "June 2023"}
ReportingRequest
Description
ReportingRequest will control the response structure when searching for a reporting request in the DB.
Fields
| Field Name | Description |
|---|---|
reportType -
String!
|
The type of the report the request was registered or raised against. Supported values: PassReport, 'PassDeliveryReport', or AuditLogReport. |
status -
String!
|
The current status of the request (EG in-progress or complete) |
created -
Time!
|
Timestamp of when the reporting request was raised. |
requester -
String!
|
The email address of the system user who's requested the report. |
lastModified -
Time!
|
Timestamp of when the reporting request record was last updated within the platform. |
downloadURL -
String!
|
The URL link to download the generated CSV file of the report stored in the cloud bucket. |
Example
{
"reportType": "xyz789",
"status": "active",
"created": "2023-03-23T17:21:00Z",
"requester": "xyz789",
"lastModified": "2023-03-23T17:21:00Z",
"downloadURL": "xyz789"
}
ReportingRequestWithID
Description
ReportingRequestWithID will control the response structure when searching for a reporting request in the DB.
Fields
| Field Name | Description |
|---|---|
reportType -
String!
|
The type of the report the request was registered or raised against. Supported values: PassReport, 'PassDeliveryReport', or AuditLogReport. |
status -
String!
|
The current status of the request (EG in-progress or complete) |
created -
Time!
|
Timestamp of when the reporting request was raised. |
requester -
String!
|
The email address of the system user who's requested the report. |
lastModified -
Time!
|
Timestamp of when the reporting request record was last updated within the platform. |
downloadURL -
String!
|
The URL link to download the generated CSV file of the report stored in the cloud bucket. |
reportID -
String!
|
The unique ID of the reporting request record. |
Example
{
"reportType": "abc123",
"status": "active",
"created": "2023-03-23T17:21:00Z",
"requester": "xyz789",
"lastModified": "2023-03-23T17:21:00Z",
"downloadURL": "xyz789",
"reportID": "xyz789"
}
ReservedSerialRange
Description
ReservedSerialRange controls the structure of a reserved range of card numbers within a serial sequence.
Example
{
"count": Int64,
"end": Int64,
"processed": true,
"start": Int64
}
ResponseMessage
Description
ResponseMessage is a generic string response from a Breezin API request. This message will provide the result of an action.
Fields
| Field Name | Description |
|---|---|
message -
String!
|
The message returned from the service. |
Example
{"message": "Response message containing results of API request"}
Serial
Description
Serial contains the serial details for a specific pass record
Fields
| Field Name | Description |
|---|---|
cardNumber -
String!
|
Card Number is the main section of a passes unique identifier and is incremented every time a pass is distributed for a specific Pass Design Template.
Example: 00000001 |
prefix -
String!
|
Prefix is the first section of a passes unique identifier and is used to represent the Pass Design Template used.
Example: 1234 |
serialNumber -
String!
|
The serial number is the full unique identifier of a pass. EG prefix + card number.
Example: 123400000001 |
Example
{"cardNumber": "00000001", "prefix": "1101", "serialNumber": "110100000001"}
SerialNumberDetails
Description
SerialNumberDetails controls the structure of a valid Serial Number sequence within the system.
Fields
| Field Name | Description |
|---|---|
cardNumberLength -
Int!
|
The number of digits which follow the Prefix value to define the full serial number of a pass. |
initialCardNumber -
String!
|
The initial card number of the serial number sequence. Please note this value can be used to reserve a range within a card number sequence. EG 123400000001 or 123420000000. |
latestCardNumber -
Int64!
|
The latest card number generated from this serial number sequence. Please note that incrementing this value by 1 will reveal the next number available in the sequence. |
prefix -
String!
|
Prefix is the first section of a passes unique identifier and is used to represent the Pass Design Template used. |
prefixLength -
Int!
|
The length of the Prefix used for the serial number sequence. |
created -
Time!
|
Email address of the user which created the serial number sequence. |
creator -
String!
|
Timestamp of when the serial number sequence was created. |
lastModified -
Time!
|
Timestamp of when the serial number sequence was last modified. |
modifier -
String!
|
Email address of the user which last edited the serial number sequence. |
maximumCardNumber -
Int64!
|
The largest card number allowed within the sequence. |
reservedRanges -
[ReservedSerialRange]
|
A list of reserved ranges within the serial sequence. These reserved ranges can be assigned to plastic cards to ensure no clashes occur between plastic and digital passes. |
prefixNumber -
Int!
|
The prefix value for the serial sequence recorded as an integer. |
isAssigned -
Boolean!
|
Bool flag to track whether a Serial Number Prefix range is assigned to a Pass Design. |
Example
{
"cardNumberLength": 12,
"initialCardNumber": "00000001",
"latestCardNumber": 11,
"prefix": "1101",
"prefixLength": 4,
"created": "2023-03-23T17:21:00Z",
"creator": "example@email.com",
"lastModified": "2023-03-23T17:21:00Z",
"modifier": "example@email.com",
"maximumCardNumber": Int64,
"reservedRanges": [ReservedSerialRange],
"prefixNumber": 42,
"isAssigned": true
}
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
SuccessListItem
Description
Returned when a distribution request for a pass is successful. Contains the dynamic field data, the download link, external reference ID, and the unique Serial Number for the created pass record.
Fields
| Field Name | Description |
|---|---|
customFieldData -
Map
|
Dynamic field data used to populate personal details on a users pass |
externalReferenceID -
String!
|
Unique Reference ID for the end-user in external customer system. This will enable you to reference their external account details to within our system (EG get all passes for end-user, expire all passes for end user). This should be set to an empty string when not required. |
payload -
String
|
Value to control the payload which is scanned from the pass record via NFC or Barcode. |
passDownloadLink -
String!
|
Download link to install pass on a users device |
serialNumber -
String!
|
The serial number is the full unique identifier of a pass. EG prefix + card number. |
deliveryMethod -
String!
|
Value to control if the Breezin platform should deliver the pass download link directly to the intended recipient. Possible values are: 'None', 'Email', or 'SMS'. |
deliveryAddress -
String!
|
The delivery address details for delivering pass download link. |
deliverySalutation -
String!
|
The salutation message for formatting the pass delivery message. |
deliveryName -
String!
|
The name of the end-user for personalising pass delivery message. |
deliveryTemplate -
String!
|
The Pass Delivery Template to be used to format the pass delivery message |
beacons -
[String!]
|
String array containing the names of the BLE beacons which have been associated with the Pass record. Please note that Google Wallet passes do not support BLE Beacons at this time. |
locations -
[String!]
|
String array containing the names of the Geolocations which have be associated with the Pass record. Please note that Google Wallet passes do not support Geolocations at this time. |
expiredTimestamp -
Time
|
Value to record if an expiry timestamp was associated to the pass record at distribution. |
passApiKey -
String
|
Value to store and return the pass in encrypted format, to allow for a pass to be redeemed via the API endpoint. |
notes -
String
|
Field to record any notes regarding the pass being distributed (EG when front-of-pass fields are truncated due to max row length). |
Example
{
"customFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"externalReferenceID": "ab12cd34ef56",
"payload": "xyz789",
"passDownloadLink": "https://www.breezin.io/pass-download?details=cdcjw34e345730489fmrfkjsdfg8fger435tyjergf98sdfg098430594rjkerfdsfo87gydsfg345t8",
"serialNumber": "110100000001",
"deliveryMethod": "Email",
"deliveryAddress": "example@email.com",
"deliverySalutation": "Hi",
"deliveryName": "Jane Doe",
"deliveryTemplate": "email-default",
"beacons": ["some-beacon-title"],
"locations": ["some-location-title"],
"expiredTimestamp": "2023-03-23T17:21:00Z",
"passApiKey": "abc123",
"notes": "xyz789"
}
Time
Description
Time scaler used to handle Golang's time.Time values. Please provide any timestamp values in YYYY-MM-DDThh:mm:ssZ format as this is compliant with ISO 8601 and RFC 3339. EG 2006-01-02T15:04:05-07:00, 2022-02-26T01:30:00Z, 2022-04-01T08:00:00+01:00
Example
"2023-03-23T17:21:00Z"
UpdateBrandingColorRequest
Description
UpdateBrandingColorRequest will control the input structure when requesting to update an Organisation's branding color in the Cloud DB.
Example
{
"title": "Some Title",
"newTitle": "abc123",
"newColorHexCode": "xyz789"
}
UpdateCustomerSupportDetailRequest
Description
UpdateCustomerSupportDetailRequest will control the input structure when requesting to update an existing Customer Support Detail record for an Organisation in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of the Customer Support Detail to update in the Cloud DB for an organisation. |
type -
String
|
Optional type of Customer Support Detail to update: Can be |
value -
String
|
Optional value of the Customer Support Detail to be updated. |
Example
{"title": "Some Title", "type": "Some type", "value": "Some Value"}
UpdateDynamicKeyRequest
Description
UpdateDynamicKeyRequest will control the input structure when requesting to update an existing Dynamic Key record for an Organisation in the Cloud DB.
Example
{"title": "Some Title", "description": "Some description"}
UpdatePassPayloadRequest
Description
UpdatePassPayloadRequest will control the input structure for requesting that an active pass record is updated with a new payload value for NFC / Barcodes.
Example
{
"serialNumber": "110100000001",
"payload": "abc123"
}
UpdatePassUserDetails
Description
UpdatePassUserDetails contains the payload for updating a user's details.
Fields
| Input Field | Description |
|---|---|
serialNumber -
String!
|
Serial Number is the unique identifier for a specific users pass |
dynamicFieldData -
Map
|
Custom field data to be populated on a specific pass record. Please provide all custom field values with an update request when you intend to update pass fields. This value can be omitted from the request if you do not want to update these pass fields. An empty map can be provided if you intend to clear all of the custom field data from the pass record (please note this should only be done if keys are removed from pass deisgn record). |
beacons -
[String]
|
List of titles of BLE beacons to be associated with a specific pass record. Please provide all titles which should be associated with the pass in an update request (when you intend to update pass beacons). Beacons are not support by Google Wallet at this time, and there is a maximum limit of 10 beacons per pass record. This value can be omitted from the request if you do not want to update these pass fields. An empty array can be provided if you intend to clear all of the beacons associated with the pass record. |
locations -
[String]
|
List of titles of Geolocations to be associated with a specific pass record. Please provide all titles which should be associated with the pass in an update request (when you intend to update pass locations). Geolocations are not support by Google Wallet at this time, and there is a maximum limit of 10 locations per pass record. This value can be omitted from the request if you do not want to update these pass fields. An empty array can be provided if you intend to clear all of the locations associated with the pass record. |
Example
{
"serialNumber": "110100000001",
"dynamicFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"beacons": ["some-beacon-title"],
"locations": ["some-location-title"]
}
Upload
Description
Upload scalar used for single file uploads to a GraphQL endpoint (eg CSV / Image). Please see this StackOverflow post on how to use Postman to handle file uploads in GraphQL requests.
Example
Upload
UploadOrgPurchaseOrderNumberRequest
Description
UploadOrgPurchaseOrderNumberRequest will control the input structure for uploading a new Purchase Order Number for including within an Organisation's Invoices.
Fields
| Input Field | Description |
|---|---|
purchaseOrderNumber -
String!
|
The PO Number to be applied to an Organisation's account. Please note that this Purchase Order Number will appear within subsequent Invoices generated within the system. |
Example
{"purchaseOrderNumber": "xyz789"}
UsageReport
Description
UsageReport contains the details of a months worth of usage for an organisation
Fields
| Field Name | Description |
|---|---|
lastModified -
Time!
|
lastModified specifies the timestamp of when the reporting doc was last updated.
Example: 2022-11-18T11:52:30+0000 |
longTermInvalidationCount -
[Int!]!
|
longTermInvalidationCount gives the total number of long term passes invalidated.
Example: 50 |
longTermPassesCount -
[Int!]!
|
longTermPassesCount gives the total number of long term passes issued
Example: 50 |
recurringPassesCount -
Int!
|
recurringPassesCount gives the total number of yearly recurring passes which have renewed within this reporting period.
Example: 60 |
reportingPeriod -
String!
|
reportingPeriod specifies the month and year covered by a specific report.
Example: October 2022 |
shortTermInvalidationCount -
[Int!]!
|
shortTermInvalidationCount gives the total number of short term passes the organisation has invalidated.
Example: 10 |
shortTermPassesCount -
[Int!]!
|
shortTermPassesCount gives the number of short term passes the organisation has issued for the month.
Example: 11 |
userCount -
Int!
|
userCount gives the total number of Organisation users within this reporting period.
Example: 6 |
xUseInvalidationCount -
[Int!]!
|
xUseInvalidationCount gives the number of xUse passes that the organisation has invalided for this month .
Example: 19 |
xUsePassesCount -
[Int!]!
|
xUsePassesCount gives the number of xUse passes that the organisation has created for this month.
Example: 10 |
appleRedemptions -
Int!
|
Number of apple passes redeemed |
googleRedemptions -
Int!
|
Number of google passes redeemed |
passDesignDistributions -
Map!
|
Map containing a breakdown of pass distributions per pass design for reporting period. |
appleRedemptionsCount -
[Int!]!
|
Number of Apple Passes redeemed per day of the month. |
googleRedemptionsCount -
[Int!]!
|
Number of Google Passes redeemed per day of the month. |
passDeliverySmsUkCount -
[Int!]!
|
Number of Pass Delivery SMS messages sent within the UK per day of the month. |
passDeliverySmsWorldCount -
[Int!]!
|
Number of Pass Delivery SMS messages sent to Rest Of World per day of the month. |
passDeliveryEmailCount -
[Int!]!
|
Number of Pass Delivery Email messages sent per day of the month. |
Example
{
"lastModified": "2023-03-23T17:21:00Z",
"longTermInvalidationCount": [
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"longTermPassesCount": [
0,
0,
2,
0,
0,
0,
3,
0,
0,
0,
0,
1,
0,
0,
0,
0,
0,
2,
0,
0,
0,
0,
2,
0,
0,
0,
0,
0,
0,
0
],
"recurringPassesCount": 0,
"reportingPeriod": "June 2023",
"shortTermInvalidationCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"shortTermPassesCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"userCount": 2,
"xUseInvalidationCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"xUsePassesCount": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"appleRedemptions": 5,
"googleRedemptions": 4,
"passDesignDistributions": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"appleRedemptionsCount": [42],
"googleRedemptionsCount": [42],
"passDeliverySmsUkCount": [42],
"passDeliverySmsWorldCount": [42],
"passDeliveryEmailCount": [42]
}
UserPass
Description
UserPass forms the generic struct to handle a user's pass records from the DB.
Fields
| Field Name | Description |
|---|---|
deviceOS -
String!
|
Device type which has installed the pass. EG 'Apple' or 'Google'. |
dynamicFieldData -
Map
|
DynamicFieldData is used to track the full details of custom data on a pass record. |
dynamicFieldKeys -
[String!]
|
dynamicFieldKeys is used to track which keys are used for custom data on a pass record. |
dynamicFieldValues -
[String!]
|
dynamicFieldValues is used to track which values are used for custom data on a pass record. |
dynamicFields -
[DynamicField!]
|
DynamicFieldData is used to track the full details of custom data on a pass record. |
externalReferenceID -
String!
|
Unique Reference ID for the end-user in external customer system. This will enable you to reference their external account details to within our system (EG get all passes for end-user, expire all passes for end user). This should be set to an empty string when not required. |
expiredTimestamp -
Time
|
Timestamp to record when the pass was expired on a end-users device. |
isExpired -
Boolean!
|
Boolean flag to record if a Pass has been expired on a end-users device. |
isRedeemed -
Boolean!
|
Boolean flag to record if a Pass has been installed onto an end-users device. |
isRemoved -
Boolean!
|
Boolean flag to record if a Pass has been removed from an end-users device. |
metaData -
MetaData!
|
Meta Data related to a specific pass record. |
passDesignTitle -
String!
|
Title of the Pass Design Template used to format a specific pass record. |
redeemedTimestamp -
Time
|
Timestamp to record when the pass was installed onto an end-users device. |
removedTimestamp -
Time
|
Timestamp to record when the pass was removed from an end-users device. |
registered -
Boolean!
|
Flag to record if a specific pass has been registered to a device. |
registeredTimestamp -
Time
|
Timestamp to record when the Wallet application on an end-users device has notified us that a pass has been installed. |
serial -
Serial!
|
Serial details for a pass instance. |
genericObjectDefaultFields -
GenericObjectDefaultFields
|
Generic default fields for a Pass record. |
passDeliveryDetails -
PassDeliveryDetails
|
Pass Delivery Details used for delivering pass download link to end-user. |
beacons -
[String]
|
String array containing the names of the BLE beacons which have been associated with the Pass record. Please note that Google Wallet passes do not support BLE Beacons at this time. |
locations -
[String]
|
String array containing the names of the Geolocations which have be associated with the Pass record. Please note that Google Wallet passes do not support Geolocations at this time. |
payload -
String
|
Optional value to override NFC/Barcode scan value of the pass record. This value has a 64 byte limit and must contain only ASCII characters. Please note that this value can be skipped from the request, resulting in the pass using it's unique serial number when scanned via NFC / Barcodes. When this value is assigned, the pass record will still be assigned a unique serial number, for indexing purposes. Please note this value can be used to assign the same payload to all of an end-users passes (EG 'AccountID', 'MemberNumber', 'CustomerID', etc) |
Example
{
"deviceOS": "Apple",
"dynamicFieldData": {
"membership_number": "1234567890001",
"membership_name": "Some Name"
},
"dynamicFieldKeys": ["membership_number", "membership_name"],
"dynamicFieldValues": ["1234567890001", "Some Name"],
"dynamicFields": [
{"membership_number": "1234567890001", "membership_name": "Some Name"},
{"membership_number": "1234567890002", "membership_name": "Another Name"}
],
"externalReferenceID": "ab12cd34ef56",
"expiredTimestamp": "2023-03-23T17:21:00Z",
"isExpired": true,
"isRedeemed": true,
"isRemoved": true,
"metaData": MetaData,
"passDesignTitle": "Some Pass Design",
"redeemedTimestamp": "2023-03-23T17:21:00Z",
"removedTimestamp": "2023-03-23T17:21:00Z",
"registered": true,
"registeredTimestamp": "2023-03-23T17:21:00Z",
"serial": Serial,
"genericObjectDefaultFields": GenericObjectDefaultFields,
"passDeliveryDetails": PassDeliveryDetails,
"beacons": ["some-beacon-title"],
"locations": ["some-location-title"],
"payload": "xyz789"
}
VerifyBeaconExistsRequest
Description
VerifyBeaconExistsRequest will handle the input values for verifying if a Beacon title is available for creating a new record.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The requested title for a new Beacon record. |
Example
{"title": "Some Title"}
VerifyDynamicKeyTitleAvailableRequest
Description
VerifyDynamicKeyTitleAvailableRequest will control the input structure when requesting to verify if a Dynamic Key Title is available for creating a new Dymanic Key record in the Cloud DB.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The title of a new Dynamic Key to verify if the title already exists or not. |
Example
{"title": "Some Title"}
VerifyLocationExistsRequest
Description
VerifyLocationExistsRequest will handle the input values for verifying if a Location title is available for creating a new record.
Fields
| Input Field | Description |
|---|---|
title -
String!
|
The requested title for a new Location record. |
Example
{"title": "Some Title"}
VerifyTemplateTitleRequest
Description
VerifyTemplateTitleRequest will handle the input data for verifying if a Pass Delivery Template title is available for creating a new template.
Fields
| Input Field | Description |
|---|---|
deliveryTitle -
String!
|
Requested title for a new Pass Delivery Template. |
Example
{"deliveryTitle": "Some Title"}