Unstoppable Finance (Iron) FeeProfiles API

Operations on Fee Profiles

OpenAPI Specification

unstoppable-finance-feeprofiles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  description: The Stablecoin Payment Network
  title: Iron API - Sandbox Addresses FeeProfiles API
  version: 1.0-16988
servers:
- url: https://api.sandbox.iron.xyz/api
tags:
- description: Operations on Fee Profiles
  name: FeeProfiles
paths:
  /fee-profiles:
    get:
      description: Gets fee profile of partner
      operationId: getFeeProfiles
      parameters:
      - deprecated: false
        description: Optional sub-partner UUID, if provided, the fee profiles will be filtered for the sub-partner
        explode: true
        in: header
        name: X-SUB-PARTNER-ID
        required: false
        schema:
          type: string
      - deprecated: false
        description: Ids of the fee profiles to get. Will be ignored if is_default is set to true.
        explode: false
        in: query
        name: fee_profile_ids
        required: false
        schema:
          default: null
          items:
            format: uuid
            type: string
          type: array
      - deprecated: false
        description: parameter to get the default fee profile. If set to true, only the default fee profile will be returned.
        explode: false
        in: query
        name: is_default
        required: false
        schema:
          default: null
          type: boolean
      - $ref: '#/components/parameters/XApiVersion'
      responses:
        '200':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/PagedList_FeeProfile'
          description: GET Fee Profiles Succeeded
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          description: GET Fee Profiles Failed (Unauthorized)
        '404':
          description: Get Fee Profiles Not Found
        '500':
          description: GET Fee Profiles Failed (Internal Error)
      security:
      - ApiKeyAuth: []
      summary: Get Fee Profile of Partner
      tags:
      - FeeProfiles
    post:
      description: 'Creates a new transactional fee profile for the partner.

        Iron fee settings are inherited from the partner''s invoicing fee profile.'
      operationId: createFeeProfile
      parameters:
      - deprecated: false
        description: Unique key to ensure idempotent creation
        explode: true
        in: header
        name: IDEMPOTENCY-KEY
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/XApiVersion'
      requestBody:
        content:
          application/json; charset=utf-8:
            schema:
              $ref: '#/components/schemas/CreatePartnerFeeProfileRequest'
        required: true
      responses:
        '201':
          content:
            application/json; charset=utf-8:
              schema:
                $ref: '#/components/schemas/FeeProfile'
          description: Create fee profile successful
        '400':
          content:
            application/json; charset=utf-8:
              schema:
                type: string
          description: Bad Request
        '401':
          description: Unauthorized
        '404':
          description: Not Found
        '500':
          description: Internal Error
      security:
      - ApiKeyAuth: []
      summary: Create Fee Profile
      tags:
      - FeeProfiles
components:
  schemas:
    FeeProfile:
      description: 'Fee Profile


        A fee profile


        A Fee Profile'
      properties:
        banking_fee_configs:
          description: The banking fee configs for the fee profile
          items:
            $ref: '#/components/schemas/BankingFeeConfig'
          type: array
        id:
          description: The id of the fee profile
          format: uuid
          type: string
        iron_fee:
          $ref: '#/components/schemas/FeeSchedule'
        iron_fee_billing_type:
          $ref: '#/components/schemas/BillingType'
        iron_fee_settlement:
          $ref: '#/components/schemas/FeeSettlement'
        is_default:
          description: Is default
          type: boolean
        min_fee:
          $ref: '#/components/schemas/Amount'
        name:
          description: The name of the fee profile
          type: string
        network_fee_enabled:
          description: The network fee enabled flag
          type: boolean
        network_fee_settlement:
          $ref: '#/components/schemas/FeeSettlement'
        non_transactional_partner_fee_configs:
          description: The non-transactional partner fees for the fee profile
          items:
            $ref: '#/components/schemas/NonTransactionalPartnerFeeConfig'
          type: array
        partner_fee_configs:
          description: The additional partner fees for the fee profile
          items:
            $ref: '#/components/schemas/PartnerFeeConfig'
          type: array
        partner_id:
          description: The Id of the partner
          format: uuid
          type: string
        profile_type:
          $ref: '#/components/schemas/FeeProfileType'
        rule:
          $ref: '#/components/schemas/FeeProfileRule'
      required:
      - id
      - name
      - partner_id
      - iron_fee
      - iron_fee_settlement
      - iron_fee_billing_type
      - min_fee
      - network_fee_enabled
      - network_fee_settlement
      - profile_type
      - is_default
      - partner_fee_configs
      - banking_fee_configs
      - non_transactional_partner_fee_configs
      title: FeeProfile
      type: object
    WindowFee_BipsFeeRequest:
      allOf:
      - properties:
          type:
            enum:
            - Bips
            example: Bips
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/BipsFeeRequest'
    TimeWindowedFee:
      properties:
        fee:
          $ref: '#/components/schemas/WindowFee'
        valid_from:
          format: date-time
          type: string
        valid_to:
          format: date-time
          type: string
      required:
      - valid_from
      - fee
      title: TimeWindowedFee
      type: object
    PartnerBipsFee:
      description: 'Partner Bips Fee


        A bips fee for a partner

        '
      properties:
        bips:
          description: The bips fee value
          format: uint32
          type: integer
      required:
      - bips
      title: PartnerBipsFee
      type: object
    BillingType:
      description: 'Billing Type


        The type of billing for the partner fee

        '
      enum:
      - One Time
      - Monthly
      - Quarterly
      - Annual
      - Semi Annual
      - Per Transaction
      type: string
    PartnerFeeConfig:
      description: 'Partner Fee


        A partner fee config which is deducted immediately from the transaction amount


        A Partner Fee'
      properties:
        billing_type:
          $ref: '#/components/schemas/BillingType'
        fee_type:
          $ref: '#/components/schemas/PartnerFeeType'
        label:
          $ref: '#/components/schemas/PartnerFeeLabel'
        settlement:
          $ref: '#/components/schemas/FeeSettlement'
      required:
      - label
      - fee_type
      - billing_type
      - settlement
      title: PartnerFeeConfig
      type: object
    Crypto:
      description: A cryptocurrency
      example:
        blockchain: Solana
        token: USDC
      properties:
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        token:
          description: The ticker of the token e.g. 'USDC'
          type: string
      required:
      - token
      - blockchain
      title: Crypto
      type: object
    FeeProfileRule:
      description: 'Fee Profile Rule


        A rule for a fee profile which limits the fee profile to be used for certain customers, ramp kinds, and currency pairs.

        '
      properties:
        autoramp_source:
          $ref: '#/components/schemas/AutorampSource'
        currency_pairs:
          description: The currency pairs
          items:
            $ref: '#/components/schemas/CurrencyPair'
          type: array
        customer_ids:
          description: The customer ids
          items:
            format: uuid
            type: string
          type: array
        ramp_kinds:
          description: Ramp kinds this rule applies to. Omit or pass an empty list to match any ramp kind.
          items:
            $ref: '#/components/schemas/AutorampType'
          type: array
      title: FeeProfileRule
      type: object
    Currency:
      anyOf:
      - $ref: '#/components/schemas/Currency_Crypto'
      - $ref: '#/components/schemas/Currency_Fiat'
      description: 'Currency


        Can be either crypto or fiat

        '
      discriminator:
        mapping:
          Crypto: '#/components/schemas/Currency_Crypto'
          Fiat: '#/components/schemas/Currency_Fiat'
        propertyName: type
      type: object
    FeeSchedule_BipsFeeRequest:
      allOf:
      - properties:
          type:
            enum:
            - Bips
            example: Bips
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/BipsFeeRequest'
      description: 'Fee Schedule


        The Schedule of Fees associated with a Partner

        '
    TieredFee:
      description: 'Tiered Fee


        A Tiered Fee associated with a Partner based on volume thresholds

        '
      properties:
        fee_value_in_bips:
          description: Fee value for this tier as a percentage in bips
          format: uint32
          type: integer
        volume_threshold:
          description: Minimum volume required to qualify for this fee tier
          format: decimal
          type: string
      required:
      - volume_threshold
      - fee_value_in_bips
      title: TieredFee
      type: object
    CreatePartnerFeeProfileRequest:
      description: 'Create Partner Fee Profile Request


        Parameters for creating a new transactional fee profile as a partner.

        Iron fee settings (including whether the on-chain network fee is enabled)

        are inherited from the partner''s invoicing fee profile.'
      properties:
        banking_fee_configs:
          description: 'Banking fee configurations. Each entry''s fee currency is constrained

            by its rail to avoid FX exposure:

            SEPA→EUR, FPS/CHAPS→GBP, PIX→BRL, SPEI→MXN, all other rails (ACH,

            WIRE, RTP, SWIFT, CHATS, AFRICAN_BANK_TRANSFER, MOBILE_MONEY)→USD.'
          items:
            $ref: '#/components/schemas/BankingFeeConfiguration'
          type: array
        name:
          description: The name of the fee profile
          type: string
        network_fee_settlement:
          $ref: '#/components/schemas/FeeSettlement'
        transaction_fee_bips:
          description: Transaction fee in basis points (bps). 100 bps = 1%.
          format: uint32
          type: integer
      required:
      - name
      - network_fee_settlement
      - transaction_fee_bips
      - banking_fee_configs
      title: CreatePartnerFeeProfileRequest
      type: object
    PartnerFeeLabel:
      enum:
      - maintenance
      - account_setup
      - onboarding
      - partner
      - customer
      - banking
      - surcharge
      type: string
    VariableFee:
      description: 'Variable Fee


        A Variable Fee associated with a Partner based on a variable fee schedule

        '
      properties:
        volume_tiers:
          description: The variable fees
          items:
            $ref: '#/components/schemas/TieredFee'
          type: array
      required:
      - volume_tiers
      title: VariableFee
      type: object
    CurrencyPair:
      description: 'Currency Pair


        A currency pair for a fee profile rule

        '
      properties:
        from_currency:
          $ref: '#/components/schemas/Currency'
        to_currency:
          $ref: '#/components/schemas/Currency'
      required:
      - from_currency
      - to_currency
      title: CurrencyPair
      type: object
    BankingFeeConfiguration:
      description: 'Banking Fee Config Request


        A banking fee config request which can be deducted immediately from the transaction amount

        '
      properties:
        fee_amount:
          description: The fee amount of the banking fee
          format: decimal
          type: string
        fiat_transfer_type:
          $ref: '#/components/schemas/FiatTransfer'
        rail:
          $ref: '#/components/schemas/PaymentNetwork'
      required:
      - rail
      - fee_amount
      - fiat_transfer_type
      title: BankingFeeConfiguration
      type: object
    PagedList_FeeProfile:
      description: 'PagedList


        A list of items with cursors used to fetch the next or previous page

        '
      properties:
        cursor:
          description: The cursor used to fetch the next page
          format: uuid
          type: string
        items:
          description: The list of items
          items:
            $ref: '#/components/schemas/FeeProfile'
          type: array
        prev_cursor:
          default: null
          description: The cursor used to fetch the previous page
          format: uuid
          type: string
      required:
      - items
      title: PagedList_FeeProfile
      type: object
    Currency_Fiat:
      allOf:
      - properties:
          type:
            enum:
            - Fiat
            example: Fiat
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/Fiat'
      description: 'Currency


        Can be either crypto or fiat

        '
    Amount:
      description: 'An amount of money

        '
      example:
        amount: '100.5'
        currency:
          code: USD
          type: Fiat
      properties:
        amount:
          description: The amount, a decimal number
          format: decimal
          type: string
        currency:
          $ref: '#/components/schemas/Currency'
      required:
      - amount
      - currency
      title: Amount
      type: object
    PartnerFeeType:
      anyOf:
      - $ref: '#/components/schemas/PartnerFeeType_PartnerFixedFee'
      - $ref: '#/components/schemas/PartnerFeeType_PartnerBipsFee'
      discriminator:
        mapping:
          Bips: '#/components/schemas/PartnerFeeType_PartnerBipsFee'
          Fixed: '#/components/schemas/PartnerFeeType_PartnerFixedFee'
        propertyName: type
      type: object
    PartnerFixedFee:
      description: 'Partner Fixed Fee


        A fixed fee for a partner

        '
      properties:
        fixed_fee:
          $ref: '#/components/schemas/Amount'
      required:
      - fixed_fee
      title: PartnerFixedFee
      type: object
    AutorampType:
      description: 'Autoramp type


        The type (onramp, offramp, swap) of an autoramp'
      enum:
      - Onramp
      - Offramp
      - Swap
      - Mint
      - Redeem
      type: string
    FeeSchedule:
      anyOf:
      - $ref: '#/components/schemas/FeeSchedule_BipsFeeRequest'
      - $ref: '#/components/schemas/FeeSchedule_VariableFee'
      - $ref: '#/components/schemas/FeeSchedule_TimeWindowedFeeSchedule'
      description: 'Fee Schedule


        The Schedule of Fees associated with a Partner

        '
      discriminator:
        mapping:
          Bips: '#/components/schemas/FeeSchedule_BipsFeeRequest'
          Tiered: '#/components/schemas/FeeSchedule_VariableFee'
          TimeWindowed: '#/components/schemas/FeeSchedule_TimeWindowedFeeSchedule'
        propertyName: type
      type: object
    BipsFeeRequest:
      description: 'Bips Fee Request


        The request for a bips fee

        '
      properties:
        bips:
          description: The bips fee value
          format: uint32
          type: integer
      required:
      - bips
      title: BipsFeeRequest
      type: object
    WindowFee_VariableFee:
      allOf:
      - properties:
          type:
            enum:
            - Tiered
            example: Tiered
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/VariableFee'
    Currency_Crypto:
      allOf:
      - properties:
          type:
            enum:
            - Crypto
            example: Crypto
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/Crypto'
      description: 'Currency


        Can be either crypto or fiat

        '
    PaymentNetwork:
      description: 'PaymentNetwork


        A payment network

        '
      enum:
      - Sepa
      - Swift
      - Fps
      - Chats
      - Ach
      - Wire
      - Rtp
      - Fednow
      - Pix
      - Spei
      - AfricanBankTransfer
      - MobileMoney
      - Chaps
      type: string
    NonTransactionalPartnerFeeConfig:
      description: 'Non-Transactional Partner Fee Config


        A non-transactional partner fee config

        '
      properties:
        billing_type:
          $ref: '#/components/schemas/BillingType'
        fee_type:
          $ref: '#/components/schemas/PartnerFeeType'
        label:
          $ref: '#/components/schemas/PartnerFeeLabel'
        settlement:
          $ref: '#/components/schemas/FeeSettlement'
      required:
      - label
      - fee_type
      - billing_type
      - settlement
      title: NonTransactionalPartnerFeeConfig
      type: object
    PartnerFeeType_PartnerFixedFee:
      allOf:
      - properties:
          type:
            enum:
            - Fixed
            example: Fixed
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/PartnerFixedFee'
    FeeSchedule_TimeWindowedFeeSchedule:
      allOf:
      - properties:
          type:
            enum:
            - TimeWindowed
            example: TimeWindowed
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/TimeWindowedFeeSchedule'
      description: 'Fee Schedule


        The Schedule of Fees associated with a Partner

        '
    FiatTransfer:
      description: 'Fiat Transfer


        The type of fiat transfer

        '
      enum:
      - PayIn
      - PayOut
      type: string
    FeeSettlement:
      description: 'Fee Settlement


        The settlement type for the fee

        '
      enum:
      - deductedImmediately
      - settledLater
      type: string
    TimeWindowedFeeSchedule:
      properties:
        windows:
          description: Non-overlapping, sorted windows; the last must be open-ended (`valid_to == None`).
          items:
            $ref: '#/components/schemas/TimeWindowedFee'
          type: array
      required:
      - windows
      title: TimeWindowedFeeSchedule
      type: object
    FeeSchedule_VariableFee:
      allOf:
      - properties:
          type:
            enum:
            - Tiered
            example: Tiered
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/VariableFee'
      description: 'Fee Schedule


        The Schedule of Fees associated with a Partner

        '
    WindowFee:
      anyOf:
      - $ref: '#/components/schemas/WindowFee_BipsFeeRequest'
      - $ref: '#/components/schemas/WindowFee_VariableFee'
      discriminator:
        mapping:
          Bips: '#/components/schemas/WindowFee_BipsFeeRequest'
          Tiered: '#/components/schemas/WindowFee_VariableFee'
        propertyName: type
      type: object
    PartnerFeeType_PartnerBipsFee:
      allOf:
      - properties:
          type:
            enum:
            - Bips
            example: Bips
            type: string
        required:
        - type
        type: object
      - $ref: '#/components/schemas/PartnerBipsFee'
    FeeProfileType:
      description: 'Fee Profile Type


        The type of fee profile

        '
      enum:
      - Invoicing
      - Transactional
      type: string
    BankingFeeConfig:
      description: 'Banking Fee Config Response


        A banking fee config response which can be deducted immediately from the transaction amount or invoiced monthly/separately

        '
      properties:
        billing_type:
          $ref: '#/components/schemas/BillingType'
        fee_amount:
          $ref: '#/components/schemas/Amount'
        fiat_transfer_type:
          $ref: '#/components/schemas/FiatTransfer'
        rail:
          $ref: '#/components/schemas/PaymentNetwork'
        settlement:
          $ref: '#/components/schemas/FeeSettlement'
      required:
      - rail
      - fee_amount
      - fiat_transfer_type
      - billing_type
      - settlement
      title: BankingFeeConfig
      type: object
    Fiat:
      description: A fiat currency
      example:
        code: USD
      properties:
        code:
          description: The code of the currency e.g. 'USD'
          type: string
      required:
      - code
      title: Fiat
      type: object
    AutorampSource:
      description: 'Autoramp Source


        The source of the autoramp'
      enum:
      - Standalone
      - Quote
      type: string
    Blockchain:
      description: 'Blockchain


        A type of blockchain

        '
      enum:
      - Solana
      - Ethereum
      - Polygon
      - Arbitrum
      - Base
      - Stellar
      - Citrea
      - Plasma
      - Avalanche
      - Moca
      - Tempo
      - Tron
      - Bsc
      type: string
  parameters:
    XApiVersion:
      description: 'Selects the API version for this request, as an ISO date (`YYYY-MM-DD`). Omit to use the default version (`2025-03-13`). Supported versions: 2025-03-13, 2026-07-01.'
      in: header
      name: X-API-Version
      required: false
      schema:
        type: string
  securitySchemes:
    ApiKeyAuth:
      description: API Key
      in: header
      name: X-API-Key
      type: apiKey