Pass Template Management V1

The API V1 Pass Template endpoints allow you to manage pass templates with operations including retrieval, copying, deletion, field information access, iFrame integrations, URL integrations, and push notification management (scheduling, listing, deletion) for all pass holders.

GET/api/pass-template

Get a List of Templates

Returns a list of all pass-templates that have been created for your account.

URL Parameters

This endpoint has no path or query parameters.

Example URL

Request URL

https://app.passcreator.com/api/pass-template


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header with authorization

GET /api/pass-template HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere


Returned Values

Returns a JSON-Array containing the UID and the name of your pass-templates.

  • Name
    identifier
    Type
    string
    (mandatory)
    Description

    The unique identifier (UID) of the pass template.

  • Name
    name
    Type
    string
    (mandatory)
    Description

    The name of the pass template.

Example Response

Success Response

[
  {
    "identifier": "6d03a4a9-cf92-4e36-80b4-a8994546e2f",
    "name": "Coupon"
  },
  {
    "identifier": "ad0dac69-cf92-4e36-80b4-a8994546e2f",
    "name": "Test Storecard"
  }
]


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    Success - Returns the list of templates.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

Usage Notes

The templates returned are those accessible to your API key based on your account permissions.

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key.

Request Examples

GET
/api/pass-template
curl -X GET https://app.passcreator.com/api/pass-template \
  -H "Authorization: yourApiKeyHere"

GET/api/pass-template/{identifier}?zapierStyle=true

Get Template Fields Information

Returns information about fields of a pass template, including both required and optional fields.

Path Parameters

  • Name
    identifier
    Type
    string
    (mandatory)
    Description

    The UUID of the template you want to get information about.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236?zapierStyle=true


Required Query Parameters

  • Name
    zapierStyle
    Type
    boolean
    (mandatory)
    Description

    Must be: true
    Required to get field information.

Example URLs With Query Parameters

URLs with query parameters

https://app.passcreator.com/api/pass-template/{identifier}?zapierStyle=true


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Header containing your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

GET /api/pass-template/{identifier}?zapierStyle=true HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere


Returned Values

A JSON array containing one object for every field that can or must be specified. Each object contains:

  • Name
    type
    Type
    string
    (mandatory)
    Description

    The data type of the field. Possible values:

    • unicode for text fields
    • datetime for date/time fields
  • Name
    key
    Type
    string
    (mandatory)
    Description

    The key of the field that must be submitted when creating a pass via the API.

    Keys that look like 5b3f2f9f66a228.52093670 are additional properties that have been added to the template.

  • Name
    required
    Type
    boolean
    (mandatory)
    Description

    Whether this field is required when creating a pass.

    • true if the field must be provided
    • false if the field is optional
  • Name
    label
    Type
    string
    (mandatory)
    Description

    The user-friendly label of the field. This is the label that you've specified in the visual pass designer of Passcreator.

Example Response

Success Response

[
  {
    "type": "unicode",
    "key": "primaryFields_0_Event",
    "required": true,
    "label": "Event"
  },
  {
    "type": "unicode",
    "key": "secondaryFields_0_Location",
    "required": true,
    "label": "Location"
  },
  {
    "type": "unicode",
    "key": "barcodeValue",
    "required": true,
    "label": "Barcode Value"
  },
  {
    "type": "unicode",
    "key": "barcodeAlternativeText",
    "required": true,
    "label": "Barcode alternative text"
  },
  {
    "type": "unicode",
    "key": "5b3f2f9f66a228.52093670",
    "required": false,
    "label": "Vorname"
  },
  {
    "type": "unicode",
    "key": "5b3f2f9f66a3e9.44793220",
    "required": false,
    "label": "Nachname"
  }
]


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    Success - Returns the field information.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found or not accessible.

Usage Notes

  • Additional properties are identified by their unique IDs (e.g., 5b3f2f9f66a228.52093670).
  • The zapierStyle=true parameter is mandatory for this functionality.

Example Request

Request Examples

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

POST/api/pass-template/{template-id}/notification

Schedule a Push Notification

Schedules the given notification at the given time and sends it to all passes of the template.

Path Parameters

  • Name
    template-id
    Type
    string
    (mandatory)
    Description

    The UUID of the pass template that you want to schedule a notification for. Replace {template-id} in the URL with your actual template ID.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/notification


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

POST /api/pass-template/{template-id}/notification HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json


Request Body

  • Name
    pushNotificationText
    Type
    string
    (mandatory)
    Description

    The text of the push notification. The safe length is a single-line string with up to 85 characters. Longer texts might be cropped depending on the device and operating system.

  • Name
    publicationDate
    Type
    string
    (mandatory)
    Description

    A date and time when the notification should be scheduled in the format Y-m-d H:i (e.g., 2025-11-14 15:20).

Example Request

Request body

{
  "pushNotificationText": "This will notify you!",
  "publicationDate": "2025-11-14 15:20"
}


Returned Values

  • Name
    notificationId
    Type
    string
    (mandatory)
    Description

    The unique identifier of the scheduled notification.

Example Response

Success Response (201 Created)

{
  "notificationId": "eb3795e2-0b9a-44e7-a8a0-95ac611efd39"
}


Response Status Codes

  • Name
    201
    Type
    integer
    (mandatory)
    Description

    Created - Notification has been scheduled successfully.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - Missing or invalid parameters.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found or not accessible.

Usage Notes

  • If the notification has been scheduled successfully, Status 201 (Created) will be returned
  • The response contains the notificationId in the body
  • All passes associated with the template will receive the notification at the specified time

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template ID.

Request Examples

POST
/api/pass-template/{template-id}/notification
curl -X POST https://app.passcreator.com/api/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/notification \
  -H "Authorization: yourApiKeyHere" \
  -H "Content-Type: application/json" \
  -d '{
    "pushNotificationText": "This will notify you!",
    "publicationDate": "2025-11-14 15:20"
  }'

GET/api/pass-template/{template-id}/notification

List Scheduled Notifications

Lists all past and due notifications that are existing for the given template.

Path Parameters

  • Name
    template-id
    Type
    string
    (mandatory)
    Description

    The UUID of the pass template that you want to receive notifications for. Replace {template-id} in the URL with your actual template ID.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236/notification


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

GET /api/pass-template/{template-id}/notification HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere


Returned Values

A JSON object containing arrays for scheduled and executed tasks:

  • Name
    scheduledTasks
    Type
    array<object>
    (optional)
    Description

    Array of notifications that are scheduled to be sent. This property is omitted if there are no scheduled tasks.

  • Name
    executedTasks
    Type
    array<object>
    (optional)
    Description

    Array of notifications that have already been sent. This property is omitted if there are no executed tasks.

If there are no scheduled or executed tasks at all, the response will be an empty array [] instead of an object.

Each notification object contains:

  • Name
    notificationId
    Type
    string
    (mandatory)
    Description

    The unique identifier of the notification.

  • Name
    publicationDate
    Type
    string
    (mandatory)
    Description

    The date and time when the notification is/was scheduled in format Y-m-d H:i.

  • Name
    notificationText
    Type
    string
    (optional)
    Description

    The text of the push notification. If not present, this represents a template version update.

Example Response

Response Examples

{
  "scheduledTasks": [
    {
      "notificationId": "7a1576c6-b5e5-433a-a5a7-586ef11a3bac",
      "publicationDate": "2019-11-15 12:55",
      "notificationText": "Example notification!"
    },
    {
      "notificationId": "e2c6ee03-fd0a-463c-81ee-2047bc5d48af",
      "publicationDate": "2019-11-16 12:55",
      "notificationText": "Example notification!"
    }
  ],
  "executedTasks": [
    {
      "notificationId": "07f11075-8794-46d0-9e4b-16735dd382e5",
      "publicationDate": "2019-08-15 13:22"
    },
    {
      "notificationId": "5c1642d9-db0a-43b9-978a-94535192b802",
      "publicationDate": "2019-08-16 13:22",
      "notificationText": "Example notification!"
    }
  ]
}


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    Success - Returns the list of scheduled and executed notifications.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found or not accessible.

Usage Notes

  • If there's no notificationText in the return JSON, it means this was a template version update (automatic pass update without push notification)
  • Depending on the load in the system, a task might be scheduled with a publicationDate slightly in the past. The system will pick up the task shortly afterwards and push the changes to the devices

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template ID.

Request Examples

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

DELETE/api/pass-template/notification/{notification-id}

Delete a Scheduled Notification

Removes the given notification if it hasn't been delivered to your users yet. Once a notification has been executed, it cannot be deleted.

Path Parameters

  • Name
    notification-id
    Type
    string
    (mandatory)
    Description

    The UUID of the notification that should be deleted. Replace {notification-id} in the URL with your actual notification ID.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/notification/7a1576c6-b5e5-433a-a5a7-586ef11a3bac


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

DELETE /api/pass-template/notification/{notification-id} HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere


Returned Values

Returns an empty JSON array on success.

  • Name
    []
    Type
    array
    (mandatory)
    Description

    Empty JSON array returned on successful deletion.

Example Response

Response Examples

[]


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    Success - Notification was found and successfully deleted.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Task ID not known.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - You don't have the permissions needed for this action. This occurs when the notification belongs to a template you don't have access to.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - You can't remove tasks that have already been executed.

Usage Notes

  • You can only delete notifications that haven't been delivered yet (scheduled notifications)
  • Once a notification has been executed, it cannot be deleted and will return a 400 status
  • Use the List Scheduled Notifications endpoint to retrieve notification IDs
  • The notification ID can be found in the notificationId field of the list response

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and 7a1576c6-b5e5-433a-a5a7-586ef11a3bac with your notification ID.

Request Examples

DELETE
/api/pass-template/notification/{notification-id}
curl -X DELETE https://app.passcreator.com/api/pass-template/notification/7a1576c6-b5e5-433a-a5a7-586ef11a3bac \
  -H "Authorization: yourApiKeyHere"

POST/api/pass-template/copy/{template-id-to-copy}

Copy a Pass Template

Copies the given pass template to your own account. To copy a template to a sub-customer account, use the Copy to Sub-Customer endpoint instead.

Path Parameters

  • Name
    template-id-to-copy
    Type
    string
    (mandatory)
    Description

    The UUID of the pass template that you want to copy. Replace {template-id-to-copy} in the URL with your actual template UUID.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/copy/eaf794bc-6bf1-4801-bd08-05e4eb97e236


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

POST /api/pass-template/copy/{template-id-to-copy} HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json


Request Body

  • Name
    name
    Type
    string
    (mandatory)
    Description

    The name of the copy. This field is required and must not be empty.

  • Name
    description
    Type
    string
    (optional)
    Description

    The description of the copied template. If not specified, the value from the original template will be used.

  • Name
    organizationName
    Type
    string
    (optional)
    Description

    The organization name for the copied template. If not specified, the value from the original template will be used.

  • Name
    foregroundColor
    Type
    string
    (optional)
    Description

    A valid hex color code for the foreground color (e.g., #000000).

  • Name
    backgroundColor
    Type
    string
    (optional)
    Description

    A valid hex color code for the background color (e.g., #cccccc).

  • Name
    labelColor
    Type
    string
    (optional)
    Description

    A valid hex color code for the label color (e.g., #ffffff).

  • Name
    barcodeValue
    Type
    string
    (optional)
    Description

    The barcode value for the copied template.

  • Name
    barcodeAlternativeText
    Type
    string
    (optional)
    Description

    The text displayed below the barcode.

  • Name
    urlToLogo
    Type
    string
    (optional)
    Description

    A valid URL to an image or a base64 encoded image for the logo.

  • Name
    urlToBackground
    Type
    string
    (optional)
    Description

    A valid URL to an image or a base64 encoded image for the background.

  • Name
    urlToIcon
    Type
    string
    (optional)
    Description

    A valid URL to an image or a base64 encoded image for the icon.

  • Name
    locations
    Type
    array<object>
    (optional)
    Description

    An array of location objects. Each location must at least include latitude and longitude values. Optional fields include relevantText, altitude, and maxDistance.

  • Name
    useDefaultImages
    Type
    boolean
    (optional)
    Description

    Default: false Set this to true if the default Icon and Logo of the customer should be used for the copy of the template.

  • Name
    userProvidedId
    Type
    string
    (optional)
    Description

    An external identifier for this template. Can be used in integration URLs instead of the UUID that Passcreator generates.

Example Request

Request body

{
  "name": "Template copy",
  "description": "This is a description",
  "organizationName": "Dummy",
  "foregroundColor": "#000000",
  "backgroundColor": "#cccccc",
  "labelColor": "#ffffff",
  "urlToLogo": "https://www.example.com/logo.png",
  "urlToBackground": "https://www.example.com/background.png",
  "urlToIcon": "https://www.example.com/icon.png",
  "locations": [{
    "latitude": 48.0933826,
    "longitude": 11.6286617,
    "relevantText": "Welcome to the show!",
    "altitude": 200,
    "maxDistance": 300
  }],
  "useDefaultImages": true
}


Returned Values

  • Name
    identifier
    Type
    string
    (mandatory)
    Description

    The unique identifier (UUID) of the newly created template copy.

Example Response

Success Response (201 Created)

{
  "identifier": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}


Response Status Codes

  • Name
    201
    Type
    integer
    (mandatory)
    Description

    Created - The template has been copied successfully.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - The name field is missing or empty.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found, not accessible, or invalid customer ID specified.

Usage Notes

  • The name field is required and must not be empty
  • If optional fields are not provided, the values from the original template will be used
  • The locations array must include at minimum latitude and longitude for each location
  • Color values must be valid hex color codes including the # symbol

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template UUID.

Request Examples

POST
/api/pass-template/copy/{template-id-to-copy}
curl -X POST https://app.passcreator.com/api/pass-template/copy/eaf794bc-6bf1-4801-bd08-05e4eb97e236 \
  -H "Authorization: yourApiKeyHere" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Template copy",
    "description": "This is a description",
    "organizationName": "Dummy",
    "foregroundColor": "#000000",
    "backgroundColor": "#cccccc",
    "labelColor": "#ffffff",
    "useDefaultImages": true
  }'

POST/api/pass-template/copy/{template-id-to-copy}/{target-customer-id}

Copy a Pass Template to Sub-Customer Account

Copies the given pass template to a sub-customer account that you have created using the API. This is useful for white-label or reseller scenarios where you manage multiple customer accounts.

Path Parameters

  • Name
    template-id-to-copy
    Type
    string
    (mandatory)
    Description

    The UUID of the pass template that you want to copy. Replace {template-id-to-copy} in the URL with your actual template UUID.

  • Name
    target-customer-id
    Type
    string
    (mandatory)
    Description

    The UUID of the sub-customer account where the template should be copied to. This must be a sub-customer that you have created using the API. Replace {target-customer-id} in the URL with the actual sub-customer UUID.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/copy/eaf794bc-6bf1-4801-bd08-05e4eb97e236/b2c3d4e5-f6a7-8901-bcde-f12345678901


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

POST /api/pass-template/copy/{template-id-to-copy}/{target-customer-id} HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json


Request Body

  • Name
    name
    Type
    string
    (mandatory)
    Description

    The name of the copy. This field is required and must not be empty.

  • Name
    description
    Type
    string
    (optional)
    Description

    The description of the copied template. If not specified, the value from the original template will be used.

  • Name
    organizationName
    Type
    string
    (optional)
    Description

    The organization name for the copied template. If not specified, the value from the original template will be used.

  • Name
    foregroundColor
    Type
    string
    (optional)
    Description

    A valid hex color code for the foreground color (e.g., #000000).

  • Name
    backgroundColor
    Type
    string
    (optional)
    Description

    A valid hex color code for the background color (e.g., #cccccc).

  • Name
    labelColor
    Type
    string
    (optional)
    Description

    A valid hex color code for the label color (e.g., #ffffff).

  • Name
    barcodeValue
    Type
    string
    (optional)
    Description

    The barcode value for the copied template.

  • Name
    barcodeAlternativeText
    Type
    string
    (optional)
    Description

    The text displayed below the barcode.

  • Name
    urlToLogo
    Type
    string
    (optional)
    Description

    A valid URL to an image or a base64 encoded image for the logo.

  • Name
    urlToBackground
    Type
    string
    (optional)
    Description

    A valid URL to an image or a base64 encoded image for the background.

  • Name
    urlToIcon
    Type
    string
    (optional)
    Description

    A valid URL to an image or a base64 encoded image for the icon.

  • Name
    locations
    Type
    array<object>
    (optional)
    Description

    An array of location objects. Each location must at least include latitude and longitude values. Optional fields include relevantText, altitude, and maxDistance.

  • Name
    useDefaultImages
    Type
    boolean
    (optional)
    Description

    Default: false Set this to true if the default Icon and Logo of the target sub-customer should be used for the copy of the template. If the sub-customer has no default images, the original template images will be used.

  • Name
    userProvidedId
    Type
    string
    (optional)
    Description

    An external identifier for this template. Can be used in integration URLs instead of the UUID that Passcreator generates.

Example Request

Request body

{
  "name": "Template copy for customer",
  "description": "This is a description",
  "organizationName": "Customer Company Name",
  "foregroundColor": "#000000",
  "backgroundColor": "#cccccc",
  "labelColor": "#ffffff",
  "useDefaultImages": true
}


Returned Values

  • Name
    identifier
    Type
    string
    (mandatory)
    Description

    The unique identifier (UUID) of the newly created template copy in the sub-customer account.

Example Response

Success Response (201 Created)

{
  "identifier": "c3d4e5f6-a7b8-9012-cdef-123456789abc"
}


Response Status Codes

  • Name
    201
    Type
    integer
    (mandatory)
    Description

    Created - The template has been copied successfully to the sub-customer account.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - The name field is missing/empty, or the specified customer is not a sub-customer that you created.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found, not accessible, or target customer ID not found.

Usage Notes

  • The target-customer-id must be a sub-customer account that you have created using the API
  • You can only copy templates to sub-customers that belong to your account
  • The template will be created in the sub-customer's account, not yours
  • If useDefaultImages is true, the sub-customer's default logo and icon will be used (if they have set them)
  • All other parameters work the same as the standard copy endpoint

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key, eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template UUID, and b2c3d4e5-f6a7-8901-bcde-f12345678901 with your sub-customer UUID.

Request Examples

POST
/api/pass-template/copy/{template-id-to-copy}/{target-customer-id}
curl -X POST https://app.passcreator.com/api/pass-template/copy/eaf794bc-6bf1-4801-bd08-05e4eb97e236/b2c3d4e5-f6a7-8901-bcde-f12345678901 \
  -H "Authorization: yourApiKeyHere" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Template copy for customer",
    "organizationName": "Customer Company Name",
    "useDefaultImages": true
  }'

DELETE/api/pass-template/{pass-template-uid}

Delete a Pass Template

Delete the pass-template with the given ID.

Path Parameters

  • Name
    pass-template-uid
    Type
    string
    (mandatory)
    Description

    UID of the pass-template you want to delete. Replace {pass-template-uid} in the URL with your actual template UID.

Example URL

Request URL

https://app.passcreator.com/api/pass-template/eaf794bc-6bf1-4801-bd08-05e4eb97e236


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

DELETE /api/pass-template/{pass-template-uid} HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    Success - The pass-template has been deleted successfully. No response body.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - The template cannot be deleted. Returns JSON error object with:

    • error: Error message explaining the reason
    • notificationId (optional): Array of scheduled task IDs if present
  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given UID not found or not accessible.

Example Error Response

HTTP 400 - Scheduled tasks exist

{
  "error": "There is still a change or Push Notification scheduled for this template.",
  "notificationId": [
    "ad83154a-7d63-4e5f-9061-d6a4a8822f13",
    "ba62c500-b2c6-4ffd-8188-e2e370296671"
  ]
}

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template UID.

Request Examples

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

POST/api/integration/iframe/{template-id}

Create an iFrame Integration for a Template

Creates an iFrame Integration for the given Template.

Path Parameters

  • Name
    template-id
    Type
    string
    (mandatory)
    Description

    The UUID of the pass template that you want to create an Integration for. Replace {template-id} in the URL with your actual template ID.

Example URL

Request URL

https://app.passcreator.com/api/integration/iframe/eaf794bc-6bf1-4801-bd08-05e4eb97e236


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

POST /api/integration/iframe/{template-id} HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json


Request Body

  • Name
    name
    Type
    string
    (mandatory)
    Description

    The name of the Integration that will be created.

  • Name
    cspFrameAncestors
    Type
    string
    (optional)
    Description

    A list of valid frame ancestors for the Content-Security-Policy that will be applied. This is a string and each value is separated by a line-break.

Example Request

Request body

{
  "name": "My integration"
}

Request with CSP

{
  "name": "My integration",
  "cspFrameAncestors": "https://example.com\nhttps://app.example.com"
}


Returned Values

If the integration has been created, Status 201 (Created) will be returned. The response contains the integrationId in the body.

  • Name
    integrationId
    Type
    string
    (mandatory)
    Description

    The unique identifier of the created integration.

Example Response

Success Response (201 Created)

{
  "integrationId": "330bc583-660a-4cfd-99d2-bbde2d56f320"
}


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    OK - An integration already exists for this template. Returns the existing integration ID.

  • Name
    201
    Type
    integer
    (mandatory)
    Description

    Created - The integration has been created successfully.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - Invalid or missing parameters.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found or not accessible.

Usage Notes

  • The returned integrationId can be used to manage or reference the integration
  • If an integration already exists for the template, the endpoint returns status 200 with the existing integration ID instead of creating a new one

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template ID.

Request Examples

POST
/api/integration/iframe/{template-id}
curl -X POST https://app.passcreator.com/api/integration/iframe/eaf794bc-6bf1-4801-bd08-05e4eb97e236 \
  -H "Authorization: yourApiKeyHere" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My integration"
  }'

POST/api/integration/url/{template-id}

Create a URL Integration for a Template

Creates a URL Integration for the given Template.

Path Parameters

  • Name
    template-id
    Type
    string
    (mandatory)
    Description

    The UUID of the pass template that you want to create an Integration for. Replace {template-id} in the URL with your actual template ID.

Example URL

Request URL

https://app.passcreator.com/api/integration/url/eaf794bc-6bf1-4801-bd08-05e4eb97e236


Authorization

  • Name
    Authorization
    Type
    string
    (mandatory)
    Description

    HTTP Authorization Header that contains your API key. Replace yourApiKeyHere in the example with your actual API key.

Example HTTP Header

HTTP header

POST /api/integration/url/{template-id} HTTP/1.1
Host: app.passcreator.com
Authorization: yourApiKeyHere
Content-Type: application/json


Request Body

  • Name
    name
    Type
    string
    (mandatory)
    Description

    The name of the Integration that will be created.

Example Request

Request body

{
  "name": "My integration"
}


Returned Values

If the integration has been created, Status 201 (Created) will be returned. If there has been an integration of type URL for the template, Status 200 is returned. The response contains the integrationId and the url in the body.

  • Name
    integrationId
    Type
    string
    (mandatory)
    Description

    The unique identifier of the created or existing integration.

  • Name
    url
    Type
    string
    (mandatory)
    Description

    The URL that can be used to create passes for this template. The URL includes placeholder query parameters for all template fields.

Example Response

Success Response (201 Created)

{
  "integrationId": "330bc583-660a-4cfd-99d2-bbde2d56f320",
  "url": "https://app.passcreator.com/integration/createpass/295c487d-6466-45ef-94f5-b65c5005a9df?barcode=Value%20for%20barcode&Name=Value%20for%20Name&new%20field=Value%20for%20new%20field&Optionen=Value%20for%20Optionen&expirationDate=2025-01-01%2015%3A00"
}


Response Status Codes

  • Name
    200
    Type
    integer
    (mandatory)
    Description

    OK - An integration already exists for this template. Returns the existing integration ID and URL.

  • Name
    201
    Type
    integer
    (mandatory)
    Description

    Created - The integration has been created successfully.

  • Name
    400
    Type
    integer
    (mandatory)
    Description

    Bad Request - Invalid or missing parameters.

  • Name
    401
    Type
    integer
    (mandatory)
    Description

    Unauthorized - Invalid or missing API key.

  • Name
    404
    Type
    integer
    (mandatory)
    Description

    Not Found - Template with given identifier not found or not accessible.

Usage Notes

  • The returned URL can be used to create passes by replacing the placeholder values in the query parameters
  • If an integration already exists for the template, the endpoint returns status 200 with the existing integration details instead of creating a new one
  • The URL includes query parameters for all fields defined in the template

Example Request

In the code examples below, replace yourApiKeyHere with your actual API key and eaf794bc-6bf1-4801-bd08-05e4eb97e236 with your template ID.

Request Examples

POST
/api/integration/url/{template-id}
curl -X POST https://app.passcreator.com/api/integration/url/eaf794bc-6bf1-4801-bd08-05e4eb97e236 \
  -H "Authorization: yourApiKeyHere" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My integration"
  }'