External Accounts

External Accounts Overview

The External Accounts APIs manage customer profiles, linked financial accounts (banks/cards), and transfer operations within the Green Dot ecosystem. It supports secure data handling via encryption, enforces authorization for updates, and enables retrieval of transfer limits, links, and transaction details.

External accounts API allows partners access to some money movement capabilities for an end customer without the need for creating or enrolling them into a Green Dot account first. This allows partners who want to use Green Dot services but have customers who don't need a Green Dot account - they can still use those services via the below APIs.

Customer doesn't have a BaaS account - a BaaS Partner's customer who doesn't have a BaaS Account at Green Dot. Want to provide a service to their customers without a BaaS Account. Can work on language for this but is used by seeveral partners. Don't have any interest in being a Green Dot customer. Services offered by Green Dot still though.


Key Implementation Notes

  • All sensitive profile, bank, and card data is exchanged in encrypted form.
  • Updates and deletions require prior authorization and a valid customerToken or linkId.
  • Verification is mandatory after customer creation before transactions can occur.

Customer Profile Management Endpoints

POST /programs/{programCode}/externalAccounts/customers

This API creates a customer profile. Afterwards, the customer must go through Green Dot's verification process before initiating any further API calls.

PUT /programs/{programCode}/externalAccounts/customers/{customerToken}

Update an existing customer profile with encrypted data. The customer profile must exist and the request must be authorized.

GET /{programCode}/externalAccounts/customers/{customerToken}

Retrieve the details of a customer profile by customer token. Returns encrypted customer profile data.

Transfer Limits & Fees Endpoints

GET /programs/{programCode}/externalAccounts/transferLimitsAndFeeRates

Retrieve the transfer limits and fee rates for a specific program and transfer type.

Bank Account Link Endpoints

POST /programs/{programCode}/externalAccounts/customers/{customerToken}/banks

Link a bank account to a customer profile using encrypted data. The bank account will be associated with the customer for future transfers.

PUT /programs/{programCode}/externalAccounts/customers/{customerToken}/banks/{linkId}

Update the details of a linked bank account for a customer profile.

GET /programs/{programCode}/externalAccounts/customers/{customerToken}/links

Retrieve all links (cards or banks) for a customer profile, optionally filtered by link type.

DELETE /programs/{programCode}/externalAccounts/customers/{customerToken}/banks/{linkId}

Delete a linked bank account from a customer profile. The bank link will be removed and cannot be used for future transfers.

Card Link (Customer Profiles) Endpoints

POST /programs/{programCode}/externalAccounts/customers/{customerToken}/cards

Links a card to a customer profile using encrypted data. The card will be associated with the customer for future transfers.

PUT /programs/{programCode}/externalAccounts/customers/{customerToken}/cards/{linkId}

Update the details of a linked card for a customer profile.

DELETE /programs/{programCode}/externalAccounts/customers/{customerToken}/cards/{linkId}

Delete a linked card from a customer profile. The card link will be removed and cannot be used for future transfers.

Source Customer Profile Link (Global Fund Transfer) Endpoints

POST /programs/{programCode}/externalAccounts/sourceCustomers/{customerToken}/links

Link a card to a source customer profile for global fund transfer operations.

GET /programs/{programCode}/externalAccounts/sourceCustomers/{customerToken}/links

Retrieve all card links associated with a source customer profile.

Transfers Endpoints

GET /{programCode}/externalAccounts/customers/{customerToken}/transfers/{transferId}

Retrieve the details of a specific transfer for a customer profile using the transfer ID.

GET /programs/{programCode}/externalAccounts/customers/{customerToken}/transfers

Search for transfers associated with a customer profile within a specified date range and pagination.