---
title: "Create GFT (Global Fund Transfer)"
method: POST
path: "/programs/{programCode}/transfers/gft"
tags: ["Transfers"]
---

# Create GFT (Global Fund Transfer)

`POST /programs/{programCode}/transfers/gft`

Creates a global fund transfer (GFT) from a partner to a user. Supports B2C, A2A, and partner account transfers. Returns the created transfer details.

## Path parameters

- `programCode` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- GFTTransferRequest — Represents a request to initiate a Green Dot Funds Transfer (GFT) operation. Contains all required and optional information for processing a GFT transfer, including transfer identifiers, type, initiator, route details, and fraud data. Supports various transfer types such as debit card transfers, B2C disbursements, partner account transfers, and account-to-account transfers. Used to submit a new transfer request through the Transfers API, providing routing, fee, and verification details as needed. Inherits standard request metadata from Gd.Bos.DataTransfer.Request.RequestBase.
  - `transferId` string, nullable — Required. If the transaction is initiated through the Transfers API, the transferIdentifier that uniquely identifies the initiating transfer is included.
  - `transferType` string, nullable — Required. The type of GFT transfer. Use TransferType A2AOut for Debit Card transfers. Use TransferType DisbursementExternal for B2C Disbursements. Use TransferType PartnerA2A for partner account to account transfers. Use TransferType A2A for account to account transfers.
  - `initiator` string, nullable — The identifier of the entity or user initiating the transfer.
  - `transferRoute` TransferRouteGFT — Represents the routing and endpoint details for a Green Dot Funds Transfer (GFT) operation. Contains the transaction amount, description, fee override options, partner reference data, and both source and target endpoints for the transfer. Used within Gd.Bos.DataTransfer.Request.GFTTransferRequest to specify how and where funds should be moved, as well as any fee or partner-specific overrides for the transaction.
    - `transactionAmount` number, double — The amount to be transferred in the transaction.
    - `transactionDescription` string, nullable — An optional description for the transaction, such as the purpose or reference for the transfer.
    - `waiveFee` boolean, nullable — Optional. Flag to specify whether to waive all calculated fees for this transfer request.
    - `feeDefinitionOverride` FeeDefinitionOverrideGFT — Represents override values for fee calculations in a Green Dot Funds Transfer (GFT) operation. Allows custom specification of fixed, percentage, minimum, and maximum fee amounts for a transfer, enabling dynamic adjustment of fees based on business rules or partner agreements. Used within Gd.Bos.DataTransfer.Request.TransferRouteGFT to override default fee definitions for a specific transfer request.
      - `fixedFeeAmount` number, double, nullable — Optional: Amount used to override the fixed fee for the transfer.
      - `percentageFeeAmount` number, double, nullable — Optional. Amount used to override the percentage-based fee for the transfer.
      - `minFeeAmount` number, double, nullable — Optional. Amount used to override the minimum fee during fee calculations involving percentage amounts.
      - `maxFeeAmount` number, double, nullable — Optional: Amount used to override the maximum fee during fee calculations involving percentage amounts.
    - `partnerReferenceData` string, nullable — Optional. Partner-specific reference data for the transfer.
    - `sourceTransferEndPoint` TransferEndpointGFT — Represents the endpoint details for a Green Dot Funds Transfer (GFT) operation. Contains information about the endpoint type, unique identifier, currency, and optional handle data for the source or target of the transfer. Used within Gd.Bos.DataTransfer.Request.TransferRouteGFT to specify the source or destination account or entity for the transfer.
      - `transferEndPointType` string, nullable — The type of transfer endpoint (e.g., "account", "card", "external"). Specifies the nature of the source or target for the transfer.
      - `identifier` string, nullable — The unique identifier for the endpoint, such as an account number, card number, or external reference.
      - `currency` string, nullable — The ISO 4217 currency code for the transfer (e.g., "USD").
      - `eCommTransactionIndicator` string, nullable — Optional. E-commerce transaction identifier for tracking online transactions.
      - `encryptedCardAuthenticationData` EncryptedCardAuthenticationData — Represents encrypted data that is specifically used for card authentication.
        - `version` string, nullable — The version of the encryption algorithm used to encrypt the data (e.g., "v1", "v2").
        - `ephemeralPublicKey` string, nullable — The ephemeral public key used in the encryption process, typically for key exchange or session establishment.
        - `publicKeyHash` string, nullable — The hash of the public key used to verify the integrity and authenticity of the encryption key.
        - `data` string, nullable — The encrypted data payload, typically base64-encoded, containing the sensitive information.
    - `targetTransferEndPoint` TransferEndpointGFT — Represents the endpoint details for a Green Dot Funds Transfer (GFT) operation. Contains information about the endpoint type, unique identifier, currency, and optional handle data for the source or target of the transfer. Used within Gd.Bos.DataTransfer.Request.TransferRouteGFT to specify the source or destination account or entity for the transfer.
      - `transferEndPointType` string, nullable — The type of transfer endpoint (e.g., "account", "card", "external"). Specifies the nature of the source or target for the transfer.
      - `identifier` string, nullable — The unique identifier for the endpoint, such as an account number, card number, or external reference.
      - `currency` string, nullable — The ISO 4217 currency code for the transfer (e.g., "USD").
      - `eCommTransactionIndicator` string, nullable — Optional. E-commerce transaction identifier for tracking online transactions.
      - `encryptedCardAuthenticationData` EncryptedCardAuthenticationData — Represents encrypted data that is specifically used for card authentication.
        - `version` string, nullable — The version of the encryption algorithm used to encrypt the data (e.g., "v1", "v2").
        - `ephemeralPublicKey` string, nullable — The ephemeral public key used in the encryption process, typically for key exchange or session establishment.
        - `publicKeyHash` string, nullable — The hash of the public key used to verify the integrity and authenticity of the encryption key.
        - `data` string, nullable — The encrypted data payload, typically base64-encoded, containing the sensitive information.
  - `accountHolderIdentifier` string, nullable — Optional. Account Holder Identifier for Forter verification.
  - `fraudData` object, nullable — Optional. Fraud data for Forter verification.

## Response `201`

Created

- GetTransferResponse — Represents the response returned when retrieving details of a Green Dot Funds Transfer (GFT) operation. Contains comprehensive information about the transfer, including status, amounts, processor/network details, and any associated network response codes. Inherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase.
  - `transfer` GftTransfer — Represents the details of a Green Dot Funds Transfer (GFT) operation. Contains comprehensive information about the transfer, including identifiers, status, transaction and fee amounts, processor and network details, and a breakdown of applied fees. Used in transfer-related responses to provide a complete view of the transfer's outcome, financials, and processing context.
    - `transferId` string, nullable — The unique identifier for the transfer.
    - `transferStatus` string, nullable — The current status of the transfer (e.g., "pending", "completed", "failed").
    - `transferStatusReason` string, nullable — The reason for the current transfer status, if applicable.
    - `externalReferenceId` string, nullable — The external reference identifier for the transfer, if provided by an external system. This property is not serialized in the response payload.
    - `transactionDate` string, date-time, nullable — The date and time when the transaction was processed.
    - `currency` string, nullable — The ISO 4217 currency code for the transfer (e.g., "USD").
    - `transactionAmount` number, double, nullable — The amount involved in the transfer.
    - `totalFeeAmount` number, double, nullable — The total amount of fees applied to the transfer.
    - `totalTransactionAmount` number, double — The total transaction amount, including fees.
    - `feeDetails` FeeDetailModel[], nullable — A collection of fee details applied to the transfer, including type and amount for each fee.
      - `feeType` string, nullable — The type of fee (e.g., "service", "processing", "network").
      - `feeAmount` number, double — The monetary amount of the fee.
    - `totalTransactionNetAmount` number, double, nullable — The net amount of the transaction after deducting fees.
    - `processor` string, nullable — The name or code of the payment processor that handled the transfer.
    - `network` string, nullable — The name or code of the payment network used for the transfer.
  - `transferNetworkResponse` TransferNetworkResponse — Represents the network response details for a Green Dot Funds Transfer (GFT) operation. Contains information about the payment processor and network status, including processor code, network status code, and a human-readable status description. Used to provide additional context about the outcome of a transfer as reported by external payment networks or processors.
    - `processorCode` string, nullable — The code returned by the payment processor for the transfer.
    - `networkStatusCode` string, nullable — The status code returned by the payment network.
    - `networkStatusDescription` string, nullable — A human-readable description of the network status.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/versions/666553766b78/schema)
