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

# Get Transaction Status (Colombia)

> Outbound Colombia payouts only.
Returns `id`, `externalID`, `status`, `direction`, `amount` (string), `currency`, and `providerStatus` when a refresh happened.
A transaction that is not an outbound payout returns `400`.
A refresh failure returns `502` with `error`, `code`, and `type`.




## OpenAPI

````yaml /api-reference/openapi.yaml get /co/transactions/{id}/status
openapi: 3.1.0
info:
  title: HG.Cash API
  description: >
    # 🚀 HG.Cash Transaction API


    Modern REST API for users to create outbound transactions from their
    accounts.


    ## 🧾 How it works


    - We assign accounts to your user in HG.Cash

    - When these accounts have transactions (inbound or outbound), HG.Cash will
    notify your backend using the webhook URL you configure in the HG.Cash
    dashboard

    - **Webhook signature (HMAC)**: In account settings you can generate a
    signing secret. When configured, each webhook POST includes the header
    `X-HG-Webhook-Signature: sha256=<hex>` where the value is HMAC-SHA256 of the
    raw JSON body using your secret. Verify this in your endpoint to ensure the
    request is authentic.

    - To create cash-outs (money leaving your accounts), you must call the
    **Cash Out** endpoint: **Create Transaction Request (Cash Out)** (`POST
    /transactions`)


    ## 📊 Getting Started


    1. **Generate your API token** in the account settings page

    2. **Test endpoints** using the interactive documentation below

    3. **Implement** in your backend services (never expose tokens in frontend)

    4. **Monitor** your integration and handle errors appropriately


    ## 🔐 Authentication


    This API uses **Bearer Token** authentication. Include your user API token
    in the Authorization header, for example `Authorization: Bearer
    cash_your_token_here`.


    ## ⚠️ Important Security Notes


    - Never share or expose your user API authentication token

    - Store tokens securely on your backend servers only

    - All API calls must be made from secure backend services

    - Contact administrators immediately if your token is compromised
  version: 1.0.0
  contact:
    name: HG.Cash API Support
    email: api-support@hg.cash
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://hg.cash/api/v1
    description: Production server
  - url: http://dev.hg.cash/api/v1
    description: Development server
security:
  - bearerAuth: []
tags:
  - name: Transactions
    description: >-
      Transaction Management - Create and manage transactions in the HG.Cash
      system. All transaction endpoints require authentication.
  - name: Accounts
    description: >-
      Accounts - Retrieve account information and balances for the authenticated
      user. All account endpoints require authentication.
  - name: Reference Data
    description: >-
      Reference Data - Get reference data like transaction statuses and types.
      These endpoints require authentication.
  - name: Webhooks
    description: Webhooks - Event notifications sent to your HTTP endpoint.
  - name: Brazil
    description: >-
      Transaction management - Create and manage transactions in Pix system for
      Brazil operations
  - name: Chile
    description: Hosted checkout and bank payouts for Chile (CLP)
  - name: Bolivia
    description: QR cash-in and ACH payouts for Bolivia (BOB)
  - name: Colombia
    description: >-
      Hosted checkout cash-in and bank, Bre-B key, or Bre-B QR payouts for
      Colombia (COP)
  - name: Checkouts
    description: Hosted checkout sessions for AR, BR, CL, BO, and CO
  - name: Claims
    description: Dispute claims with transfer receipt evidence
paths:
  /co/transactions/{id}/status:
    get:
      tags:
        - Colombia
      summary: Get Transaction Status (Colombia)
      description: >
        Outbound Colombia payouts only.

        Returns `id`, `externalID`, `status`, `direction`, `amount` (string),
        `currency`, and `providerStatus` when a refresh happened.

        A transaction that is not an outbound payout returns `400`.

        A refresh failure returns `502` with `error`, `code`, and `type`.
      operationId: getCoTransactionStatus
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
      responses:
        '200':
          description: Transaction status
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/DirectTransactionStatus'
                  - type: object
                    properties:
                      providerStatus:
                        type: string
                        description: >-
                          Present when this request refreshed an in-flight
                          payout. Omitted otherwise.
                      amount:
                        type: string
                        description: Decimal amount as a string
              example:
                id: 550e8400-e29b-41d4-a716-446655440000
                externalID: 550e8400-e29b-41d4-a716-446655440000
                status: processing
                direction: Outbound
                amount: '50000.00'
                currency: COP
        '400':
          description: Transaction is not an outbound payout supported for status polling
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                properties:
                  error:
                    type: string
                    example: Transaction is not supported for status polling
        '401':
          description: Unauthorized
        '404':
          description: Transaction not found
        '500':
          description: Internal server error
        '502':
          description: Refresh failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ColombiaProviderError'
              example:
                error: Unable to fetch transaction status from the payment provider.
                code: CO_TRANSACTION_STATUS_PROVIDER_ERROR
                type: provider_error
components:
  schemas:
    DirectTransactionStatus:
      type: object
      description: Status of a direct transaction (inbound or outbound)
      properties:
        id:
          type: string
          format: uuid
        externalID:
          type: string
        status:
          type: string
          description: >
            Normalized status of the transaction.


            - `processing`: First status of an outbound transaction after it is
            created. The payout is in flight with the provider.

            - `pending`: First status of an inbound transaction after it is
            created, until the payer completes payment.

            - `done`: Payment or payout completed.

            - `expired`: Inbound charge expired before payment.

            - `cancelled`: Transaction was cancelled or the provider rejected
            it.
          enum:
            - processing
            - pending
            - done
            - expired
            - cancelled
        direction:
          type: string
          enum:
            - Inbound
            - Outbound
        amount:
          type: string
        currency:
          type: string
        feeBreakdown:
          $ref: '#/components/schemas/FeeBreakdown'
    ColombiaProviderError:
      type: object
      required:
        - error
        - code
        - type
      description: >-
        Error when a Colombia payout cannot be completed or its status cannot be
        refreshed
      properties:
        error:
          type: string
        code:
          type: string
          description: >-
            CO_OUTBOUND_PROVIDER_CREATE_FAILED or
            CO_TRANSACTION_STATUS_PROVIDER_ERROR
        type:
          type: string
          description: provider_error
    FeeBreakdown:
      type: object
      description: >-
        Optional fee snapshot on a direct transaction status response. Amounts
        and rates are decimal strings. Omitted when the transaction has no
        breakdown. `collectedAmount` is the percentage transaction fee plus the
        flat fee. `platformFee` is the recorded wallet cost and is not added to
        `collectedAmount`. Includes `flatFee.source`, which transaction webhooks
        omit.
      properties:
        platformFee:
          type: object
          description: Recorded wallet percentage. Not added to `collectedAmount`.
          properties:
            amount:
              type: string
              example: '60'
            rate:
              type: string
              nullable: true
              description: Platform percentage rate as a decimal string (`0.005` is 0.5%)
              example: '0.005'
        transactionFee:
          type: object
          description: Percentage charged to the client.
          properties:
            amount:
              type: string
              example: '120'
            rate:
              type: string
              nullable: true
              description: Client percentage rate as a decimal string (`0.01` is 1%)
              example: '0.01'
        flatFee:
          type: object
          properties:
            amount:
              type: string
              description: Flat fee per transaction as a decimal string
              example: '15'
            source:
              type: string
              nullable: true
              enum:
                - account
                - platform
              description: >-
                Account override, or the platform amount when the account
                inherits it
              example: platform
        collectedAmount:
          type: string
          description: '`transactionFee.amount` plus `flatFee.amount`'
          example: '135'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        User API authentication token with format `cash_<64-char-hex>`. Sample
        value
        `cash_16cdc3b6f83c72d9d2680adca4f430962981f6bf32613a129dded0aa060387d2`.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.