---
title: "Create fee"
method: POST
path: "/config/fees"
tags: ["Fees"]
---

# Create fee

`POST /config/fees`

Creates a fee.

## Request body

- FiatFeeRequest — Use this JSON request object to create a fee that can be applied to payments.
  - `value` number, required — Value of the fee to apply. Set the value of this parameter according to the fee type you are using: | [fee_type](#operation/createFee!path=fee_type&t=request) | Corresponding value to use | | --- | --- | | PERCENTAGE | `value` must be >`0` and <`100`. | | FLAT_RATE | `value` can be negative. | **Note**: The final amount of the fee is applied either as a percentage or a flat rate depending on the `value` you specify for the `fee_type` parameter.
  - `currency_code` string, required — Currency the fee is applied in. Ripple recommends using [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html) currency codes, although no formal constraint is enforced.
  - `role_type` 'SENDING' | 'RECEIVING' | 'INSTITUTION_SENDING' | 'INSTITUTION_RECEIVING', required — Role of the party to which the fee applies.
  - `payment_type` 'REGULAR' | 'RETURN', required — Type of payment to which the fee applies.</p>
  - `node_type` 'INITIAL' | 'INTERMEDIATE' | 'TERMINAL', required — Fiat instance to which the fee applies.
  - `fee_type` 'PERCENTAGE' | 'FLAT_RATE', required — Type of fee to apply. This is used with fee [value](#operation/createFee!path=value&t=request) to calculate the fee.
  - `partner_name` string — Owner of the account involved in the payment, in RippleNet Address format. For example, `rn.us.ca.san_francisco`.
  - `account_name` string — Account to apply the fee to. Specify the account name. For example, `conct_usd_sf`. If specified, you must also specify a `partner_name` value.
  - `upper_limit` number — Maximum amount for the range of a slab-based fee. If specified, you must also specify a `lower_limit` value.
  - `lower_limit` number — Minimum amount for the range of a slab-based fee. If specified, you must also specify an `upper_limit` value.
  - `payout_method` string — The payout method by which the receiving institution delivers the funds to the end customer.
  - `fee_category` 'NONE' | 'OVERSEAS_DELIVERY_CHARGES' | 'BENEFICIARY_BANK_CHARGE' | 'PROCESSING_HANDLING_CHARGE' | 'LOCAL_GOVERNMENT_CHARGE' | 'OTHER' — Category that describes the purpose of the fee.
  - `fee_description` string — Optional free-form description for the fee.

## Response `200`

Successfully created fee.

- FiatFee — Represents a fee to be applied based on various criteria.
  - `value` number, required — Value of the fee to be applied. fiat node uses this value and `fee_type` to calculate the fee.
  - `currency_code` string, required — Currency this fee applies to.
  - `role_type` 'SENDING' | 'RECEIVING' | 'INSTITUTION_SENDING' | 'INSTITUTION_RECEIVING', required — Role of the party to which the fee applies.<p>If set to `SENDING`, the fee is charged to the originator of the payment.</p> <p>If set to `RECEIVING`, the fee is charged to the beneficiary of the payment.</p> <p>If set to `INSTITUTION_SENDING`, the fee is charged to the financial institution that is sending the payment.</p> <p>If set to `INSTITUTION_RECEIVING`, the fee is charged to the financial institution that is receiving the payment.</p>
  - `payment_type` 'REGULAR' | 'RETURN', required — Payment type the fee applies to.
  - `node_type` 'INITIAL' | 'INTERMEDIATE' | 'TERMINAL', required — Fiat node to which the fee applies.<p>If set to `INITIAL`, the fee is charged to the first fiat instance in the payment chain.</p> <p>If set to `INTERMEDIATE`, the fee is charged to each fiat instance in the payment chain that is not the first or last fiat instance.</p> <p>If set to `TERMINAL`, the fee is charged to the last fiat instance in the payment chain.</p>
  - `fee_type` 'PERCENTAGE' | 'FLAT_RATE', required — Method used to calculate the fee.
  - `partner_name` string — Owner of the account involved in the payment, in RippleNet Address format. For example, `rn.us.ca.san_francisco`.
  - `account_name` string — For a fee that applies to a specific account, provides the account name. Used in combination with the `partner_name` value.
  - `upper_limit` number — For a slab-based fee, provides the upper limit of the slab. Used in combination with the `lower_limit` value.
  - `lower_limit` number — For a slab-based fee, provides the lower limit of the slab. Used in combination wtih the `upper_limit` value.
  - `feeId` string, uuid, required — Unique identifier of the fee.
  - `payout_method` string — The payout method for this fee.
  - `fee_category` 'NONE' | 'OVERSEAS_DELIVERY_CHARGES' | 'BENEFICIARY_BANK_CHARGE' | 'PROCESSING_HANDLING_CHARGE' | 'LOCAL_GOVERNMENT_CHARGE' | 'OTHER' — Category that describes the purpose of the fee.
  - `fee_description` string — Optional free-form description for the fee.

## Other responses

- `400` — Bad Request.

---

[API](https://skmtc.net/ripple/apis/ripplenet-server-api.md) · [All operations](https://skmtc.net/ripple/apis/ripplenet-server-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ripple/ripplenet-server-api/revisions/7843f07ca150/schema)
