> ## 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.

# Create a transaction record

> Creates a transaction record at program scope. Prefer the transaction-type-scoped path when posting typed earn/burn events.



## OpenAPI

````yaml /openapi/brand-api.json post /{brand_id}/programs/{program_id}/transactions
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}/transactions:
    post:
      tags:
        - program
        - onboarding
      summary: Create a transaction record
      description: >-
        Creates a transaction record at program scope. Prefer the
        transaction-type-scoped path when posting typed earn/burn events.
      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: passId
          in: query
          description: Pass Id for the card.  This should be used for identifying the card.
          required: false
          schema:
            type: number
        - name: serialNumber
          in: query
          description: >-
            Serial Number for the wallet card.  This should be used for
            identifying the card.
          required: false
          schema:
            type: string
        - name: uniqueId
          in: query
          description: >-
            Unique Identifier for the wallet card.  This should be used for
            identifying the card.
          required: false
          schema:
            type: string
      requestBody:
        description: Update a program Input.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TransactionInput'
            example:
              transactionId: 9001
              transactionTypeId: 7
              amount: 49.99
              transactionDate: '2026-07-28T12:00:00Z'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
              example:
                transactionId: 9001
                transactionTypeId: 7
                amount: 49.99
                transactionDate: '2026-07-28T12:00:00Z'
        '500':
          description: Internal Server Error
      security:
        - cognito-authorizer:
            - https://admin.bambumeta.software/ui
components:
  schemas:
    TransactionInput:
      type: object
      required:
        - transactionTypeId
        - transactionData
      properties:
        transactionTypeId:
          type: number
        transactionData:
          type: object
        transactionDate:
          type: string
  securitySchemes:
    cognito-authorizer:
      type: apiKey
      name: Authorization
      in: header

````