> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reap.global/llms.txt
> Use this file to discover all available pages before exploring further.

# Update fee value

> Replaces the value of a fee row and bumps its version. Transactions authorized from then on are priced with the new value; settled transactions keep the version that priced them. Project defaults can only be updated from the dashboard.



## OpenAPI

````yaml /api-reference/openapi.json put /fees/{id}
openapi: 3.1.0
info:
  title: Reap API
  version: 1.0.0
  description: Reap platform API
servers:
  - url: https://sg.sandbox.api.reap.global
    description: Singapore sandbox
  - url: https://sg.prod.api.reap.global
    description: Singapore production
  - url: https://mx.sandbox.api.reap.global
    description: Mexico sandbox
  - url: https://mx.prod.api.reap.global
    description: Mexico production
  - url: https://sandbox.api.reap.global
    description: Singapore sandbox (alias)
  - url: https://prod.api.reap.global
    description: Singapore production (alias)
security:
  - bearerAuth: []
tags:
  - name: Accounts
  - name: Activities
  - name: Card Designs
  - name: Card Shipments
  - name: Card Transactions
  - name: Cards
  - name: Companies
  - name: Crypto Deposits
  - name: Crypto Withdrawals
  - name: Disputes
  - name: Fees
  - name: Fiat Deposits
  - name: Fraud Alerts
  - name: Policies
  - name: Simulation
  - name: Users
  - name: Virtual Asset Postings
  - name: Virtual Assets
  - name: Webhooks
  - name: Agentic
paths:
  /fees/{id}:
    put:
      tags:
        - Fees
      summary: Update fee value
      description: >-
        Replaces the value of a fee row and bumps its version. Transactions
        authorized from then on are priced with the new value; settled
        transactions keep the version that priced them. Project defaults can
        only be updated from the dashboard.
      operationId: update_fees
      parameters:
        - name: id
          in: path
          required: true
          schema:
            description: Fee ID
            type: string
            format: uuid
        - name: Reap-Version
          in: header
          required: true
          schema:
            type: string
            enum:
              - '2025-02-14'
            description: API version (YYYY-MM-DD)
            example: '2025-02-14'
      requestBody:
        description: Replace the fee value. The value `unit` must match the fee type.
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                value:
                  oneOf:
                    - $ref: '#/components/schemas/FeeBpsValueInput'
                      title: FeeBpsValueInput
                    - $ref: '#/components/schemas/FeeAmountValueInput'
                      title: FeeAmountValueInput
                  description: >-
                    The fee value. `unit` must match the fee type: `BPS` for a
                    rate-based type, `AMOUNT` for a fixed one.
              required:
                - value
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                value:
                  oneOf:
                    - $ref: '#/components/schemas/FeeBpsValueInput'
                      title: FeeBpsValueInput
                    - $ref: '#/components/schemas/FeeAmountValueInput'
                      title: FeeAmountValueInput
                  description: >-
                    The fee value. `unit` must match the fee type: `BPS` for a
                    rate-based type, `AMOUNT` for a fixed one.
              required:
                - value
          multipart/form-data:
            schema:
              type: object
              properties:
                value:
                  oneOf:
                    - $ref: '#/components/schemas/FeeBpsValueInput'
                      title: FeeBpsValueInput
                    - $ref: '#/components/schemas/FeeAmountValueInput'
                      title: FeeAmountValueInput
                  description: >-
                    The fee value. `unit` must match the fee type: `BPS` for a
                    rate-based type, `AMOUNT` for a fixed one.
              required:
                - value
      responses:
        '200':
          description: A cardholder fee row.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Fee'
        '400':
          description: Response for status 400
          content:
            application/json:
              schema:
                anyOf:
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: INVALID_FEE_VALUE
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: InvalidFeeValueError
                    description: The fee value is out of range for this fee type
                  - type: object
                    properties:
                      error:
                        type: object
                        properties:
                          code:
                            type: string
                            const: FEE_VALUE_UNIT_MISMATCH
                          message:
                            type: string
                          detail:
                            anyOf:
                              - type: object
                                additionalProperties: {}
                              - type: 'null'
                        required:
                          - code
                          - message
                          - detail
                    required:
                      - error
                    title: FeeValueUnitMismatchError
                    description: >-
                      The value key does not match the fee type: pass `bps` for
                      rate-based fee types and `amount` for fixed fee types
        '403':
          description: Project default fees can only be updated from the dashboard
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        const: PROJECT_FEE_NOT_EDITABLE_VIA_API
                      message:
                        type: string
                      detail:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                    required:
                      - code
                      - message
                      - detail
                required:
                  - error
                title: ProjectFeeNotEditableViaApiError
        '404':
          description: Fee not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        const: FEE_NOT_FOUND
                      message:
                        type: string
                      detail:
                        anyOf:
                          - type: object
                            additionalProperties: {}
                          - type: 'null'
                    required:
                      - code
                      - message
                      - detail
                required:
                  - error
                title: FeeNotFoundError
components:
  schemas:
    FeeBpsValueInput:
      type: object
      properties:
        unit:
          type: string
          const: BPS
        bps:
          type: integer
          minimum: 0
          maximum: 10000
          examples:
            - 51
            - 150
          description: Rate in basis points of the transaction bill amount (100 bps = 1%).
      required:
        - unit
        - bps
    FeeAmountValueInput:
      type: object
      properties:
        unit:
          type: string
          const: AMOUNT
        amount:
          type: number
          minimum: 0
          examples:
            - 100.5
            - 0
            - 1234.99
          description: Fixed fee per transaction, in the project's billing currency.
      required:
        - unit
        - amount
    Fee:
      type: object
      properties:
        id:
          description: Fee ID.
          type: string
          format: uuid
        type:
          type: string
          enum:
            - FX_MARKUP
            - ATM_DOMESTIC_VARIABLE
            - ATM_DOMESTIC_FIXED
            - ATM_CROSS_BORDER_VARIABLE
            - ATM_CROSS_BORDER_FIXED
          description: Which cardholder fee this row sets.
          example: FX_MARKUP
        value:
          oneOf:
            - $ref: '#/components/schemas/FeeBpsValue'
              title: FeeBpsValue
            - $ref: '#/components/schemas/FeeAmountValue'
              title: FeeAmountValue
          description: The fee value, denominated as `unit` says.
        scope:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  const: PROJECT
              required:
                - type
              title: Project
            - type: object
              properties:
                type:
                  type: string
                  const: ACCOUNT
                id:
                  type: string
                  format: uuid
              required:
                - type
                - id
              title: Account
          description: >-
            Where the fee attaches. PROJECT rows are the default rate card for
            your program; an ACCOUNT row overrides one fee type for one account.
        version:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
          description: >-
            Incremented on every change. Transaction events record the version
            that priced them.
        createdAt:
          type: string
          description: ISO 8601 creation timestamp.
        updatedAt:
          type: string
          description: ISO 8601 last-update timestamp.
      required:
        - id
        - type
        - value
        - scope
        - version
        - createdAt
        - updatedAt
    FeeBpsValue:
      type: object
      properties:
        unit:
          type: string
          const: BPS
        bps:
          type: integer
          minimum: 0
          maximum: 10000
          examples:
            - 51
            - 150
          description: Rate in basis points of the transaction bill amount (100 bps = 1%).
      required:
        - unit
        - bps
    FeeAmountValue:
      type: object
      properties:
        unit:
          type: string
          const: AMOUNT
        amount:
          type: number
          minimum: 0
          examples:
            - 100.5
            - 0
            - 1234.99
          description: Fixed fee per transaction, in the project's billing currency.
        currency:
          type: string
          examples:
            - USD
            - HKD
            - EUR
          description: >-
            Currency of fixed fee amounts - the billing currency of the
            project's card program.
      required:
        - unit
        - amount
        - currency
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key as Bearer token

````