# List fiat instructions

Returns a paginated list of your fiat instructions, both buy (CRYPTO destination) and
redemption (FIAT destination). Deleted instructions are excluded.

bankDetails is identical on every instruction in the page - it is resolved from your
account, not from the instruction row.

Endpoint: GET /v1/stablecoin/fiat-instructions
Version: 1.0.0
Security: oauth2

## Query parameters:

  - `page` (integer)
    Page number, 0-indexed (default 0)

  - `size` (integer)
    Page size (default 20)

  - `sort` (string)
    Sort field and direction (default createdAt,desc).

## Response 200 fields (application/json):

  - `content` (array)

  - `content.id` (string, required)
    Instruction identifier. You supply it in the PUT path for a buy instruction; Ripple
generates it for a redemption instruction.

  - `content.memo` (string, required)
    Routing memo that correlates a fiat payment back to this instruction - quote it verbatim
in the payment's reference field so the funds can be attributed. Assigned by Ripple and
globally unique: RL followed by 14 Crockford base32 characters, 16 in total. Crockford
base32 excludes I, L, O and U to avoid transcription ambiguity.
    Example: "RL7Q3K9ZP2MTX4VB"

  - `content.currency` (string,null)
    ISO-4217 fiat currency code. Always present on a buy instruction. May be absent on a
redemption instruction whose originating fiat payment carries no currency.
    Example: "USD"

  - `content.destination` (object, required)
    Where the RLUSD goes once the instruction is claimed.

  - `content.destination.type` (string, required)
    CRYPTO for a buy instruction - the RLUSD is minted to one of your wallets. FIAT only
ever appears on a redemption instruction, which Ripple creates for you and which cannot
be created through this API.
    Enum: "CRYPTO", "FIAT"

  - `content.destination.walletRipId` (string,null)
    Destination wallet ripId (e.g. RIP0000001). Required when type is CRYPTO;
absent when type is FIAT. Resolve valid ids with
[List wallets](#operation/listWallets).
    Example: "RIP0000001"

  - `content.status` (string, required)
    Lifecycle status. A new instruction is UNUSED and never expires; it becomes USED when
its fiat payment claims it, or CANCELED when Ripple cancels the payment behind it. Both
are terminal.

DELETED exists on the underlying record but is never served: the reads exclude deleted
instructions outright, so a deleted instruction returns
404 FIAT_INSTRUCTION_NOT_FOUND rather than a DELETED status.
    Enum: "UNUSED", "USED", "DELETED", "CANCELED"

  - `content.createdAt` (string, required)
    Timestamp when the instruction was created

  - `content.bankDetails` (object)
    The Ripple bank account to wire the fiat to. Resolved from the default bank account
registered against your stablecoin product, so it is the same on every instruction
rather than unique to one.

Absent when your account has no active default bank account on file, when that account
is not yet linked to a Ripple receiving bank, or when the details could not be
retrieved. The instruction and its memo are returned either way, so treat the field as
optional. [Get bank details](#operation/getFiatBankDetails) serves the same object on
its own and, unlike this field, reports why it is unavailable.

  - `content.bankDetails.bankName` (string, required)
    Name of the bank holding the account. May be an empty string.
    Example: "ABC Bank"

  - `content.bankDetails.accountName` (string, required)
    Name the account is held under - the Ripple legal entity you are paying. May be an empty
string.
    Example: "RIPPLE LABS CAYMAN LTD."

  - `content.bankDetails.accountNumber` (string)
    Account number to wire to.
    Example: "000000"

  - `content.bankDetails.iban` (string)
    IBAN to wire to, for accounts identified that way.

  - `content.bankDetails.swiftBicCode` (string)
    Example: "ABCBUS33XXX"

  - `content.bankDetails.routingNumber` (string)
    Example: "0000"

  - `content.bankDetails.reference` (string)
    Reference Ripple wants quoted on transfers to this account. Distinct from the
instruction's memo, which is what actually attributes the payment - send both.

  - `content.bankDetails.bankAddress` (object)
    Postal address of the bank account.

  - `content.bankDetails.bankAddress.street` (string)
    Street address. Where the bank's address is recorded over two lines, both are returned
here joined by , .
    Example: "1 Example Street"

  - `content.bankDetails.bankAddress.city` (string)
    Example: "Singapore"

  - `content.bankDetails.bankAddress.state` (string)
    State, province or region.
    Example: "Singapore"

  - `content.bankDetails.bankAddress.zipCode` (string)
    Example: "000000"

  - `content.bankDetails.bankAddress.country` (string)
    Example: "Singapore"

  - `totalElements` (integer)
    Total number of matching instructions

  - `totalPages` (integer)

  - `size` (integer)

  - `number` (integer)
    Current page number (0-indexed)

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


