Treasury API

The Treasury API enables merchants and partners to seamlessly manage treasury operations, fund movements, and card issuance, all through secure and real-time API interactions. It offers a complete toolkit for embedded treasury management and financial services delivery.

With the Treasury API, users can:

  • Verify Ledger Balance and Activity
    Instantly retrieve current ledger balances and review ledger activity, card loads and card debits to ensure real-time visibility over funds.
  • Create and Manage Debit Cards
    Issue, load, debit, suspend, and reactivate virtual or physical debit cards tied to treasury accounts.
  • Get Transaction Reporting
    Access detailed transaction reports for fees, cards, transfers, and other treasury operations to support reconciliation and compliance.

The Treasury API is built for flexibility and control, empowering programs to manage funds, support cardholders, and maintain operational transparency across treasury services.

Key Features:

  • Real-time ledger balance checks and fund movement tracking
  • Debit card issuance and lifecycle management
  • Detailed treasury transaction reporting
  • Secure, scalable, and PCI-compliant treasury operations

Ledger

The Ledger is used to facilitate the movement of money on your debit cards and payouts. When pre-funding, once a deposit has been received, it is credited to your ledger and can be used to load the cards in your program. Ledger history can be viewed when logged in the dashboard. Contact your Relationship Manager for instructions on how to fund the ledger.

 

Ledger Balance

The Ledger Balance API allows merchants to retrieve the current available balance in their ledger account.

The Ledger is used to manage the movement of funds related to debit cards and payouts in the program.

Main Details

Topic Details
Purpose View the available balance in the treasury ledger.
When Used To verify funds available before loading debit cards or issuing payouts.
Ledger Activation The ledger must be set up and activated by Administration before use.
Funding the Ledger Funds must be deposited into the ledger to enable usage. Contact your Relationship Manager for funding instructions.

Endpoint Structure

  • Method: GET
  • Endpoint: /v1/treasury/ledger-balance/{ledgerUuid}

Path Parameter

Type Description
ledgerUuid String (UUID)
Unique identifier of the merchant’s ledger account. Required to retrieve balance.

Notes:

  • Only authorized users can retrieve ledger balances.
  • Ensure that the ledger has been activated by Administration before attempting API operations.
  • The available balance will reflect any deposits, withdrawals, or transfers already applied to the ledger.

Debit Cards

Create Debit Card

The Create Debit Card API allows issuing a debit card linked to a treasury account and ledger.

There are two types of debit cards that can be issued:

  • Virtual Cards: Created instantly and available for immediate use.
  • Physical Cards: Requires prior setup of the physical card program (contact administration to enable).

Rules:

  • The card must be linked to an active ledger (ledgerUuid required).
  • Only Treasury Accounts are eligible to issue debit cards.
  • Virtual card issuance is immediate. Physical cards require separate processing.

Endpoint Structure

  • Method: POST
  • Endpoint: /v1/treasury/{treasuryAccountUuid}/issue-card

Path Parameter

Type Description
treasuryAccountUuid String (UUID)
Unique identifier of the Treasury Account to which the new debit card will be issued.

Request Body Schema

Field Type Description Required?
ledgerUuid String (UUID) Unique identifier of the active ledger account that will fund the card. Required
label String Friendly name or label for the issued card (e.g., “Main Expense Card”). Optional but recommended

Notes:

  • Virtual Cards are active immediately after issuance.
  • Physical Cards require additional setup, printing, and shipping. Contact your Relationship Manager or Implementation Team to complete program setup.
  • You must provide a valid, activated ledgerUuid; otherwise, the request will fail.
  • Cards are tied directly to Treasury accounts, not to Payments accounts.

Suspend Debit Card

The Suspend/Unsuspend Debit Card API allows merchants to block (suspend) or unblock (unsuspend) a debit card associated with their Treasury Account.

Rules:

  • You can suspend or unsuspend a card.
  • You can only perform one cycle (suspend and then unsuspend or vice-versa) once per card every 24 hours.
  • Suspending a card temporarily blocks all transactions.
  • Unsuspending a card reactivates it for transactions.

Endpoint Structure

  • Method: POST
  • Endpoint: /v1/treasury/{accountUuid}/suspend-card/{cardUuid}

Path Parameter

Type Description
accountUuid String (UUID)
Unique identifier of the merchant’s Treasury Account.
cardUuid String (UUID)
Unique identifier of the debit card to suspend or unsuspend.

Request Body Schema

Field Type Description Required?
suspend Boolean true to suspend (block) the card, false to unsuspend (unblock) the card. Required

Notes:

  • You can only suspend or unsuspend once every 24 hours for a given card.
  • Suspending a card stops all purchases and withdrawals immediately.
  • Unsuspending a card restores its ability to make purchases and withdrawals.
  • Authorization header is required for all operations.

Load Debit Card

The Load Card API allows merchants to transfer funds from their treasury ledger directly onto an issued debit card.

Rules:

  • The funds must come from the ledger balance.
  • The card must already exist and be active.
  • The ledger must have sufficient funds to cover the requested load amount.

Endpoint Structure

  • Method: POST
  • Endpoint: /v1/treasury/{accountUuid}/load-card/{cardUuid}

Path Parameter

Type Description
accountUuid String (UUID)
Unique identifier of the Treasury Account that owns the ledger.
cardUuid String (UUID)
Unique identifier of the debit card to which funds will be loaded.

Request Body Schema

Field Type Description Required?
amount Number Amount to load onto the debit card. Must be greater than 0. Required
description String Optional description or reference note for the transaction. (e.g., "Monthly allowance", "Expense top-up") Optional but recommended

Notes:

  • Amount must be greater than zero; otherwise, the load request will fail.
  • The available ledger balance must be sufficient to cover the load.
  • Authorization is required (Bearer Token in the header).
  • Description helps in reconciliation but is not mandatory.

Debit From Card

The Debit from Card API allows to debit (pull back) funds from an issued debit card and return the funds to their ledger balance.

Rules:

  • Only available funds on the card can be debited.
  • Debited funds will be immediately credited back to the ledger.
  • Debit is not a refund to the customer; it is an internal transfer between the card and the ledger.

Endpoint Structure

  • Method: POST
  • Endpoint: /v1/treasury/{accountUuid}/debit-card/{cardUuid}

Path Parameter

Type Description
accountUuid String (UUID)
Unique identifier of the Treasury Account that owns the ledger and the card.
cardUuid String (UUID)
Unique identifier of the debit card from which funds will be pulled.

Request Body Schema

Field Type Description Required?
amount Number Amount to debit from the debit card. Must be greater than 0. Required
description String Optional description for the debit transaction (e.g., "Return of unused funds"). Optional but recommended

Notes:

  • Amount must be a positive value greater than zero.
  • The debit amount must not exceed the current available balance on the card.
  • Authorization is required (Bearer Token in the header).
  • Description helps in reconciliation and tracking but is not mandatory.

Reporting

Transactions

Overview - List Treasury Transactions

These requests allow you to retrieve information about:

  • All treasury transactions associated with a treasury account, or
  • A specific treasury transaction by UUID.

Rules:

  • You can filter the list of transactions using optional query parameters like dates, entry type (Debit/Credit), or transaction type.
  • Useful for reporting, auditing, reconciliation, and transaction history tracking.

Methods and Endpoints

List All Treasury Transactions

  • Method: GET
  • Endpoint: /v1/treasury/{accountUuid}/transactions

Specific Treasury Transaction

  • Method: GET
  • Endpoint: /v1/treasury/{accountUuid}/transactions/{transactionUuid}

Path Parameter

Path Parameter Type Description
accountUuid String (UUID) Unique identifier of the treasury account.
transactionUuid String (UUID) Unique identifier of the treasury transaction (for single transaction retrieval).

Query Parameters for Listing Transactions

Parameter Type Description
createdFromDate (YYYY-MM-DD)Show transactions created on this date or after.
createdToDate (YYYY-MM-DD)Show transactions created on this date or before.
entryTypeStringFilter by "Debit" or "Credit".
transactionTypeStringFilter by "ACH", "EFT", "Transfer", "Domestic Wire", "International Wire", "Debit Card", "Trade", "System".
transactionNumberIntegerFilter by specific transaction number.
transactionUuidString (UUID)Filter by specific transaction UUID.

Notes:

  • Filtering with query parameters is optional but highly recommended for performance when listing transactions.
  • If no filters are applied, all transactions for the treasury account are returned (subject to pagination if large volume).