---
title: "Get a pending transaction"
method: GET
path: "/transactions/pending/{id}"
tags: ["Transactions"]
---

# Get a pending transaction

`GET /transactions/pending/{id}`

Get a pending transaction by its uuid

## Path parameters

- `id` string, uuid, required

## Response `200`

Pending Transaction

- PendingTransaction
  - `account_id` string, required — The account id associated with the hold
  - `account_no` string, required — The account number associated with the hold
  - `created` string, date-time, required — The creation date of the hold
  - `data` PendingTransactionData, required
    - `amount` integer, required — The amount of the hold.
    - `auto_post_at` string, date-time, required — The account "available balance" at the time this hold was created
    - `avail_balance` integer, required — The account "available balance" at the time this hold was created (to be deprecated)
    - `available_balance` integer, required — The account "available balance" at the time this hold was created
    - `balance` integer, required — The account balance at the time this hold was created
    - `currency` string, required — ISO 4217 alphabetic currency code of the transfer amount
    - `dc_sign` 'credit' | 'debit', required — The `dc_sign` represents the direction money was moved.
    - `effective_date` string, date-time, required — The effective date of the transaction once it gets posted
    - `expires_at` string, date-time, required — The date that at which this hold is no longer valid.
    - `external_data` ExternalData, nullable — an unstructured json blob representing additional transaction information supplied by the integrator.
    - `force_post` boolean, required — Whether or not the hold was forced (spending controls ignored)
    - `history` PendingTransactionHistory[], required — An array representing any previous states of the hold, if it has been modified (For example, increasing or decreasing the hold amount).
      - `account_id` string, required — The account id associated with the hold
      - `account_no` string, required — The account number associated with the hold
      - `created` string, date-time, required — The creation date of the hold
      - `data` PendingTransactionHistoryData
        - `amount` integer, required — The amount of the hold.
        - `auto_post_at` string, date-time, required — The time the transaction will be automatically posted.
        - `avail_balance` integer, required — The account "available balance" at the time this hold was created (to be deprecated)
        - `available_balance` integer, required — The account "available balance" at the time this hold was created
        - `balance` integer, required — The account balance at the time this hold was created
        - `currency` string, required — ISO 4217 alphabetic currency code of the transfer amount
        - `dc_sign` 'credit' | 'debit', required — The `dc_sign` represents the direction money was moved.
        - `effective_date` string, date-time, required — The effective date of the transaction once it gets posted
        - `expires_at` string, date-time, required — The date that at which this hold is no longer valid.
        - `external_data` ExternalData, nullable — an unstructured json blob representing additional transaction information supplied by the integrator.
        - `force_post` boolean, required — Whether or not the hold was forced (spending controls ignored)
        - `idemkey` string, required — The idempotency key used when initially creating this hold.
        - `indefinite` boolean — If true, the hold will not expire automatically. The hold remains active until it is explicitly released or posted.
        - `memo` string, required — A short note to the recipient
        - `network` string, required — The network this transaction is associated with
        - `operation` 'hold_cancel' | 'hold_decline' | 'hold_decrease' | 'hold_expire' | 'hold_increase' | 'hold_new' | 'hold_post' | 'hold_replace', required
        - `reason` string, required — If a hold has been declined or modified, this will include the reason.
        - `req_amount` integer, required — The requested amount, in the case of hold modifications.
        - `risk_info` RiskInfo, nullable — Information received by the transaction risk/fraud service related to this transaction
        - `status` 'CLEARED' | 'DECLINED' | 'EXPIRED' | 'INTERNAL_ERROR' | 'PARTCLEARED' | 'PENDING' | 'RELEASED' | 'REPLACED', required — The status of the hold.
        - `subtype` string, required — The specific transaction type. For example, for `ach`, this may be "outgoing_debit".
        - `total_amount` integer, required — The total amount of the hold. This may be different than `amount` in the case where a hold increase or decrease was requested.
        - `transaction_id` string, uuid — The uuid of the transaction that this pending transaction originated from, if any. This is primary used when a transaction "posts", but a subset of the amount reserved until a future settlement date.
        - `transaction_time` string, date-time, required — The time the transaction occurred.
        - `type` string, required — The general type of transaction. For example, "card" or "ach".
        - `user_data` UserData, nullable — An unstructured JSON blob representing additional transaction information specific to each payment rail.
        - `was_partial` boolean, required — Does this hold represent a partial debit (or credit)?
      - `id` integer, required
      - `idemkey` string, required — The idempotency key used when initially creating this transaction.
      - `offset_account_id` string — The offset account id associated with the hold
      - `offset_account_no` string — The offset account number associated with the hold
      - `reference_id` string, nullable, required — An external ID provided by the payment network to represent this transaction.
      - `tenant` string, required — The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.
      - `updated` string, date-time, required — The date the hold was last update
      - `uuid` string, uuid, required — The unique identifier of the hold transaction.
    - `idemkey` string, required — The idempotency key used when initially creating this hold.
    - `indefinite` boolean — If true, the hold will not expire automatically. The hold remains active until it is explicitly released or posted.
    - `memo` string, required — A short note to the recipient
    - `network` string, required — The network this transaction is associated with
    - `operation` 'hold_cancel' | 'hold_decline' | 'hold_decrease' | 'hold_expire' | 'hold_increase' | 'hold_new' | 'hold_post' | 'hold_replace', required
    - `reason` string, required — If a hold has been declined or modified, this will include the reason.
    - `req_amount` integer, required — The requested amount, in the case of hold modifications.
    - `risk_info` RiskInfo, nullable — Information received by the transaction risk/fraud service related to this transaction
    - `status` 'CLEARED' | 'DECLINED' | 'EXPIRED' | 'INTERNAL_ERROR' | 'PARTCLEARED' | 'PENDING' | 'RELEASED' | 'REPLACED', required — The status of the hold.
    - `subtype` string, required — The specific transaction type. For example, for `ach`, this may be "outgoing_debit".
    - `total_amount` integer, required — The total amount of the hold. This may be different than `amount` in the case where a hold increase or decrease was requested.
    - `transaction_id` string, uuid, nullable — The uuid of the transaction that this pending transaction originated from, if any. This is primary used when a transaction "posts", but a subset of the amount reserved until a future settlement date.
    - `transaction_time` string, date-time, required — The time that the transaction was created
    - `type` string, required — The general type of transaction. For example, "card" or "ach".
    - `user_data` UserData, nullable — An unstructured JSON blob representing additional transaction information specific to each payment rail.
    - `was_partial` boolean, required — Does this hold represent a partial debit (or credit)?
  - `enhanced_transaction` EnhancedTransactionResponse — Financial data that has been refined by cleansing, categorizing and adding metadata. For example, inconsistencies in raw transaction data that were introduced via data aggregation are removed, transactions are categorized into groups such as "groceries" or utilities", and metadata (such as merchant names or location and timing details) are added for clarity.
  - `id` integer, required
  - `idemkey` string, required — The idempotency key used when initially creating this hold.
  - `offset_account_id` string — The offset account id associated with the hold
  - `offset_account_no` string — The offset account number associated with the hold
  - `reference_id` string, nullable, required — An external ID provided by the payment network to represent this transaction.
  - `tenant` string, required — The id of the tenant containing the resource. This is relevant for Fintechs that have multiple workspaces.
  - `updated` string, date-time, required — The date the hold was last update
  - `uuid` string, uuid, required — The unique identifier of the hold transaction.

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `403` — Forbidden error
- `422` — Unprocessable entity request response
- `500` — Internal server error

---

[API](https://skmtc.net/synctera/apis/synctera-api.md) · [All operations](https://skmtc.net/synctera/apis/synctera-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/synctera/synctera-api/revisions/b0d812e6cdd0/schema)
