---
title: "Create a Custom Fee"
method: POST
path: "/fees"
tags: ["Fees"]
---

# Create a Custom Fee

`POST /fees`

Create a custom (i.e. one-time) `Fee`.

## Headers

- `Finix-Version` string
- `Content-Type` string

## Request body

- CreateCustomFee
  - `amount` integer, required — The total amount that will be debited in cents (e.g. 100 cents to debit $1.00).
  - `currency` 'CAD' | 'USD', required — ISO 4217 3-letter currency code.
  - `display_name` string — The display name of the `Fee` that can be used for filtering purposes.
  - `fee_subtype` 'CUSTOM', required — Subtype of the fee. Set to **CUSTOM**.
  - `fee_type` 'CUSTOM', required — The type of the fee. Must be set to **CUSTOM**.
  - `merchant` string, required — The ID of the `Merchant` resource used to create the `Fee`.
  - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)

## Response `201`

Single Custom Fee object

- Fee — A charge levied against a `Merchant`.
  - `id` string — The ID of the resource.
  - `created_at` string, date-time — Timestamp of when the object was created.
  - `updated_at` string, date-time — Timestamp of when the object was last updated.
  - `amount` number, double — Represents the total amount. The value may be returned as either: - an **integer** (`int32`) in cents (e.g., `100` = $1.00), or - a **double** for fractional amounts (e.g., `2.393`).
  - `application` string — ID of the `Application` the resource was created under.
  - `category` 'PROCESSOR' | 'INTERCHANGE' | 'DUES_AND_ASSESSMENTS' | 'THIRD_PARTY_SERVICE_PROVIDER', nullable — The `Fee` category.
  - `currency` 'CAD' | 'USD' — ISO 4217 3-letter currency code.
  - `display_name` string, nullable — It is used for subscription fees and allows free-form text to be passed from the subscription fee product. Note that this product is mostly deprecated.
  - `fee_profile` string — The ID of the `Fee Profile` used to calculate fees for the `Transfer` related to this `Fee`. The specific `Transfer` is identified by the `linked_to` field.
  - `fee_subtype` 'CUSTOM' | 'APPLICATION_FEE' | 'PLATFORM_FEE' — The subtype of the `Fee`.
  - `fee_type` 'ACH_BASIS_POINTS' | 'ACH_CREDIT_RETURN_FIXED_FEE' | 'ACH_DEBIT_RETURN_FIXED_FEE' | 'ACH_FIXED' | 'ACH_MAX_FIXED' | 'ACH_NOTICE_OF_CHANGE_CREDIT_FIXED' | 'ACH_NOTICE_OF_CHANGE_DEBIT_FIXED' | 'AMERICAN_EXPRESS_ASSESSMENT_BASIS_POINTS' | 'AMERICAN_EXPRESS_BASIS_POINTS' | 'AMERICAN_EXPRESS_FIXED' | 'AMERICAN_EXPRESS_INTERCHANGE' | 'ANCILLARY_FIXED_FEE_PRIMARY' | 'ANCILLARY_FIXED_FEE_SECONDARY' | 'APPLICATION_FEE' | 'CARD_BASIS_POINTS' | 'CARD_FIXED' | 'CARD_INTERCHANGE' | 'COMPLIANCE_FORMS_OVERDUE_FIXED' | 'CUSTOM' | 'DINERS_CLUB_BASIS_POINTS' | 'DINERS_CLUB_FIXED' | 'DINERS_CLUB_INTERCHANGE' | 'DISCOVER_ASSESSMENT_BASIS_POINTS' | 'DISCOVER_BASIS_POINTS' | 'DISCOVER_DATA_USAGE_FIXED' | 'DISCOVER_FIXED' | 'DISCOVER_INTERCHANGE' | 'DISCOVER_NETWORK_AUTHORIZATION_FIXED' | 'DISPUTE_FIXED_FEE' | 'DISPUTE_INQUIRY_FIXED_FEE' | 'EFT_MAX_FIXED' | 'GROSS_MONTHLY_FEES_ACH_BASIS_POINTS' | 'GROSS_MONTHLY_FEES_ACH_FIXED' | 'GROSS_MONTHLY_FEES_CARD_BASIS_POINTS' | 'GROSS_MONTHLY_FEES_CARD_FIXED' | 'GROSS_MONTHLY_FEES_EFT_BASIS_POINTS' | 'GROSS_MONTHLY_FEES_EFT_FIXED' | 'INVOICE_ACH_BASIS_POINTS' | 'INVOICE_ACH_FIXED' | 'INVOICE_ACH_MAX_FIXED' | 'INVOICE_CARD_BASIS_POINTS' | 'INVOICE_CARD_FIXED' | 'INVOICE_EFT_BASIS_POINTS' | 'INVOICE_EFT_FIXED' | 'INVOICE_EFT_MAX_FIXED' | 'JCB_BASIS_POINTS' | 'JCB_FIXED' | 'JCB_INTERCHANGE' | 'MASTERCARD_ACQUIRER_FEE_BASIS_POINTS' | 'MASTERCARD_ASSESSMENT_OVER_1K_BASIS_POINTS' | 'MASTERCARD_ASSESSMENT_UNDER_1K_BASIS_POINTS' | 'MASTERCARD_BASIS_POINTS' | 'MASTERCARD_FIXED' | 'MASTERCARD_INTERCHANGE' | 'QUALIFIED_TIER_BASIS_POINTS_FEE' | 'QUALIFIED_TIER_FIXED_FEE' | 'SETTLEMENT_FUNDING_TRANSFER_ACH_BASIS_POINTS' | 'SETTLEMENT_FUNDING_TRANSFER_ACH_CREDIT_RETURN_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_ACH_DEBIT_RETURN_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_ACH_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_ACH_MAX_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_EFT_BASIS_POINTS' | 'SETTLEMENT_FUNDING_TRANSFER_EFT_CREDIT_RETURN_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_EFT_DEBIT_RETURN_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_EFT_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_EFT_MAX_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_INSTANT_PAYOUT_CARD_BASIS_POINTS' | 'SETTLEMENT_FUNDING_TRANSFER_INSTANT_PAYOUT_CARD_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_INSTANT_PAYOUT_CARD_MAX_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_NOC_CREDIT_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_NOC_DEBIT_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_SAME_DAY_ACH_BASIS_POINTS' | 'SETTLEMENT_FUNDING_TRANSFER_SAME_DAY_ACH_FIXED' | 'SETTLEMENT_FUNDING_TRANSFER_SAME_DAY_ACH_MAX_FIXED' | 'SUBSCRIPTION_ACH_BASIS_POINTS' | 'SUBSCRIPTION_ACH_FIXED' | 'SUBSCRIPTION_ACH_MAX_FIXED' | 'SUBSCRIPTION_CARD_BASIS_POINTS' | 'SUBSCRIPTION_CARD_FIXED' | 'SUBSCRIPTION_EFT_BASIS_POINTS' | 'SUBSCRIPTION_EFT_FIXED' | 'SUBSCRIPTION_EFT_MAX_FIXED' | 'SUPPLEMENTAL_FEE_FIXED' | 'VISA_ACQUIRER_PROCESSING_FIXED' | 'VISA_ASSESSMENT_BASIS_POINTS' | 'VISA_BASE_II_CREDIT_VOUCHER_FIXED' | 'VISA_BASE_II_SYSTEM_FILE_TRANSMISSION_FIXED' | 'VISA_BASIS_POINTS' | 'VISA_CREDIT_VOUCHER_FIXED' | 'VISA_FIXED' | 'VISA_INTERCHANGE' | 'VISA_KILOBYTE_ACCESS_FIXED' | 'VISA_TRANSACTION_INTEGRITY_FIXED' — The type of `Fee`. Finix may return more enums than those provided. Ensure your code accepts additional enums returned by Finix.
  - `label` string, nullable — It is used for subscription fees and allows free-form text to be passed from the subscription fee product. Note that this product is mostly deprecated.
  - `linked_id` string — The ID of the linked resource. Note that this field will be deprecated soon, use `linked_to` instead.
  - `linked_to` string — The ID of the linked resource.
  - `linked_type` 'TRANSFER' | 'AUTHORIZATION' — The type of entity the `Fee` is linked to.
  - `merchant` string — The ID of the `Merchant` resource that was charged the fee.
  - `ready_to_settle_at` string, date-time, nullable — The timestamp indicating when the `Transfer` related to this `Fee` is ready to be settled. The specific `Transfer` is identified by the `linked_to` field.
  - `tags` Tags, nullable — Include up to 50 `key: value` pairs to annotate requests with custom metadata. - Maximum character length for individual `keys` is 40. - Maximum character length for individual `values` is 500. (For example, `order_number: 25`, `item_type: produce`, `department: sales`)
  - `_links` object — For your convenience, every response includes several URLs which link to resources relevant to the request. You can use these `_links` to make your follow-up requests and quickly access relevant IDs.
    - `self` object — The path to the `Fee` resource.
      - `href` string
    - `merchant` object — A link to the `Merchant` that the fee was debited from.
      - `href` string
    - `transfer` object — A link to the `Transfer` that generated the `Fee`.
      - `href` string

## Other responses

- `400` — Bad Request. The server cannot process the request due to malformed syntax or invalid data.
- `401` — Unauthorized. Authentication is required and has failed or has not been provided.
- `403` — Forbidden. The client is authenticated but does not have permission to access the resource.
- `406` — Not Acceptable. The server could not accept the submitted request. Confirm how the request was formatted and submitted.

---

[API](https://skmtc.net/finix/apis/finix-api-reference.md) · [All operations](https://skmtc.net/finix/apis/finix-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/finix/finix-api-reference/versions/5426f6f99c52/schema)
