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

# Create transfer

> Transfers funds using an external card.

POST/v3/moneymovement/transfers

Transfers funds using an external card.

## Request body

| Fields | Description |
| - | - |
| token string  Optional | Unique identifier for the transfer to be created. **Allowable Values:**  36 char max |
| transfer\_type string  Required | Type of transfer to perform. **Allowable Values:**  `CARD_PULL`, `CARD_PUSH`, `CARD_DISBURSEMENT` |
| card\_token string  Required | Unique identifier of the external card involved in the transfer. **Allowable Values:**  Existing card token |
| source\_user\_token string  Optional | Unique identifier of the user requesting the transfer. Optional for `CARD_PUSH` transfer type. Don't include both `source_user_token` and `source_business_token` in the same request. **Allowable Values:**  Valid user token |
| source\_business\_token string  Optional | Unique identifier of the business requesting the transfer. Optional for `CARD_PUSH` transfer type. Don't include both `source_user_token` and `source_business_token` in the same request. **Allowable Values:**  Valid business token |
| destination\_user\_token string  Optional | Unique identifier of the user to whom the transfer is being sent. Optional for `CARD_PULL` transfer type. Don't include both `destination_user_token` and `destination_business_token` in the same request. **Allowable Values:**  Valid user token |
| destination\_business\_token string  Optional | Unique identifier of the business to which the transfer is being sent. Optional for `CARD_PULL` transfer type. Don't include both `destination_user_token` and `destination_business_token` in the same request. **Allowable Values:**  Valid business token |
| amount decimal  Required | Amount of transfer. **Allowable Values:**  Any number between 1 and 1000000000 |
| currency string  Required | A valid three-digit [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html). **Allowable Values:**  3 chars |
| statement\_descriptor string  Optional | Description of the transaction, as it will appear on the recipient's bank statement. **Allowable Values:**  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 string  Conditionally returned | Unique identifier of the transfer. **Allowable Values:**  36 char max |
| transfer\_type string  Conditionally returned | Type of transfer to perform. **Allowable Values:**  `CARD_PULL`, `CARD_PUSH`, `CARD_DISBURSEMENT` |
| card\_token string  Conditionally returned | Unique identifier of the external card involved in the transfer. **Allowable Values:**  36 char max |
| source\_user\_token string  Conditionally returned | User token that is the source for the transfer. **Allowable Values:**  36 char max |
| source\_business\_token string  Conditionally returned | Business token that is the source for the transfer. **Allowable Values:**  36 char max |
| destination\_user\_token string  Conditionally returned | User token that is the destination for the transfer. **Allowable Values:**  36 char max |
| destination\_business\_token string  Conditionally returned | Business token that is the destination for the transfer. **Allowable Values:**  36 char max |
| amount decimal  Conditionally returned | Amount of the transfer. **Allowable Values:**  Any number between 0.01 and 1000000000 |
| currency string  Conditionally returned | Currency of the transfer. **Allowable Values:**  A valid three-digit [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) |
| statement\_descriptor string  Conditionally returned | Description of the transaction, as it will appear on the recipient's bank statement. **Allowable Values:**  22 char max |
| status string  Conditionally returned | Processing state of the transaction. **Allowable Values:**  `CHARGEBACK`, `COMPLETE`, `PENDING`, `REJECTED` |
| created\_time datetime  Conditionally returned | Date and time when the transfer was created, in UTC. **Allowable Values:**  Format: `yyyy-MM-ddThh:mm:ssZ` |
| last\_modified\_time datetime  Conditionally returned | Date and time when the transfer was updated, in UTC. **Allowable Values:**  Format: `yyyy-MM-ddThh:mm:ssZ` |

***


## Related topics

- [Transfers Overview](https://www.marqeta.com/docs/core-api/digital-banking-transfers.md)
- [Instant Card Transfers](https://www.marqeta.com/docs/developer-guides/instant-card-transfers.md)
- [Create program transfer](https://www.marqeta.com/docs/core-api/program-transfers/create-program-transfer.md)
- [Create ACH transfer](https://www.marqeta.com/docs/core-api/funding-via-ach/create-ach-transfer.md)
- [Create program transfer type](https://www.marqeta.com/docs/core-api/program-transfers/program-transfer-types/create-type.md)
