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

# List wallet passes

> Returns wallet passes for a program. Supports pagination and filtering query parameters. Use for operational exports or reconciliation. Prefer `GET .../wallets?unique_id=` for single-card lookup.



## OpenAPI

````yaml /openapi/brand-api.json get /{brand_id}/programs/{program_id}/wallet-passes
openapi: 3.0.0
info:
  title: Bambu Brand API
  description: >-
    Partner APIs for issuing and managing wallet cards, activations,
    transactions, SMS, and program configuration. Start with the Guides tab for
    authentication and your first issue-wallet call.
  version: 1.0.0
servers:
  - url: https://api.bambumeta.software/brands
    description: Production
  - url: https://api-sandbox.bambumeta.software/brands
    description: Sandbox
security: []
tags:
  - name: brand
    description: Brand setup and configuration
  - name: brand-activation
    description: Onboarding activations and issue-wallet for an activation
  - name: brands
    description: Custom brand attribute fields
  - name: link-activation
    description: Distribution link activation CRUD
  - name: onboarding
    description: >-
      Program onboarding metrics (internal tag, grouped under reporting in the
      portal)
  - name: program
    description: Program setup and transactions
  - name: reporting
    description: Pass and stage breakdown reports
  - name: sms
    description: Send outbound SMS messages
  - name: subscription
    description: SMS subscription enrollment and stage updates
  - name: template
    description: Wallet template management
  - name: transactions
    description: Transaction types, records, and program transactions
  - name: wallet
    description: Issue, retrieve, update, and delete wallet cards
  - name: wallet-bulk
    description: Bulk pass updates and scheduled changes
  - name: workflow
    description: Trigger workflows that issue or update passes
paths:
  /{brand_id}/programs/{program_id}/wallet-passes:
    get:
      tags:
        - wallet
      summary: List wallet passes
      description: >-
        Returns wallet passes for a program. Supports pagination and filtering
        query parameters. Use for operational exports or reconciliation. Prefer
        `GET .../wallets?unique_id=` for single-card lookup.
      parameters:
        - name: brand_id
          in: path
          description: Brand Identifier
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: '353'
        - name: program_id
          in: path
          description: Program Identifier
          required: true
          style: simple
          explode: false
          schema:
            type: string
          example: '1396'
        - name: pageSize
          in: query
          description: Page Size max of 2000
          required: false
          schema:
            type: number
          example: '25'
        - name: pageNumber
          in: query
          description: Page Number
          required: false
          schema:
            type: number
          example: '1'
        - name: onlyCount
          in: query
          description: Retrieve only the count of cards
          required: false
          schema:
            type: boolean
        - name: template_id
          in: query
          description: Template Identifier
          required: false
          schema:
            type: number
        - name: template_tier_id
          in: query
          description: Template Tier Identifier
          required: false
          schema:
            type: number
        - name: status_code
          in: query
          description: Status Code Filter
          required: false
          schema:
            type: number
        - name: status_code_query_type
          in: query
          description: Status Code Query Type, eq, lt, gt, lte, gte
          required: false
          schema:
            type: string
        - name: last_updated
          in: query
          description: >-
            Last Updated Filter, format: yyyy-MM-ddTHH:mm:ss.SSSZ or time in
            milliseconds
          required: false
          schema:
            type: string
        - name: last_updated_query_type
          in: query
          description: Status Code Query Type, eq, lt, gt, lte, gte
          required: false
          schema:
            type: string
        - name: last_updated_start
          in: query
          description: >-
            Last Updated Start Date Filter, format: yyyy-MM-ddTHH:mm:ss.SSSZ or
            time in milliseconds
          required: false
          schema:
            type: string
        - name: last_updated_end
          in: query
          description: >-
            Last Updated End Date Filter, format: yyyy-MM-ddTHH:mm:ss.SSSZ or
            time in milliseconds
          required: false
          schema:
            type: string
        - name: email
          in: query
          description: >-
            Email Address, for backwards compatibility, you should be using the
            unique_id.  Only works if the email address is the unique identifier
            for the brand.
          required: false
          schema:
            type: string
        - name: unique_id
          in: query
          description: >-
            External unique identifier for the wallet card (recommended). Must
            match the value stored in passdata.metaData at issue time, such as
            memberId.
          required: false
          schema:
            type: string
        - name: serial_number
          in: query
          description: Pass Serial Number
          required: false
          schema:
            type: string
        - name: pass_ids
          in: query
          description: Pass Serial Number
          required: false
          schema:
            type: array
        - name: group_id
          in: query
          description: Group Identifier
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/WalletPassRecords'
              example:
                data:
                  - passId: 12345
                    serialNumber: 88faf0d9-196c-11f1-99ef-0e0d839580d9
                    templateId: 100
                    personId: 550e8400-e29b-41d4-a716-446655440000
                    passdata:
                      points: 0
                      metaData:
                        memberId: '1001'
                    downloadUrl: >-
                      https://wallet-pass.bambumeta.software/brand/353/88faf0d9-196c-11f1-99ef-0e0d839580d9
                    downloadUrlApple: >-
                      https://wallet-pass.bambumeta.software/brand/353/88faf0d9-196c-11f1-99ef-0e0d839580d9
                    downloadUrlGoogle: https://pay.google.com/gp/v/save/eyJhbGciOiJFUzI1NiJ9...
                    statusCode: ACTIVE
                    status: 200
                pageNumber: 1
                pageSize: 25
                totalCount: 1
      security:
        - cognito-authorizer:
            - https://admin.bambumeta.software/ui
components:
  schemas:
    WalletPassRecords:
      type: object
      properties:
        passId:
          type: number
        serialNumber:
          type: string
        templateId:
          type: number
        groupId:
          type: string
          description: >-
            If provided, this group identifier will be used to group the wallet
            passes together.
        personId:
          type: string
        templateTierId:
          type: number
          description: >-
            The optional wallet pass tier identifier for updating the tier on
            the wallet card.
        currentMessage:
          type: string
          description: The current message for the wallet pass
        passdata:
          $ref: '#/components/schemas/PassData'
        downloadUrl:
          type: string
          description: The download url for the pass
        statusCode:
          type: string
          description: The status for the pass
        status:
          type: number
          description: The numeric representation of the status
        workflowTracking:
          type: array
          description: Workflow execution tracking
          items:
            $ref: '#/components/schemas/WorkflowTracking'
    PassData:
      type: object
      properties:
        optOut:
          type: boolean
        points:
          type: number
        seat:
          type: string
        row:
          type: string
        section:
          type: string
        gate:
          type: string
        expiryDate:
          type: string
        status:
          type: string
        profileImage:
          type: string
        metaData:
          type: object
          additionalProperties: true
    WorkflowTracking:
      type: object
      properties:
        passId:
          type: number
        workflowId:
          type: string
          description: Workflow Identifier
        passSerialNumber:
          type: string
          description: Pass Serial Number
        audit:
          $ref: '#/components/schemas/Audit'
    Audit:
      type: object
      description: Audit Information
      properties:
        createdBy:
          type: string
          description: Created By
        createdAt:
          type: string
          description: Created Date
        updatedBy:
          type: string
          description: Updated By
        updatedAt:
          type: string
          description: Updated Date
  securitySchemes:
    cognito-authorizer:
      type: apiKey
      name: Authorization
      in: header

````