# Get a transaction

Returns a single transaction by ID.

Endpoint: GET /v1/stablecoin/transactions/{id}
Version: 1.0.0
Security: oauth2

## Security:

  - `oauth2` (unknown)
    oauth2 scopes: rlusd_customers:read

## Path parameters:

  - `id` (string, required)
    Transaction UUID

## Response 200:

  - `200` (unknown)
    Transaction found

## Response 200 fields (application/json):

  - `id` (string, required)
    Unique transaction identifier

  - `type` (string)
    Transaction type. Null while the transaction is `PENDING` (flexible redemption)
and a destination has not yet been chosen.
    Enum: "ISSUANCE", "REDEMPTION", "BRIDGE"

  - `status` (string, required)
    Current transaction status. `COMPLETED`, `FAILED`, and `CANCELED` are terminal.
`CANCELED` currently applies to `ISSUANCE` transactions canceled before settlement.
`PENDING` applies to flexible-redemption transactions awaiting approval via
[Approve a pending redemption](#operation/updateTransactionDestination); `type` and
`destination` are null until approved.
    Enum: "PROCESSING", "PENDING", "COMPLETED", "FAILED", "CANCELED"

  - `amount` (string, required)
    Transaction amount as a decimal string (e.g. "10000.00")

  - `token` (string, required)
    Always RLUSD
    Enum: "RLUSD"

  - `source` (object, required)

  - `source.type` (string, required)
    Endpoint type
    Enum: "FIAT", "CRYPTO"

  - `source.walletRipId` (string)
    Wallet ripId (e.g. `RIP0000001`). Present when type is `CRYPTO`.

  - `source.address` (string)
    The customer's on-chain address on this leg. Present when type is `CRYPTO`
and the on-chain leg has been initiated. EVM addresses include the `0x` prefix.

  - `source.chain` (string)
    Blockchain network name (e.g. XRPL, ETH). Present when type is `CRYPTO`.

  - `source.transactionHash` (string)
    On-chain transaction hash for this leg. Present when the on-chain leg has settled.
EVM chains (e.g. ETH) return the hash with the `0x` prefix; XRPL hashes are
uppercase hex without a prefix.

  - `source.counterpartyAddress` (string)
    The Ripple-side internal account address that participated in this on-chain leg
(the counterparty to your wallet). Present when type is `CRYPTO` and the on-chain leg
has been initiated. EVM addresses include the `0x` prefix.

  - `source.fiatInstructionId` (string)
    The [fiat instruction](#tag/Fiat-instructions) this leg was matched to. Only a `FIAT`
leg carries one, and only when the leg referenced an instruction you own.

  - `source.memo` (string)
    Routing memo of the matched fiat instruction. Only a `FIAT` leg carries one; always
absent on a `CRYPTO` leg.
    Example: RL7Q3K9ZP2MTX4VB

  - `destination` (object)
    Destination endpoint. Null while the transaction is `PENDING` (flexible redemption)
and a destination has not yet been chosen.

  - `createdAt` (string, required)
    Timestamp when the transaction was created

  - `updatedAt` (string, required)
    Timestamp when the transaction was last updated

## Response 401:

  - `401` (unknown)
    Missing or expired access token

## Response 401 fields (application/problem+json):

  - `type` (string)
    URI reference identifying the problem type

  - `title` (string)
    Short, human-readable summary of the problem

  - `status` (integer)
    HTTP status code

  - `code` (string)
    Machine-readable error code
    Enum: "TRANSACTION_NOT_FOUND", "TRANSACTION_INVALID_STATUS_TRANSITION", "TRANSACTION_DESTINATION_TYPE_IMMUTABLE", "FIAT_INSTRUCTION_NOT_FOUND", "FIAT_INSTRUCTION_ALREADY_EXISTS", "FIAT_INSTRUCTION_INVALID_STATUS_TRANSITION", "STABLECOIN_BANK_DETAILS_NOT_FOUND", "WALLET_NOT_FOUND", "WALLET_NOT_APPROVED", "FORBIDDEN", "UPSTREAM_UNAVAILABLE", "INVALID_REQUEST_BODY", "UNKNOWN_EXCEPTION"

## Response 403:

  - `403` (unknown)
    The caller is not entitled to the operation - either the access token lacks the scope
the operation requires, or the tenant is not entitled to the API at all (`FORBIDDEN`).

## Response 403 fields (application/problem+json):

  - `type` (string)
    URI reference identifying the problem type

  - `title` (string)
    Short, human-readable summary of the problem

  - `status` (integer)
    HTTP status code

  - `code` (string)
    Machine-readable error code
    Enum: "TRANSACTION_NOT_FOUND", "TRANSACTION_INVALID_STATUS_TRANSITION", "TRANSACTION_DESTINATION_TYPE_IMMUTABLE", "FIAT_INSTRUCTION_NOT_FOUND", "FIAT_INSTRUCTION_ALREADY_EXISTS", "FIAT_INSTRUCTION_INVALID_STATUS_TRANSITION", "STABLECOIN_BANK_DETAILS_NOT_FOUND", "WALLET_NOT_FOUND", "WALLET_NOT_APPROVED", "FORBIDDEN", "UPSTREAM_UNAVAILABLE", "INVALID_REQUEST_BODY", "UNKNOWN_EXCEPTION"

## Response 404:

  - `404` (unknown)
    Resource does not exist

## Response 404 fields (application/problem+json):

  - `type` (string)
    URI reference identifying the problem type

  - `title` (string)
    Short, human-readable summary of the problem

  - `status` (integer)
    HTTP status code

  - `code` (string)
    Machine-readable error code
    Enum: "TRANSACTION_NOT_FOUND", "TRANSACTION_INVALID_STATUS_TRANSITION", "TRANSACTION_DESTINATION_TYPE_IMMUTABLE", "FIAT_INSTRUCTION_NOT_FOUND", "FIAT_INSTRUCTION_ALREADY_EXISTS", "FIAT_INSTRUCTION_INVALID_STATUS_TRANSITION", "STABLECOIN_BANK_DETAILS_NOT_FOUND", "WALLET_NOT_FOUND", "WALLET_NOT_APPROVED", "FORBIDDEN", "UPSTREAM_UNAVAILABLE", "INVALID_REQUEST_BODY", "UNKNOWN_EXCEPTION"

## Response 500:

  - `500` (unknown)
    Unexpected server error

## Response 500 fields (application/problem+json):

  - `type` (string)
    URI reference identifying the problem type

  - `title` (string)
    Short, human-readable summary of the problem

  - `status` (integer)
    HTTP status code

  - `code` (string)
    Machine-readable error code
    Enum: "TRANSACTION_NOT_FOUND", "TRANSACTION_INVALID_STATUS_TRANSITION", "TRANSACTION_DESTINATION_TYPE_IMMUTABLE", "FIAT_INSTRUCTION_NOT_FOUND", "FIAT_INSTRUCTION_ALREADY_EXISTS", "FIAT_INSTRUCTION_INVALID_STATUS_TRANSITION", "STABLECOIN_BANK_DETAILS_NOT_FOUND", "WALLET_NOT_FOUND", "WALLET_NOT_APPROVED", "FORBIDDEN", "UPSTREAM_UNAVAILABLE", "INVALID_REQUEST_BODY", "UNKNOWN_EXCEPTION"

