---
title: "Issuers - Load or Unload Card"
method: POST
path: "/api/v1/cards/issuer/{publicToken}/transactions"
tags: ["Transactions"]
---

# Issuers - Load or Unload Card

`POST /api/v1/cards/issuer/{publicToken}/transactions`

## Request

- Base URL: `https://cardsapi-uat-pub.globalprocessing.net`
- URL: `https://cardsapi-uat-pub.globalprocessing.net/api/v1/cards/issuer/{publicToken}/transactions`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://uatists.globalprocessing.net/connect/token` scopes: `readWrite`

## Path parameters

- `publicToken` string, required

## Request body

- CreateTransactionRequest: Request received by the Create Transaction endpoint.
  - `transactionType` 'Load' | 'Unload' | 'TransferFunds' | 'BalanceAdjustment' | 'Fee', required: The type of transaction for the request. This will be either Load, Unload, Fee, TransferFunds or BalanceAdjustment.
  - `amount` number, double, required: The value corresponding to the transaction. Required, unless transactionType is Fee
  - `currencyCode` string, required: The currency of the transaction (3 letter currency code).
  - `user` string, nullable: The actor initiating the transaction request.
  - `description` string, nullable: Free text field that is populated on card statement.
  - `feeAmount` number, double, required: The value corresponding to the transactions fees. Must be a positive amount. Required when transactionType is Fee
  - `feeType` 'Undefined' | 'FundsTransferFee' | 'PINCVVServiceFee' | 'MonthlyServiceFee' | 'ReloadFromMVCFee' | 'CardConversionFee' | 'PhysicalCardIssuingFee' | 'AdministrationFee' | 'CardReplacementFee' | 'VirtualCardIssuingFee' | 'ParentCardActivationFee' | 'ChildCardActivationFee' | 'FirstLoadFromMVCFee' | 'RecurringFee', required: Fee Type associated with Fee transactions. Required, when transactionType is Fee
  - `toPublicToken` string, required: Target public token of the request. Required if transactionType is TransferFunds.

## Response `200`

Success

- CreateTransactionResponse: Response class returned by a CardsController CreateTransaction web method.
  - `transaction` TransactionDetail[], nullable: Details of the transaction(s) performed
    - `transactionType` 'Load' | 'Unload' | 'TransferFunds' | 'BalanceAdjustment' | 'Fee': The type of transaction that was performed.
    - `transactionId` integer: ID of the Transaction.
    - `amount` number, double: Transaction amount.
    - `currencyCode` string, nullable: 3-letter currency code - same value as in the request.
    - `publicToken` string, nullable: Public token to which transaction has been recorded against
  - `balance` BalanceResponse: Card balance.
    - `currencyCode` string, nullable: Currency code (3-letter format)
    - `cardBalance` number, double: Actual balance of the Card (including blocked amount)
    - `pendingAmount` number, double: Blocked Amount (i.e. part of available balance which cannot be used)
    - `availableBalance` number, double: Available Balance

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found
- `422`: Client Error
- `500`: Server Error

## Changes

- **2026-11-03** `a5b5e4fdcf41`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/thredd/apis/core-cards/changes/api/v1/cards/issuer/:publicToken/transactions/post.md)

---

[API](https://skmtc.dev/thredd/apis/core-cards.md) - [All operations](https://skmtc.dev/thredd/apis/core-cards/llms.txt) - [OpenAPI document](https://skmtc.dev/thredd/apis/core-cards/revisions/a5b5e4fdcf41?raw)
