---
updatedAt: 2026-02-09T21:05:20.000Z
agentTools:
  projectIndex: https://developer.greendot.com/embedded-finance/llms.txt
---

# 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.

<Callout icon="📘" theme="info">
  Click the links in the API titles to lead to their respective API reference with full details.
</Callout>

# Customer Profile Management Endpoints

## [Create a new customer profile in the Green Dot system.](https://developer.greendot.com/embedded-finance/reference/externalaccount_post_createcustomerprofile)

`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.

## [Update an existing customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_put_updatecustomerprofile)

`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.

## [Retrieve a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_get_getcustomerprofile)

`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 transfer limits and fee rates for a program.](https://developer.greendot.com/embedded-finance/reference/externalaccount_get_gettransferlimitsandfeerates)

`GET /programs/{programCode}/externalAccounts/transferLimitsAndFeeRates`

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

# Bank Account Link Endpoints

## [Link a bank account to a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_post_linkcustomerprofilebank)

`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.

## [Update a bank link for a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_put_updatebanklink)

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

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

## [Retrieve links for a customer profile by token and link type.](https://developer.greendot.com/embedded-finance/reference/externalaccount_get_getcardlinksbycustomertoken)

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

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

## [Delete a bank link from a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_delete_deletebanklink)

`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

## [Link a card to a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_post_linkcustomerprofilecard)

`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.

## [Update a card link for a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_put_updatecardlink)

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

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

## [Delete a card link from a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_delete_deletecardlink)

`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

## [Link a card to a source customer profile by GFT.](https://developer.greendot.com/embedded-finance/reference/externalaccount_post_linkcardtosourceprofile)

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

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

## [Retrieve card links for a source customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_get_getcardlinks)

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

Retrieve all card links associated with a source customer profile.

# Transfers Endpoints

## [Retrieve a transfer by customer token and transfer ID.](https://developer.greendot.com/embedded-finance/reference/externalaccount_get_gettransfer)

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

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

## [Search transfers by date range for a customer profile.](https://developer.greendot.com/embedded-finance/reference/externalaccount_get_searchtransfers)

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

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