> ## Documentation Index
> Fetch the complete documentation index at: https://docs.passform.io/llms.txt
> Use this file to discover all available pages before exploring further.

# List templates (paged)

> List templates with full details, pagination and filtering. Note: filtering by type=offer only matches templates explicitly saved with that type; legacy templates saved before this endpoint existed may not have a stored type and won't be returned by the offer filter.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/templates/list
openapi: 3.1.0
info:
  title: Passform API
  description: The Passform API for creating Google and Apple wallet passes
  version: 0.1.0
servers:
  - url: https://api.passform.io
security: []
tags:
  - name: mcp
    description: Routes exposed via the MCP server at /mcp
  - name: auth
    description: Routes for managing API keys
  - name: templates
    description: >-
      Templates represent the appearance of a pass. They include information on
      things such as icons, images, colours and text. A template is used by a
      pass to define how the pass should look and behave.
  - name: passes
    description: >-
      A pass is an individual instance based on a template. It contains details
      that are specific to its instance.
  - name: apple
    description: >-
      Routes used by apple to update passes and manage devices associated to
      passes.
externalDocs:
  url: https://swagger.io
  description: Find more info here
paths:
  /v1/templates/list:
    get:
      tags:
        - templates
        - mcp
      summary: List templates (paged)
      description: >-
        List templates with full details, pagination and filtering. Note:
        filtering by type=offer only matches templates explicitly saved with
        that type; legacy templates saved before this endpoint existed may not
        have a stored type and won't be returned by the offer filter.
      operationId: listTemplatesPaged
      parameters:
        - schema:
            type: string
          in: query
          name: accountId
          required: false
        - schema:
            minimum: 1
            maximum: 100
            default: 20
            type: integer
          in: query
          name: limit
          required: false
        - schema:
            type: string
          in: query
          name: pageToken
          required: false
        - schema:
            anyOf:
              - type: string
                enum:
                  - offer
              - type: string
                enum:
                  - event
              - type: string
                enum:
                  - membership
              - type: string
                enum:
                  - generic
          in: query
          name: type
          required: false
          description: The pass template type
        - schema:
            type: boolean
          in: query
          name: archived
          required: false
          description: >-
            Filters by exact archived value. Note: templates that have never
            been archived typically don't have this field stored at all, so
            archived=false will not match them — omit this filter to include
            both, or filter client-side instead.
        - schema:
            anyOf:
              - type: string
                enum:
                  - asc
              - type: string
                enum:
                  - desc
          in: query
          name: sortByStartDate
          required: false
          description: >-
            Orders event templates by their start date. Only valid when
            type=event.
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  templates:
                    type: array
                    items:
                      anyOf:
                        - type: object
                          title: Template
                          description: >-
                            A template is the basis of a pass it defines the
                            appearance of a pass and properties that don't
                            change between instances of passes.
                          examples:
                            - id: drink_voucher
                              accountId: LDvGjp645u6Q6t9pbvog
                              foregroundColor: '#FFFFF'
                              backgroundColor: '#043A80'
                              logo: https://myshout.co/images/logo-white.svg
                              background: >-
                                https://myshout.co/images/backgrounds/image-62.jpg
                              icon: https://myshout.co/images/favicon-150.png
                              title: My Shout Drink Voucher
                              issuerName: My Shout
                              sharingProhibited: false
                              fields:
                                - key: voucher
                                  label: free drinks
                                  value: '1'
                              backFields:
                                - key: terms
                                  label: Terms and Condictions
                                  value: https://myshout.co/terms
                          properties:
                            foregroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple and Web Only) A hex or rgb value
                                providing the foreground color. This is used for
                                font color
                              type: string
                            backgroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                A hex or rgb value providing the foreground
                                color
                              type: string
                            labelColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple Only) A hex or rgb value providing the
                                label color. If unset then the foreground color
                                is used.
                              type: string
                            icon:
                              description: A url to an image of size X by Y.
                              type: string
                            logo:
                              description: >-
                                The icon but with text and doesnt need to be
                                square
                              type: string
                            banner:
                              description: >-
                                (Google, Apple Only) A url to an image of size X
                                by Y. Also used in link previews.
                              type: string
                            background:
                              description: >-
                                (Web Only) A url to an image that is displayed
                                as the background. If this is not provided then
                                backgroundColor is used.
                              type: string
                            title:
                              description: The title displayed on the pass.
                              minLength: 1
                              type: string
                            issuerName:
                              description: The name of the issuer.
                              minLength: 1
                              type: string
                            sharingProhibited:
                              description: Disable sharing from mobile wallets
                              type: boolean
                            locations:
                              maxItems: 10
                              description: >-
                                Locations that trigger lock-screen relevance in
                                Apple and Google Wallet (Apple's locations,
                                Google's merchantLocations). Combined with any
                                pass-level locations when passes are issued from
                                this template.
                              type: array
                              items:
                                examples:
                                  - name: Spark Arena
                                    address: >-
                                      42/80 Mahuhu Crescent, Parnell, Auckland
                                      1010, New Zealand
                                    latitude: -36.847136000000006
                                    longitued: 174.7769837
                                type: object
                                properties:
                                  name:
                                    description: >-
                                      The name of the location where the event
                                      is held.
                                    type: string
                                  address:
                                    description: >-
                                      The address of the location where the
                                      event is held.
                                    type: string
                                  latitude:
                                    description: The latitude of the location.
                                    type: number
                                  longitude:
                                    description: The longitude of the location.
                                    type: number
                                  relevantText:
                                    description: >-
                                      Text shown in the Apple Wallet
                                      notification when the device enters this
                                      location. Falls back to name, then
                                      address, if not set. Not used by Google
                                      Wallet, which has no per-location text.
                                    type: string
                                required:
                                  - address
                                  - latitude
                                  - longitude
                            type:
                              type: string
                              enum:
                                - offer
                            fields:
                              maxItems: 4
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            backFields:
                              description: The values can be text, numbers or urls.
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            id:
                              description: Id is a unique identifier for the template
                              type: string
                            accountId:
                              description: >-
                                Account Id is the account the template belongs
                                to
                              type: string
                            archived:
                              description: >-
                                When true, the template is archived. No new
                                passes can be created and all existing passes
                                are voided.
                              type: boolean
                          required:
                            - foregroundColor
                            - backgroundColor
                            - icon
                            - logo
                            - banner
                            - title
                            - issuerName
                            - id
                            - accountId
                        - type: object
                          properties:
                            foregroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple and Web Only) A hex or rgb value
                                providing the foreground color. This is used for
                                font color
                              type: string
                            backgroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                A hex or rgb value providing the foreground
                                color
                              type: string
                            labelColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple Only) A hex or rgb value providing the
                                label color. If unset then the foreground color
                                is used.
                              type: string
                            icon:
                              description: A url to an image of size X by Y.
                              type: string
                            logo:
                              description: >-
                                The icon but with text and doesnt need to be
                                square
                              type: string
                            banner:
                              description: >-
                                (Google, Apple Only) A url to an image of size X
                                by Y. Also used in link previews.
                              type: string
                            background:
                              description: >-
                                (Web Only) A url to an image that is displayed
                                as the background. If this is not provided then
                                backgroundColor is used.
                              type: string
                            title:
                              description: The title displayed on the pass.
                              minLength: 1
                              type: string
                            issuerName:
                              description: The name of the issuer.
                              minLength: 1
                              type: string
                            sharingProhibited:
                              description: Disable sharing from mobile wallets
                              type: boolean
                            locations:
                              maxItems: 10
                              description: >-
                                Locations that trigger lock-screen relevance in
                                Apple and Google Wallet (Apple's locations,
                                Google's merchantLocations). Combined with any
                                pass-level locations when passes are issued from
                                this template.
                              type: array
                              items:
                                examples:
                                  - name: Spark Arena
                                    address: >-
                                      42/80 Mahuhu Crescent, Parnell, Auckland
                                      1010, New Zealand
                                    latitude: -36.847136000000006
                                    longitued: 174.7769837
                                type: object
                                properties:
                                  name:
                                    description: >-
                                      The name of the location where the event
                                      is held.
                                    type: string
                                  address:
                                    description: >-
                                      The address of the location where the
                                      event is held.
                                    type: string
                                  latitude:
                                    description: The latitude of the location.
                                    type: number
                                  longitude:
                                    description: The longitude of the location.
                                    type: number
                                  relevantText:
                                    description: >-
                                      Text shown in the Apple Wallet
                                      notification when the device enters this
                                      location. Falls back to name, then
                                      address, if not set. Not used by Google
                                      Wallet, which has no per-location text.
                                    type: string
                                required:
                                  - address
                                  - latitude
                                  - longitude
                            type:
                              type: string
                              enum:
                                - event
                            startDate:
                              description: The UTC date at which the event starts.
                              type: string
                            location:
                              examples:
                                - name: Spark Arena
                                  address: >-
                                    42/80 Mahuhu Crescent, Parnell, Auckland
                                    1010, New Zealand
                                  latitude: -36.847136000000006
                                  longitued: 174.7769837
                              type: object
                              properties:
                                name:
                                  description: >-
                                    The name of the location where the event is
                                    held.
                                  type: string
                                address:
                                  description: >-
                                    The address of the location where the event
                                    is held.
                                  type: string
                                latitude:
                                  description: The latitude of the location.
                                  type: number
                                longitude:
                                  description: The longitude of the location.
                                  type: number
                                relevantText:
                                  description: >-
                                    Text shown in the Apple Wallet notification
                                    when the device enters this location. Falls
                                    back to name, then address, if not set. Not
                                    used by Google Wallet, which has no
                                    per-location text.
                                  type: string
                              required:
                                - address
                                - latitude
                                - longitude
                            fields:
                              maxItems: 4
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            backFields:
                              description: The values can be text, numbers or urls.
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            id:
                              description: Id is a unique identifier for the template
                              type: string
                            accountId:
                              description: >-
                                Account Id is the account the template belongs
                                to
                              type: string
                            archived:
                              description: >-
                                When true, the template is archived. No new
                                passes can be created and all existing passes
                                are voided.
                              type: boolean
                          required:
                            - foregroundColor
                            - backgroundColor
                            - icon
                            - logo
                            - banner
                            - title
                            - issuerName
                            - type
                            - startDate
                            - id
                            - accountId
                        - type: object
                          properties:
                            foregroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple and Web Only) A hex or rgb value
                                providing the foreground color. This is used for
                                font color
                              type: string
                            backgroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                A hex or rgb value providing the foreground
                                color
                              type: string
                            labelColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple Only) A hex or rgb value providing the
                                label color. If unset then the foreground color
                                is used.
                              type: string
                            icon:
                              description: A url to an image of size X by Y.
                              type: string
                            logo:
                              description: >-
                                The icon but with text and doesnt need to be
                                square
                              type: string
                            banner:
                              description: >-
                                (Google, Apple Only) A url to an image of size X
                                by Y. Also used in link previews.
                              type: string
                            background:
                              description: >-
                                (Web Only) A url to an image that is displayed
                                as the background. If this is not provided then
                                backgroundColor is used.
                              type: string
                            title:
                              description: The title displayed on the pass.
                              minLength: 1
                              type: string
                            issuerName:
                              description: The name of the issuer.
                              minLength: 1
                              type: string
                            sharingProhibited:
                              description: Disable sharing from mobile wallets
                              type: boolean
                            locations:
                              maxItems: 10
                              description: >-
                                Locations that trigger lock-screen relevance in
                                Apple and Google Wallet (Apple's locations,
                                Google's merchantLocations). Combined with any
                                pass-level locations when passes are issued from
                                this template.
                              type: array
                              items:
                                examples:
                                  - name: Spark Arena
                                    address: >-
                                      42/80 Mahuhu Crescent, Parnell, Auckland
                                      1010, New Zealand
                                    latitude: -36.847136000000006
                                    longitued: 174.7769837
                                type: object
                                properties:
                                  name:
                                    description: >-
                                      The name of the location where the event
                                      is held.
                                    type: string
                                  address:
                                    description: >-
                                      The address of the location where the
                                      event is held.
                                    type: string
                                  latitude:
                                    description: The latitude of the location.
                                    type: number
                                  longitude:
                                    description: The longitude of the location.
                                    type: number
                                  relevantText:
                                    description: >-
                                      Text shown in the Apple Wallet
                                      notification when the device enters this
                                      location. Falls back to name, then
                                      address, if not set. Not used by Google
                                      Wallet, which has no per-location text.
                                    type: string
                                required:
                                  - address
                                  - latitude
                                  - longitude
                            type:
                              type: string
                              enum:
                                - generic
                            primaryLabel:
                              description: >-
                                The label that goes with the primary value of a
                                pass
                              minLength: 1
                              type: string
                            thumbnail:
                              description: >-
                                (Apple Only) An image along side the primary
                                field. This is displayed instead of a banner in
                                Apple Wallet.
                              type: string
                            fields:
                              maxItems: 4
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            backFields:
                              description: The values can be text, numbers or urls.
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            id:
                              description: Id is a unique identifier for the template
                              type: string
                            accountId:
                              description: >-
                                Account Id is the account the template belongs
                                to
                              type: string
                            archived:
                              description: >-
                                When true, the template is archived. No new
                                passes can be created and all existing passes
                                are voided.
                              type: boolean
                          required:
                            - foregroundColor
                            - backgroundColor
                            - icon
                            - logo
                            - banner
                            - title
                            - issuerName
                            - type
                            - primaryLabel
                            - thumbnail
                            - id
                            - accountId
                        - type: object
                          properties:
                            foregroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple and Web Only) A hex or rgb value
                                providing the foreground color. This is used for
                                font color
                              type: string
                            backgroundColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                A hex or rgb value providing the foreground
                                color
                              type: string
                            labelColor:
                              pattern: >-
                                ^(#([a-fA-F0-9]{3}){1,2}|(rgb|rgba)(s*(d+%?s*,s*){2,3}(d+%?s*,?s*)d*.?d*s*))$
                              description: >-
                                (Apple Only) A hex or rgb value providing the
                                label color. If unset then the foreground color
                                is used.
                              type: string
                            icon:
                              description: A url to an image of size X by Y.
                              type: string
                            logo:
                              description: >-
                                The icon but with text and doesnt need to be
                                square
                              type: string
                            banner:
                              description: >-
                                (Google, Apple Only) A url to an image of size X
                                by Y. Also used in link previews.
                              type: string
                            background:
                              description: >-
                                (Web Only) A url to an image that is displayed
                                as the background. If this is not provided then
                                backgroundColor is used.
                              type: string
                            title:
                              description: The title displayed on the pass.
                              minLength: 1
                              type: string
                            issuerName:
                              description: The name of the issuer.
                              minLength: 1
                              type: string
                            sharingProhibited:
                              description: Disable sharing from mobile wallets
                              type: boolean
                            locations:
                              maxItems: 10
                              description: >-
                                Locations that trigger lock-screen relevance in
                                Apple and Google Wallet (Apple's locations,
                                Google's merchantLocations). Combined with any
                                pass-level locations when passes are issued from
                                this template.
                              type: array
                              items:
                                examples:
                                  - name: Spark Arena
                                    address: >-
                                      42/80 Mahuhu Crescent, Parnell, Auckland
                                      1010, New Zealand
                                    latitude: -36.847136000000006
                                    longitued: 174.7769837
                                type: object
                                properties:
                                  name:
                                    description: >-
                                      The name of the location where the event
                                      is held.
                                    type: string
                                  address:
                                    description: >-
                                      The address of the location where the
                                      event is held.
                                    type: string
                                  latitude:
                                    description: The latitude of the location.
                                    type: number
                                  longitude:
                                    description: The longitude of the location.
                                    type: number
                                  relevantText:
                                    description: >-
                                      Text shown in the Apple Wallet
                                      notification when the device enters this
                                      location. Falls back to name, then
                                      address, if not set. Not used by Google
                                      Wallet, which has no per-location text.
                                    type: string
                                required:
                                  - address
                                  - latitude
                                  - longitude
                            type:
                              type: string
                              enum:
                                - membership
                            primaryLabel:
                              description: >-
                                The label that goes with the primary value of a
                                pass
                              minLength: 1
                              type: string
                            fields:
                              maxItems: 4
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            backFields:
                              description: The values can be text, numbers or urls.
                              type: array
                              items:
                                description: >-
                                  A field that is displayed in a voucher, that
                                  is identified by the key. It can be defined in
                                  a template and overwritten in a pass
                                examples:
                                  - key: voucher
                                    label: free drinks
                                    value: '1'
                                type: object
                                properties:
                                  key:
                                    description: >-
                                      The identifier of the field. This is not
                                      presented to the user.
                                    type: string
                                  label:
                                    description: The label to go with the value.
                                    type: string
                                  value:
                                    description: The data to display.
                                    type: string
                                required:
                                  - key
                                  - label
                                  - value
                            id:
                              description: Id is a unique identifier for the template
                              type: string
                            accountId:
                              description: >-
                                Account Id is the account the template belongs
                                to
                              type: string
                            archived:
                              description: >-
                                When true, the template is archived. No new
                                passes can be created and all existing passes
                                are voided.
                              type: boolean
                          required:
                            - foregroundColor
                            - backgroundColor
                            - icon
                            - logo
                            - banner
                            - title
                            - issuerName
                            - type
                            - primaryLabel
                            - id
                            - accountId
                  nextPageToken:
                    type: string
                  totalCount:
                    type: integer
                required:
                  - templates
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/def-0'
      security:
        - bearerAuth: []
components:
  schemas:
    def-0:
      type: object
      properties:
        statusCode:
          type: number
        code:
          type: string
        error:
          type: string
        message:
          type: string
      title: HttpError
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````