---
title: "PATCH /v1/accounts/{account_id}/partner-fees/{fee_id}"
method: PATCH
path: "/v1/accounts/{account_id}/partner-fees/{fee_id}"
tags: ["crate::transaction::pricing::controller::openapi::partner_fee_routes"]
---

# PATCH /v1/accounts/{account_id}/partner-fees/{fee_id}

`PATCH /v1/accounts/{account_id}/partner-fees/{fee_id}`

## Request

- Base URL: `https://api.1money.com`
- URL: `https://api.1money.com/v1/accounts/{account_id}/partner-fees/{fee_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/1money/apis/1money-openapi/docs/v1/accounts/:account_id/partner-fees/:fee_id/patch.ts> (a function with typed inputs; its response is checked against the schema)

## Path parameters

- `account_id` string, required
- `fee_id` string, required: Partner fee ID exposed by OpenAPI.

## Request body

- PartnerFeeUpdateRequest: Partial update of a partner fee. Non-conversion fees allow `rate` and `fixed`; conversion fees allow `rate` and `reverse_rate`. Omitted fields are left unchanged. Request validation applies only to supplied fields, not retained fee values. To change conversion fixed amounts, `fee_type`, or fee dimensions (currency, source_asset, payment rail, token, network, asset pair), deactivate the fee and create a new one.
  - `rate` string, nullable: New percentage rate as a decimal, e.g. 0.001 = 0.1%. Must be >= 0 and < 1, with at most 5 decimal places.
  - `fixed` string, nullable: New fixed fee in the source asset unit (non-conversion fees only). At most 5 decimal places.
  - `reverse_rate` string, nullable: New reverse-direction rate (conversion fees only). Must be >= 0 and < 1, with at most 5 decimal places.

## Response `200`

- PartnerFeeResponse
  - `fee_id` string, required: Partner fee ID exposed by OpenAPI.
  - `account_id` string, required
  - `fee` union, required: Fee definition of a partner fee, discriminated by `fee_type`.
    - object
      - `currency` 'USD' | 'EUR' | 'CNY' | 'HKD' | 'MXN' | 'BRL' | 'GBP' | 'AED' | 'INR' | 'PHP' | 'SGD' | 'JPY' | 'null', nullable: Fiat currency to which this deposit fee applies. Omit in requests or expect `null` in responses to apply to all fiat deposit currencies.
      - `payment_rail` 'US_ACH' | 'US_FEDWIRE' | 'US_RTP' | 'US_FEDNOW' | 'SWIFT' | 'LOCAL_BANK_TRANSFER' | 'CHATS' | 'FPS' | 'SPEI' | 'PIX_TRANSFER' | 'SEPA' | 'FASTER_PAYMENT' | 'UAEFTS' | 'UPI' | 'null', nullable: Fiat payment rail to which this fee applies. Omit in requests or expect `null` in responses to apply to all fiat deposit rails.
      - `rate` string, required: Percentage rate as a decimal, e.g. 0.001 = 0.1%. Must be >= 0 and < 1, with at most 5 decimal places. Computed fees are rounded up (away from zero) at the asset scale, so a configured fee never rounds to zero.
      - `fixed` string: Fixed fee in the currency unit; defaults to 0. At most 5 decimal places.
      - `fee_type` 'FIAT_DEPOSIT', required
    - object
      - `currency` 'USD' | 'EUR' | 'CNY' | 'HKD' | 'MXN' | 'BRL' | 'GBP' | 'AED' | 'INR' | 'PHP' | 'SGD' | 'JPY' | 'null', nullable: Destination fiat currency to which this withdrawal fee applies. Omit or use `null` to match any destination fiat currency. When source_asset is also omitted or null, both assets are unrestricted.
      - `source_asset` 'USD' | 'EUR' | 'CNY' | 'HKD' | 'MXN' | 'BRL' | 'GBP' | 'AED' | 'INR' | 'PHP' | 'SGD' | 'JPY' | 'USDC' | 'USDT' | 'null', nullable: Asset used to fund the fiat withdrawal and pay the fee. Omit or use `null` to match any source asset, independently of currency. Responses use `null` only when the source asset is unrestricted.
      - `payment_rail` 'US_ACH' | 'US_FEDWIRE' | 'US_RTP' | 'US_FEDNOW' | 'SWIFT' | 'LOCAL_BANK_TRANSFER' | 'CHATS' | 'FPS' | 'SPEI' | 'PIX_TRANSFER' | 'SEPA' | 'FASTER_PAYMENT' | 'UAEFTS' | 'UPI' | 'null', nullable: Fiat payment rail to which this fee applies. Omit in requests or expect `null` in responses to apply to all fiat withdrawal rails.
      - `rate` string, required: Percentage of the source asset amount, e.g. 0.001 = 0.1%. Must be >= 0 and < 1, with at most 5 decimal places. Computed fees are rounded up (away from zero) at the asset scale, so a configured fee never rounds to zero.
      - `fixed` string: Fixed fee in source_asset units; defaults to 0. Must be 0 when source_asset is omitted or null. At most 5 decimal places.
      - `fee_type` 'FIAT_WITHDRAWAL', required
    - object
      - `token` 'USDC' | 'USDT' | 'PYUSD' | 'RLUSD' | 'USDG' | 'USDP' | 'USD1' | '1USD' | 'AUSD' | 'DAI' | 'EURC' | 'MXNB' | 'MEXAS' | 'GYEN' | 'BRL1' | 'BRLA' | 'COPM' | 'USTB' | 'BTC' | 'ETH' | 'SOL' | 'null', nullable: Crypto token to which this withdrawal fee applies. Omit in requests or expect `null` in responses to apply to all crypto tokens.
      - `network` 'AVALANCHE' | 'ETHEREUM' | 'POLYGON' | 'BNBCHAIN' | 'BASE' | 'ARBITRUM' | 'SOLANA' | 'TRON' | 'ONE_MONEY' | 'EMERALD' | 'BITCOIN' | 'null', nullable: Blockchain network to which this withdrawal fee applies. Omit in requests or expect `null` in responses to apply to all supported blockchain networks for the selected token.
      - `rate` string, required: Percentage rate as a decimal, e.g. 0.001 = 0.1%. Must be >= 0 and < 1, with at most 5 decimal places. Computed fees are rounded up (away from zero) at the asset scale, so a configured fee never rounds to zero.
      - `fixed` string: Fixed fee in the token unit; defaults to 0. At most 5 decimal places.
      - `fee_type` 'CRYPTO_WITHDRAWAL', required
    - object: Conversion fee definition.
      - `from_asset` string, nullable: Source asset of the conversion. Omit or use `null` to match any source asset. Omitting both `from_asset` and `to_asset` applies to all pairs.
      - `to_asset` string, nullable: Destination asset of the conversion. Omit or use `null` for any destination asset. Omitting both `from_asset` and `to_asset` applies to all pairs.
      - `rate` string, required: Rate for the `from_asset` -> `to_asset` direction, e.g. 0.001 = 0.1%. Must be >= 0 and < 1, with at most 5 decimal places. Applies to that direction for every matched pair when either asset is omitted. Computed fees are rounded up (away from zero) at the asset scale, so a configured fee never rounds to zero.
      - `reverse_rate` string: Rate for the opposite `to_asset` -> `from_asset` direction; defaults to 0 (no fee). Must be >= 0 and < 1, with at most 5 decimal places.
      - `from_asset_fixed` string: Fixed fee in `from_asset` units; defaults to 0. At most 5 decimal places. Must be 0 when `from_asset` is omitted.
      - `to_asset_fixed` string: Fixed fee in `to_asset` units; defaults to 0. At most 5 decimal places. Must be 0 when `to_asset` is omitted.
      - `fee_type` 'CONVERSION', required
  - `created_at` string, required: Fee creation timestamp (ISO 8601)
  - `modified_at` string, required: Last modification timestamp (ISO 8601)

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `404`: Not Found
- `405`: Method Not Allowed
- `409`: A partner fee with the same fee dimensions already exists
- `422`: Unprocessable Entity - Invalid enum value (e.g., unsupported network or asset name)
- `500`: Internal Server Error

## Changes

- **2026-11-03** `d213edbaccb6`: 1 breaking, 3 info
  - added `subschema #1, subschema #2, subschema #3, subschema #4` to the `fee` response property `oneOf` list for the response status `200`
  - api tag `crate::transaction::pricing::controller::openapi::partner_fee_routes` added
  - api tag `Pricing` removed
  - removed `subschema #1, subschema #2, subschema #3, subschema #4` from the `fee` response property `oneOf` list for the response status `200`

[Operation history](https://skmtc.dev/1money/apis/1money-openapi/changes/v1/accounts/:account_id/partner-fees/:fee_id/patch.md)

---

[API](https://skmtc.dev/1money/apis/1money-openapi.md) - [All operations](https://skmtc.dev/1money/apis/1money-openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/1money/apis/1money-openapi/revisions/d213edbaccb6?raw)
