> ## Documentation Index
> Fetch the complete documentation index at: https://www.marqeta.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Transfers

> Use the transfers endpoints to create and manage fund transfers over card rails.

export const EndpointCard = ({method = "API", title, children, href, arrow = true}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-green-400/20 dark:mint-bg-green-400/20",
      text: "mint-text-green-700 dark:mint-text-green-400",
      border: "mint-border-green-300 dark:mint-border-green-700"
    },
    POST: {
      bg: "mint-bg-blue-400/20 dark:mint-bg-blue-400/20",
      text: "mint-text-blue-700 dark:mint-text-blue-400"
    },
    PUT: {
      bg: "mint-bg-yellow-400/20 dark:mint-bg-yellow-400/20",
      text: "mint-text-yellow-700 dark:mint-text-yellow-400"
    },
    PATCH: {
      bg: "mint-bg-orange-400/20 dark:mint-bg-orange-400/20",
      text: "mint-text-orange-700 dark:mint-text-orange-400"
    },
    DELETE: {
      bg: "mint-bg-red-400/20 dark:mint-bg-red-400/20",
      text: "mint-text-red-700 dark:mint-text-red-400"
    },
    API: {
      bg: "mint-bg-black",
      text: "mint-text-white"
    }
  };
  const MethodBadge = ({method}) => {
    const style = METHOD_STYLES[method?.toUpperCase()] ?? METHOD_STYLES.GET;
    return <span className={`
          method-pill rounded-lg font-semibold px-1.5 py-0.5 text-xs leading-5 ${style.bg} ${style.text}`}>
        {method?.toUpperCase()}
      </span>;
  };
  const content = <div className="group flex items-center gap-4 border border-gray-200 dark:border-gray-700 rounded-xl p-5 hover:border-gray-400 dark:hover:border-gray-500 hover:shadow-md transition-all cursor-pointer">
      {}
      <div className="shrink-0">
        <MethodBadge method={method} />
      </div>
      {}
      <div className="flex-1 min-w-0">
        <p className="font-semibold text-gray-900 dark:text-white text-sm leading-snug">{title}</p>
        {children && <p className="mt-1 text-sm text-gray-500 dark:text-gray-400 line-clamp-2">{children}</p>}
      </div>
    </div>;
  if (!href) return content;
  return <a href={href} className="block no-underline border-b-0 mb-2">
      {content}
    </a>;
};

***

<h2 id="createTransfer">
  Create transfer
</h2>

**Action:** `POST`
**Endpoint:** `/v3/moneymovement/transfers`

Transfers funds using an external card.

### Request body

| Fields                                                      | Description                                                                                                                                         |
| ----------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| token<br /><br />string<br /><br />Optional                 | Unique identifier for the transfer to be created.<br /><br />**Allowable Values:**<br /><br />36 char max                                           |
| transfer\_type<br /><br />string<br /><br />Required        | Type of transfer to perform.<br /><br />**Allowable Values:**<br /><br />`CARD_PULL`, `CARD_PUSH`, `CARD_DISBURSEMENT`                              |
| card\_token<br /><br />string<br /><br />Required           | Unique identifier of the external card involved in the transfer.<br /><br />**Allowable Values:**<br /><br />Existing card token                    |
| amount<br /><br />decimal<br /><br />Required               | Amount of transfer.<br /><br />**Allowable Values:**<br /><br />Any number between 1 and 1000000000                                                 |
| currency<br /><br />string<br /><br />Required              | A valid three-digit [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html).<br /><br />**Allowable Values:**<br /><br />3 chars |
| statement\_descriptor<br /><br />string<br /><br />Optional | Description of the transaction, as it will appear on the recipient's bank statement.<br /><br />**Allowable Values:**<br /><br />22 char max        |

### Sample request body

Card push transfer with user token

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_PUSH",
  "card_token": "ext_card_12345",
  "source_user_token": "user_67890",
  "amount": 100.5,
  "currency": "USD",
  "statement_descriptor": "GROCERY STORE"
}
```

Card push transfer with business token

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_PUSH",
  "card_token": "ext_card_12345",
  "source_business_token": "business_67890",
  "amount": 250,
  "currency": "USD",
  "statement_descriptor": "ACME CORP PAYROLL"
}
```

Card push transfer without tokens (for cards with an associated account)

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_PUSH",
  "card_token": "ext_card_12345",
  "amount": 150,
  "currency": "USD",
  "statement_descriptor": "COFFEE SHOP"
}
```

Card pull transfer with user token

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_PULL",
  "card_token": "ext_card_12345",
  "destination_user_token": "user_67890",
  "amount": 75.25,
  "currency": "USD",
  "statement_descriptor": "WALLET FUNDING"
}
```

Card pull transfer with business token

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_PULL",
  "card_token": "ext_card_12345",
  "destination_business_token": "business_67890",
  "amount": 500,
  "currency": "USD",
  "statement_descriptor": "VENDOR PAYMENT"
}
```

Card pull transfer without tokens (for cards with an associated account)

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_PULL",
  "card_token": "ext_card_12345",
  "amount": 200,
  "currency": "USD",
  "statement_descriptor": "GAS STATION"
}
```

Card disbursement transfer

```json JSON lines wrap theme={null}
{
  "transfer_type": "CARD_DISBURSEMENT",
  "card_token": "ext_card_12345",
  "amount": 1000,
  "currency": "USD",
  "statement_descriptor": "CASHBACK REWARD"
}
```

### Response body

| Fields                                                                           | Description                                                                                                                                                          |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| token<br /><br />string<br /><br />Conditionally returned                        | Unique identifier of the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                                           |
| transfer\_type<br /><br />string<br /><br />Conditionally returned               | Type of transfer to perform.<br /><br />**Allowable Values:**<br /><br />`CARD_PULL`, `CARD_PUSH`, `CARD_DISBURSEMENT`                                               |
| card\_token<br /><br />string<br /><br />Conditionally returned                  | Unique identifier of the external card involved in the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                             |
| source\_user\_token<br /><br />string<br /><br />Conditionally returned          | User token that is the source for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                              |
| source\_business\_token<br /><br />string<br /><br />Conditionally returned      | Business token that is the source for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                          |
| destination\_user\_token<br /><br />string<br /><br />Conditionally returned     | User token that is the destination for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                         |
| destination\_business\_token<br /><br />string<br /><br />Conditionally returned | Business token that is the destination for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                     |
| amount<br /><br />decimal<br /><br />Conditionally returned                      | Amount of the transfer.<br /><br />**Allowable Values:**<br /><br />Any number between 1 and 1000000000                                                              |
| currency<br /><br />string<br /><br />Conditionally returned                     | Currency of the transfer.<br /><br />**Allowable Values:**<br /><br />A valid three-digit [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) |
| statement\_descriptor<br /><br />string<br /><br />Conditionally returned        | Description of the transaction, as it will appear on the recipient's bank statement.<br /><br />**Allowable Values:**<br /><br />22 char max                         |
| status<br /><br />string<br /><br />Conditionally returned                       | Processing state of the transaction.<br /><br />**Allowable Values:**<br /><br />`COMPLETE`                                                                          |
| created\_time<br /><br />datetime<br /><br />Conditionally returned              | Date and time when the transfer was created, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `yyyy-MM-ddThh:mm:ssZ`                                      |
| last\_modified\_time<br /><br />datetime<br /><br />Conditionally returned       | Date and time when the transfer was updated, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `yyyy-MM-ddThh:mm:ssZ`                                      |

***

<h2 id="getAccountholderTransfers">
  List transfers for an account holder
</h2>

**Action:** `GET`
**Endpoint:** `/v3/moneymovement/transfers/accountholders/{account_holder_token}`

Returns a paginated list of transfers for a specific account holder.

### URL path parameters

| Fields                                                       | Description                                                                                                                        |
| ------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------- |
| account\_holder\_token<br /><br />string<br /><br />Required | Unique identifier of the account holder (user or business).<br /><br />**Allowable Values:**<br /><br />Valid account holder token |

### URL query parameters

| Fields                                              | Description                                                                                                     |
| --------------------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| count<br /><br />integer<br /><br />Optional        | Number of transfers to return.<br /><br />**Allowable Values:**<br /><br />1–50                                 |
| start\_index<br /><br />integer<br /><br />Optional | Sort order index of the first resource in the returned array.<br /><br />**Allowable Values:**<br /><br />0 min |

### Response body

| Fields                                                                                       | Description                                                                                                                                                          |
| -------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| count<br /><br />integer<br /><br />Conditionally returned                                   | Number of transfer resources to retrieve.<br /><br />**Allowable Values:**<br /><br />1-10                                                                           |
| start\_index<br /><br />integer<br /><br />Conditionally returned                            | Sort order index of the first resource in the returned array.<br /><br />**Allowable Values:**<br /><br />Any integer                                                |
| end\_index<br /><br />integer<br /><br />Conditionally returned                              | Sort order index of the last resource in the returned array.<br /><br />**Allowable Values:**<br /><br />Any integer                                                 |
| is\_more<br /><br />boolean<br /><br />Conditionally returned                                | A value of `true` indicates that more unreturned resources exist.<br /><br />**Allowable Values:**<br /><br />`true`, `false`                                        |
| data<br /><br />array of objects<br /><br />Conditionally returned                           | Array of transfer objects.<br /><br />**Allowable Values:**<br /><br />Valid array of transfer objects                                                               |
| data\[].**token**<br /><br />string<br /><br />Conditionally returned                        | Unique identifier of the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                                           |
| data\[].**transfer\_type**<br /><br />string<br /><br />Conditionally returned               | Type of transfer to perform.<br /><br />**Allowable Values:**<br /><br />`CARD_PULL`, `CARD_PUSH`, `CARD_DISBURSEMENT`                                               |
| data\[].**card\_token**<br /><br />string<br /><br />Conditionally returned                  | Unique identifier of the external card involved in the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                             |
| data\[].**source\_user\_token**<br /><br />string<br /><br />Conditionally returned          | User token that is the source for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                              |
| data\[].**source\_business\_token**<br /><br />string<br /><br />Conditionally returned      | Business token that is the source for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                          |
| data\[].**destination\_user\_token**<br /><br />string<br /><br />Conditionally returned     | User token that is the destination for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                         |
| data\[].**destination\_business\_token**<br /><br />string<br /><br />Conditionally returned | Business token that is the destination for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                     |
| data\[].**amount**<br /><br />decimal<br /><br />Conditionally returned                      | Amount of the transfer.<br /><br />**Allowable Values:**<br /><br />Any number between 1 and 1000000000                                                              |
| data\[].**currency**<br /><br />string<br /><br />Conditionally returned                     | Currency of the transfer.<br /><br />**Allowable Values:**<br /><br />A valid three-digit [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) |
| data\[].**statement\_descriptor**<br /><br />string<br /><br />Conditionally returned        | Description of the transaction, as it will appear on the recipient's bank statement.<br /><br />**Allowable Values:**<br /><br />22 char max                         |
| data\[].**status**<br /><br />string<br /><br />Conditionally returned                       | Processing state of the transaction.<br /><br />**Allowable Values:**<br /><br />`COMPLETE`                                                                          |
| data\[].**created\_time**<br /><br />datetime<br /><br />Conditionally returned              | Date and time when the transfer was created, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `yyyy-MM-ddThh:mm:ssZ`                                      |
| data\[].**last\_modified\_time**<br /><br />datetime<br /><br />Conditionally returned       | Date and time when the transfer was updated, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `yyyy-MM-ddThh:mm:ssZ`                                      |

***

<h2 id="getTransfer">
  Retrieve transfer
</h2>

**Action:** `GET`
**Endpoint:** `/v3/moneymovement/transfers/{token}`

Retrieves a transfer using the specified transfer token.

### URL path parameters

| Fields                                      | Description                                                                                                                                           |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| token<br /><br />string<br /><br />Required | Transfer token that was returned by `POST /transfers` when the transfer was created.<br /><br />**Allowable Values:**<br /><br />Valid transfer token |

### Response body

| Fields                                                                           | Description                                                                                                                                                          |
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| token<br /><br />string<br /><br />Conditionally returned                        | Unique identifier of the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                                           |
| transfer\_type<br /><br />string<br /><br />Conditionally returned               | Type of transfer to perform.<br /><br />**Allowable Values:**<br /><br />`CARD_PULL`, `CARD_PUSH`, `CARD_DISBURSEMENT`                                               |
| card\_token<br /><br />string<br /><br />Conditionally returned                  | Unique identifier of the external card involved in the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                             |
| source\_user\_token<br /><br />string<br /><br />Conditionally returned          | User token that is the source for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                              |
| source\_business\_token<br /><br />string<br /><br />Conditionally returned      | Business token that is the source for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                          |
| destination\_user\_token<br /><br />string<br /><br />Conditionally returned     | User token that is the destination for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                         |
| destination\_business\_token<br /><br />string<br /><br />Conditionally returned | Business token that is the destination for the transfer.<br /><br />**Allowable Values:**<br /><br />36 char max                                                     |
| amount<br /><br />decimal<br /><br />Conditionally returned                      | Amount of the transfer.<br /><br />**Allowable Values:**<br /><br />Any number between 1 and 1000000000                                                              |
| currency<br /><br />string<br /><br />Conditionally returned                     | Currency of the transfer.<br /><br />**Allowable Values:**<br /><br />A valid three-digit [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) |
| statement\_descriptor<br /><br />string<br /><br />Conditionally returned        | Description of the transaction, as it will appear on the recipient's bank statement.<br /><br />**Allowable Values:**<br /><br />22 char max                         |
| status<br /><br />string<br /><br />Conditionally returned                       | Processing state of the transaction.<br /><br />**Allowable Values:**<br /><br />`COMPLETE`                                                                          |
| created\_time<br /><br />datetime<br /><br />Conditionally returned              | Date and time when the transfer was created, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `yyyy-MM-ddThh:mm:ssZ`                                      |
| last\_modified\_time<br /><br />datetime<br /><br />Conditionally returned       | Date and time when the transfer was updated, in UTC.<br /><br />**Allowable Values:**<br /><br />Format: `yyyy-MM-ddThh:mm:ssZ`                                      |
