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

# Get a transaction

> Return a single transaction by ID, including its contact, status, and the bundle it belongs to.



## OpenAPI

````yaml /src/autogen/donation-membership-transaction-openapi3.0.yaml get /v1/transactions/{id}
openapi: 3.1.0
info:
  description: >-
    This OpenAPI 3.1 specification describes the public API of the Qomon
    platform. It is generated from the code and serves both as documentation for
    API consumers and as a contract for future development.
  title: Qomon API Reference
  version: 0.0.1
servers:
  - description: Production
    url: https://incoming.qomon.app
security:
  - bearerAuth: []
tags:
  - description: >-
      Create, read, update, and delete transaction bundles. A bundle is a single
      payment event grouping one or more transactions with optional donations
      and memberships.
    name: Transaction bundles
  - description: >-
      Read individual transactions (the payment legs of a bundle) with
      server-side filtering by date, amount, status, payment method and
      campaign, plus a contact's full transaction history.
    name: Transactions
  - description: >-
      List donations directly, filtered by donation date, contact, price or
      amount — without fetching whole bundles.
    name: Donations
  - description: >-
      List memberships directly, filtered by start/end/creation date, contact,
      price or amount.
    name: Memberships
  - description: >-
      Read-only configuration resources: transaction settings, statuses,
      donation and membership prices, and code campaigns.
    name: Settings and configuration
paths:
  /v1/transactions/{id}:
    get:
      tags:
        - Transactions
      summary: Get a transaction
      description: >-
        Return a single transaction by ID, including its contact, status, and
        the bundle it belongs to.
      operationId: get-transaction
      parameters:
        - description: Transaction ID.
          in: path
          name: id
          required: true
          schema:
            description: Transaction ID.
            examples:
              - 42
            format: int64
            minimum: 0
            type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StatusEnvelopeTransaction'
          description: OK
        default:
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ErrorModel'
          description: Error
components:
  schemas:
    StatusEnvelopeTransaction:
      additionalProperties: true
      properties:
        data:
          $ref: '#/components/schemas/Transaction'
        status:
          description: Operation result.
          examples:
            - success
          type: string
      required:
        - status
        - data
      type: object
    ErrorModel:
      additionalProperties: true
      properties:
        detail:
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
          examples:
            - Property foo is required but is missing.
          type: string
        errors:
          description: Optional list of individual error details
          items:
            $ref: '#/components/schemas/ErrorDetail'
          type:
            - array
            - 'null'
        instance:
          description: >-
            A URI reference that identifies the specific occurrence of the
            problem.
          examples:
            - https://example.com/error-log/abc123
          format: uri
          type: string
        status:
          description: HTTP status code
          examples:
            - 400
          format: int64
          type: integer
        title:
          description: >-
            A short, human-readable summary of the problem type. This value
            should not change between occurrences of the error.
          examples:
            - Bad Request
          type: string
        type:
          default: about:blank
          description: A URI reference to human-readable documentation for the error.
          examples:
            - https://example.com/errors/example
          format: uri
          type: string
      type: object
    Transaction:
      additionalProperties: true
      properties:
        CreatedAt:
          description: Creation timestamp.
          format: date-time
          type: string
        UpdatedAt:
          description: Last update timestamp.
          format: date-time
          type: string
        amount:
          default: 0
          description: Amount in cents.
          examples:
            - 5000
          format: int64
          minimum: 0
          type: integer
        code_campaign:
          description: Optional campaign code (must exist in group's campaigns).
          type: string
        comment:
          description: Optional comment.
          type: string
        comment_date:
          description: Optional comment date.
          format: date-time
          type: string
        contact_id:
          description: Contact ID - required for transactions.
          format: int64
          minimum: 0
          type: integer
        currency:
          description: Currency code.
          examples:
            - eur
          type: string
        date:
          description: Transaction date (ISO 8601 format).
          format: date-time
          type:
            - string
            - 'null'
        delivered_at:
          description: Optional delivery date.
          format: date-time
          type: string
        delivery_token:
          description: Optional delivery token.
          type: string
        external_transaction_id:
          description: Optional external transaction ID.
          format: int64
          minimum: 0
          type: integer
        group_id:
          description: ID of the group (espace) the transaction belongs to.
          format: int64
          minimum: 0
          readOnly: true
          type: integer
        id:
          description: Transaction ID (for updates, omit for new transactions).
          format: int64
          minimum: 0
          type: integer
        payment_method:
          additionalProperties: {}
          description: Additional payment method details (JSON object).
          type: object
        payment_method_kind:
          description: >-
            Payment method type (e.g., 'card', 'check', 'cash', 'transfer').
            Must match allowed payment methods for the group.
          type: string
        reimbursed_amount:
          description: Reimbursed amount in cents.
          format: int64
          minimum: 0
          type: integer
        status_id:
          description: >-
            Transaction status identifier. Use an ID from GET
            /v1/transaction_statuses, or default_status_id from GET
            /v1/transaction_settings.
          format: int64
          minimum: 0
          type: integer
        transaction_bundle_id:
          description: Bundle identifier.
          format: int64
          minimum: 0
          type: integer
        unpaid_amount:
          description: Unpaid amount in cents.
          format: int64
          minimum: 0
          type: integer
      required:
        - contact_id
        - date
        - amount
      type: object
    ErrorDetail:
      additionalProperties: true
      properties:
        location:
          description: >-
            Where the error occurred, e.g. 'body.items[3].tags' or
            'path.thing-id'
          type: string
        message:
          description: Error message text
          type: string
        value:
          description: The value at the given location
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: opaque
      description: >-
        OAuth2 access token. Pass the token in the Authorization header as
        `Bearer <token>`. The token is looked up in Redis to resolve the caller
        identity.
      scheme: bearer
      type: http

````