Contents

GET /transfers#

Return a list of transfers initiated from the exchange.

The bank account of the exchange is determined via the base URL and/or the user name in the Authorization header. The transfer history might come from a “virtual” account, where multiple real bank accounts are merged into one history.

Since protocol v3.

Request:

Query Parameters:
  • limitOptional. At most return the given number of results. Negative for descending by row_id, positive for ascending by row_id. Defaults to -20.

  • offsetOptional. Starting row_id for pagination.

  • statusOptional. Filters by status.

Response:

200 OK:

JSON object of type TransferList.

204 No content:

There are no transfers to report (under the given filter).

400 Bad request:

Request malformed.

401 Unauthorized:

Authentication failed, likely the credentials are wrong.

404 Not found:

The endpoint is wrong or the user name is unknown.

Details:

interface TransferList {
  // Array of initiated transfers.
  transfers: TransferListStatus[];

  // Full payto:// URI to identify the sender of funds.
  // This must be one of the exchange's bank accounts.
  // Credit account is shared by all incoming transactions
  // as per the nature of the request.
  debit_account: string;
}
interface TransferListStatus {
  // Opaque ID of the wire transfer initiation performed by the bank.
  // It is different from the /history endpoints row_id.
  row_id: SafeUint64;

  // Current status of the transfer
  // pending: the transfer is in progress
  // transient_failure: the transfer has failed but may succeed later
  // permanent_failure: the transfer has failed permanently and will never appear in the outgoing history
  // success: the transfer has succeeded  and appears in the outgoing history
  status: "pending" | "transient_failure" | "permanent_failure" | "success";

  // Amount to transfer.
  amount: Amount;

  // The recipient's account identifier as a full payto:// URI.
  credit_account: string;

  // Timestamp that indicates when the wire transfer was executed.
  // In cases where the wire transfer gateway is unable to know when
  // the wire transfer will be executed, the time at which the request
  // has been received and stored will be returned.
  // The purpose of this field is for debugging (humans trying to find
  // the transaction) as well as for taxation (determining which
  // time period a transaction belongs to).
  timestamp: Timestamp;
}