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

# Fee Charges

> Use the fee charges endpoint to moves funds from an account holder's general purpose account to your program's fee account.

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>;
};

A fee charge moves funds from the general purpose account (GPA) of an account holder to your program’s fee account. The charge amount is determined by the fee that is assessed. The request returns an error if the GPA has insufficient funds to cover the fee. This behavior contrasts with assessing a fee using the `/gpaorders` endpoint, in which case the amount of the fee is loaded into the GPA from the funding source before the GPA is debited.

<h2 id="post_fee_charge">
  Create fee charge
</h2>

**Action:** `POST`\
**Endpoint:** `/feecharges`

{/* <EndpointCard
title="Create fee charge"
path="/feecharges"
method="post"
/> */}

Use this endpoint to create a fee charge. You must pass in either `user_token` or `business_token` to associate a user or business with the fee charge.

This is an all-or-nothing operation. When more than one fee is present, you must assess either all fees, or no fees.

<h3 id="_request_body">
  Request body
</h3>

| Fields                                                            | Description                                                                                                                                                                                                                                                                                                                                                                           |
| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| business\_token<br /><br />string<br /><br />Required             | Specifies the business account holder to which the fee applies.<br /><br />Pass either `business_token` or `user_token`, not both.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                                                                                             |
| fees<br /><br />array of objects<br /><br />Optional              | Contains attributes that define characteristics of one or more fees.<br /><br />**Allowable Values:**<br /><br />An array of one or more `fee_model` objects                                                                                                                                                                                                                          |
| fees\[].**memo**<br /><br />string<br /><br />Optional            | Additional text describing the fee.<br /><br />**Allowable Values:**<br /><br />1–255 chars                                                                                                                                                                                                                                                                                           |
| fees\[].**overrideAmount**<br /><br />decimal<br /><br />Optional | Dynamic fee amount that overrides the `fee.amount` field value.<br /><br />**Allowable Values:**<br /><br />decimal<br /><br />**Format:**<br />0.00                                                                                                                                                                                                                                  |
| fees\[].**tags**<br /><br />string<br /><br />Optional            | Descriptive metadata about the fee.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                                                                                                                                                                                          |
| fees\[].**token**<br /><br />string<br /><br />Required           | Unique identifier of the fee.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                                                                                                                                                                                                  |
| tags<br /><br />string<br /><br />Optional                        | Metadata about the transfer.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                                                                                                                                                                                                 |
| token<br /><br />string<br /><br />Optional                       | Unique identifier of the fee transfer.<br /><br />If you do not include a token, the system will generate one automatically. This token is necessary for use in other API calls, so we recommend that rather than let the system generate one, you use a simple string that is easy to remember. This value cannot be updated.<br /><br />**Allowable Values:**<br /><br />1–36 chars |
| user\_token<br /><br />string<br /><br />Required                 | Specifies the user account holder to which the fee applies.<br /><br />Pass either `user_token` or `business_token`, not both.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                                                                                                 |

<h3 id="_sample_request_body">
  Sample request body
</h3>

```json JSON lines wrap theme={null}
{
  "fees": [
    {
      "token": "my_fee_01",
      "memo": "Initiation fee"
    }
  ],
  "token": "my_feecharge_01",
  "user_token": "my_user_01",
  "business_token": "my_business_01"
}
```

<h3 id="_response_body">
  Response body
</h3>

| Fields                                                                          | Description                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| business\_token<br /><br />string<br /><br />Returned                           | Specifies the business account holder to which the fee applies.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                 |
| created\_time<br /><br />datetime<br /><br />Returned                           | Date and time when the `fee_charge` object was created, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                  |
| fees<br /><br />array of objects<br /><br />Returned                            | Contains attributes that define characteristics of one or more fees.<br /><br />**Allowable Values:**<br /><br />Array of existing `fees` objects                                                                      |
| fees\[].**fee**<br /><br />object<br /><br />Returned                           | Contains details about the fee.<br /><br />**Allowable Values:**<br /><br />`amount`, `created_time`, `currency_code`, `last_modified_time`, `name`, `tags`, `token`                                                   |
| fees\[].fee.**amount**<br /><br />decimal<br /><br />Returned                   | Amount of the fee.<br /><br />**Allowable Values:**<br /><br />decimal<br /><br />**Format:**<br />0.00                                                                                                                |
| fees\[].fee.**created\_time**<br /><br />datetime<br /><br />Returned           | Date and time when the `fees` object was created, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                        |
| fees\[].fee.**currency\_code**<br /><br />string<br /><br />Returned            | Three-digit ISO 4217 currency code.<br /><br />**Allowable Values:**<br /><br />Valid three-digit <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank" rel="noopener">ISO 4217 currency code</a> |
| fees\[].fee.**last\_modified\_time**<br /><br />datetime<br /><br />Returned    | Date and time when the `fees` object was last modified, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                  |
| fees\[].fee.**name**<br /><br />string<br /><br />Returned                      | Name of the fee.<br /><br />**Allowable Values:**<br /><br />50 char max                                                                                                                                               |
| fees\[].fee.**tags**<br /><br />string<br /><br />Conditionally returned        | Descriptive metadata about the fee.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                           |
| fees\[].fee.**token**<br /><br />string<br /><br />Returned                     | Unique identifier of the `fees` object.<br /><br />**Allowable Values:**<br /><br />Existing `fees` object token                                                                                                       |
| fees\[].**memo**<br /><br />string<br /><br />Conditionally returned            | Additional text describing the fee.<br /><br />**Allowable Values:**<br /><br />1–255 chars                                                                                                                            |
| fees\[].**overrideAmount**<br /><br />decimal<br /><br />Conditionally returned | Dynamic fee amount that overrides the `fee.amount` field value.<br /><br />**Allowable Values:**<br /><br />decimal<br /><br />**Format:**<br />0.00                                                                   |
| fees\[].**tags**<br /><br />string<br /><br />Conditionally returned            | Descriptive metadata about the fee.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                           |
| fees\[].**token**<br /><br />string<br /><br />Returned                         | Unique identifier of the fee.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                                   |
| fees\[].**transaction\_token**<br /><br />string<br /><br />Returned            | Unique identifier of the fee transaction.<br /><br />**Allowable Values:**<br /><br />36 char max                                                                                                                      |
| tags<br /><br />string<br /><br />Conditionally returned                        | Metadata about the fee charge.<br /><br />This field is returned if it exists in the resource.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                |
| token<br /><br />string<br /><br />Returned                                     | Unique identifier of the fee transfer.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                          |
| user\_token<br /><br />string<br /><br />Returned                               | Specifies the user account holder to which the fee applies.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                     |

<h3 id="_sample_response_body">
  Sample response body
</h3>

```json JSON expandable lines wrap theme={null}
{
  "fees": [
    {
      "token": "my_fee_01",
      "memo": "Initiation fee",
      "transaction_token": "162",
      "fee": {
        "token": "my_fee_01",
        "active": true,
        "name": "My Fee 01",
        "amount": 1,
        "tags": "My Tags",
        "created_time": "2024-05-11T17:57:21Z",
        "last_modified_time": "2024-05-11T17:57:21Z",
        "currency_code": "USD"
      }
    }
  ],
  "token": "my_feecharge_01",
  "user_token": "my_user_01",
  "business_token": "my_business_01",
  "created_time": "2024-05-11T19:05:55Z"
}
```

<h2 id="get_fee_charge_token">
  Retrieve fee charge
</h2>

**Action:** `GET`\
**Endpoint:** `/feecharges/{token}`

{/* <EndpointCard
title="Retrieve fee charge"
path="/feecharges/{token}"
method="get"
/> */}

Use this endpoint to retrieve a specific fee charge. Include the fee transfer `token` path parameter to specify the fee charge to return.

<h3 id="_url_path_parameters">
  URL path parameters
</h3>

| Fields                                      | Description                                                                                                            |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| token<br /><br />string<br /><br />Required | Unique identifier of the fee charge to retrieve.<br /><br />**Allowable Values:**<br /><br />Existing fee charge token |

<h3 id="_response_body_2">
  Response body
</h3>

| Fields                                                                          | Description                                                                                                                                                                                                            |
| ------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| business\_token<br /><br />string<br /><br />Returned                           | Specifies the business account holder to which the fee applies.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                 |
| created\_time<br /><br />datetime<br /><br />Returned                           | Date and time when the `fee_charge` object was created, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                  |
| fees<br /><br />array of objects<br /><br />Returned                            | Contains attributes that define characteristics of one or more fees.<br /><br />**Allowable Values:**<br /><br />Array of existing `fees` objects                                                                      |
| fees\[].**fee**<br /><br />object<br /><br />Returned                           | Contains details about the fee.<br /><br />**Allowable Values:**<br /><br />`amount`, `created_time`, `currency_code`, `last_modified_time`, `name`, `tags`, `token`                                                   |
| fees\[].fee.**amount**<br /><br />decimal<br /><br />Returned                   | Amount of the fee.<br /><br />**Allowable Values:**<br /><br />decimal<br /><br />**Format:**<br />0.00                                                                                                                |
| fees\[].fee.**created\_time**<br /><br />datetime<br /><br />Returned           | Date and time when the `fees` object was created, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                        |
| fees\[].fee.**currency\_code**<br /><br />string<br /><br />Returned            | Three-digit ISO 4217 currency code.<br /><br />**Allowable Values:**<br /><br />Valid three-digit <a href="https://www.iso.org/iso-4217-currency-codes.html" target="_blank" rel="noopener">ISO 4217 currency code</a> |
| fees\[].fee.**last\_modified\_time**<br /><br />datetime<br /><br />Returned    | Date and time when the `fees` object was last modified, in UTC.<br /><br />**Allowable Values:**<br /><br />datetime<br /><br />**Format:**<br />yyyy-MM-ddThh:mm:ssZ                                                  |
| fees\[].fee.**name**<br /><br />string<br /><br />Returned                      | Name of the fee.<br /><br />**Allowable Values:**<br /><br />50 char max                                                                                                                                               |
| fees\[].fee.**tags**<br /><br />string<br /><br />Conditionally returned        | Descriptive metadata about the fee.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                           |
| fees\[].fee.**token**<br /><br />string<br /><br />Returned                     | Unique identifier of the `fees` object.<br /><br />**Allowable Values:**<br /><br />Existing `fees` object token                                                                                                       |
| fees\[].**memo**<br /><br />string<br /><br />Conditionally returned            | Additional text describing the fee.<br /><br />**Allowable Values:**<br /><br />1–255 chars                                                                                                                            |
| fees\[].**overrideAmount**<br /><br />decimal<br /><br />Conditionally returned | Dynamic fee amount that overrides the `fee.amount` field value.<br /><br />**Allowable Values:**<br /><br />decimal<br /><br />**Format:**<br />0.00                                                                   |
| fees\[].**tags**<br /><br />string<br /><br />Conditionally returned            | Descriptive metadata about the fee.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                                                                           |
| fees\[].**token**<br /><br />string<br /><br />Returned                         | Unique identifier of the fee.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                                   |
| fees\[].**transaction\_token**<br /><br />string<br /><br />Returned            | Unique identifier of the fee transaction.<br /><br />**Allowable Values:**<br /><br />36 char max                                                                                                                      |
| tags<br /><br />string<br /><br />Conditionally returned                        | Metadata about the fee charge.<br /><br />This field is returned if it exists in the resource.<br /><br />**Allowable Values:**<br /><br />255 char max                                                                |
| token<br /><br />string<br /><br />Returned                                     | Unique identifier of the fee transfer.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                                          |
| user\_token<br /><br />string<br /><br />Returned                               | Specifies the user account holder to which the fee applies.<br /><br />**Allowable Values:**<br /><br />1–36 chars                                                                                                     |

<h3 id="_sample_response_body_2">
  Sample response body
</h3>

```json JSON expandable lines wrap theme={null}
{
  "fees": [
    {
      "token": "my_fee_01",
      "memo": "Initiation fee",
      "transaction_token": "162",
      "fee": {
        "token": "my_fee_01",
        "active": true,
        "name": "My Fee 01",
        "amount": 1,
        "tags": "My Tags",
        "created_time": "2024-05-11T17:57:21Z",
        "last_modified_time": "2024-05-11T17:57:21Z",
        "currency_code": "USD"
      }
    }
  ],
  "token": "my_feetransfer_01",
  "user_token": "my_user_01",
  "business_token": "my_business_01",
  "created_time": "2024-05-11T19:05:55Z"
}
```


## Related topics

- [Fees](/docs/core-api/fees.md)
- [Fee Refunds](/docs/core-api/fee-refunds.md)
- [Credit Products in the Marqeta Dashboard](/docs/developer-guides/credit-products-dashboard.md)
- [Transactions](/docs/core-api/transactions.md)
- [Release Notes](/docs/developer-guides/release-notes-2025.md)
