Xflow FeePlans API

The FeePlans API from Xflow — 2 operation(s) for feeplans.

Operations 4

GET /v1/fee_plans #
POST /v1/fee_plans #
GET /v1/fee_plans/{fee_plan} #
POST /v1/fee_plans/{fee_plan} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/xflow-feeplans-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

xflow-feeplans-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@xflowpay.com
    name: Xflow Support
    url: https://xflowpay.com
  description: The Xflow REST API. Please see https://docs.xflowpay.com/2024-02-05/api for more details.
  termsOfService: https://docs.xflowpay.com/platform-agreement
  title: Xflow Accounts Fee Plans API
  version: '2024-02-05'
servers:
- url: https://api.xflowpay.com/
security:
- bearerAuth: []
tags:
- name: FeePlans
paths:
  /v1/fee_plans:
    get:
      description: Returns a list of FeePlans.
      operationId: ListFeePlans
      parameters:
      - description: This header specifies the connected user's account on behalf of which the request is being made.
        in: header
        name: Xflow-Account
        required: false
        schema:
          type: string
      - description: Return results where the `created` field is equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: created.eq
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `created` field is greater than the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: created.gt
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `created` field is greater than or equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: created.gte
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `created` field is lesser than the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: created.lt
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `created` field is lesser than or equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: created.lte
        required: false
        schema:
          format: unix-time
          type: integer
      - description: A cursor for use in pagination. `ending_before` is an object identifier that defines your place in the list. For instance, if you make a list request and receive 5 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
        in: query
        name: ending_before
        required: false
        schema:
          type: string
      - description: A limit on the number of objects to be returned, between 1 and 10. If this parameter is not specified, a default value of 10 is assumed.
        in: query
        name: limit
        required: false
        schema:
          type: integer
      - description: Unique identifier of an account object associated with this FeePlan.
        in: query
        name: linked_id
        required: false
        schema:
          items:
            enum:
            - account
            type: string
          type: array
      - description: A cursor for use in pagination. `starting_after` is an object identifier that defines your place in the list. For instance, if you make a list request and receive 5 objects, ending with `obj_bar`, your subsequent call can include `starting_after=obj_bar` in order to fetch the next page of the list.
        in: query
        name: starting_after
        required: false
        schema:
          type: string
      - description: The status of the FeePlan.
        in: query
        name: status
        required: false
        schema:
          items:
            enum:
            - activated
            - deactivated
            type: string
          type: array
      - description: The type of FeePlan.
        in: query
        name: type
        required: false
        schema:
          enum:
          - account_fees
          - account_fees_passthrough
          type: string
      - description: Return results where the `validity.from` field is equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.from.eq
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.from` field is greater than the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.from.gt
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.from` field is greater than or equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.from.gte
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.from` field is lesser than the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.from.lt
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.from` field is lesser than or equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.from.lte
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.to` field is equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.to.eq
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.to` field is greater than the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.to.gt
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.to` field is greater than or equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.to.gte
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.to` field is lesser than the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.to.lt
        required: false
        schema:
          format: unix-time
          type: integer
      - description: Return results where the `validity.to` field is lesser than or equal to the timestamp value in seconds elapsed since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time).
        in: query
        name: validity.to.lte
        required: false
        schema:
          format: unix-time
          type: integer
      responses:
        '200':
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                properties:
                  data:
                    items:
                      $ref: '#/components/schemas/fee_plan'
                    type: array
                  has_next:
                    description: True if this list has another page of items after this one that can be fetched.
                    type: boolean
                  object:
                    description: String representing the object's type. Objects of the same type share the same value. Always has the value `list`.
                    enum:
                    - list
                    type: string
                title: ListFeePlansResponse
                type: object
          description: Successful response.
        default:
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_object'
          description: Error response.
      tags:
      - FeePlans
    post:
      description: Create a FeePlan.
      operationId: CreateFeePlan
      parameters:
      - description: This header specifies the connected user's account on behalf of which the request is being made.
        in: header
        name: Xflow-Account
        required: false
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                deposit:
                  description: Deposit fee details.
                  items:
                    properties:
                      currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the amount currency.
                        type: string
                      enabled:
                        description: This represents whether the payment method is enabled or not.
                        type: boolean
                      payment_method_name:
                        description: This represents the name of the payment method.
                        enum:
                        - affirm
                        - afterpay
                        - check
                        - ach_debit
                        - klarna
                        type: string
                      payment_method_type:
                        description: This represents the name of the payment method type.
                        enum:
                        - buy_now_pay_later
                        - check
                        - domestic_debit
                        type: string
                      processing_fee_indicator:
                        description: This is an account level setting which defines how fees associated with specific payment methods are split between the partner and the Xflow user.
                        enum:
                        - partner
                        - shared
                        - user
                        type: string
                      variable:
                        description: This is the percentage value that is used to calculate the fee.
                        type: string
                    title: CreateFeePlanDeposit
                    type: object
                  type: array
                metadata:
                  additionalProperties:
                    type: string
                  description: Set of [key-value pairs](https://docs.xflowpay.com/2024-02-05/api#metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
                  title: CreateFeePlanRequestMetadata
                  type: object
                linked_id:
                  description: Unique identifier of an account object associated with this FeePlan.
                  type: string
                linked_object:
                  description: The type of object that this FeePlan object is associated with. This can only be `account` for now.
                  enum:
                  - account
                  type: string
                payout:
                  description: Payout fee details.
                  items:
                    properties:
                      destination_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the destination amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      fixed:
                        description: Fixed payout fee amount.
                        type: string
                      minimum:
                        description: Minimum payout fee amount.
                        type: string
                      source_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the source amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      variable:
                        description: This is the percentage value that is used to calculate the fee.
                        type: string
                    title: CreateFeePlanPayout
                    type: object
                  type: array
                payout_fx:
                  description: Payout FX fee details.
                  items:
                    properties:
                      destination_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the destination amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      reference_rate:
                        description: FX markup reference rate. This can be set to `mid_market` for all currency pairs or `inter_bank` for `source_currency=USD` and `destination_currency=INR`.
                        enum:
                        - inter_bank
                        - mid_market
                        type: string
                      source_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the source amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      variable:
                        description: This is the percentage value that is used to calculate the fee.
                        type: string
                    title: CreateFeePlanPayoutFX
                    type: object
                  type: array
                receivable_reconcile:
                  description: Receivable reconcile fee details.
                  type: array
                  items:
                    type: object
                    title: FeePlanReceivableReconcile
                    properties:
                      destination_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the destination amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      fixed:
                        description: Fixed receivable reconcile fee amount.
                        type: string
                      minimum:
                        description: Minimum receivable reconcile fee amount.
                        type: string
                      source_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the source amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      variable:
                        description: This is the percentage value that is used to calculate the fee.
                        type: string
                transfer_fx:
                  description: Transfer FX fee details.
                  items:
                    properties:
                      destination_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the destination amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      reference_rate:
                        description: FX markup reference rate. This can be set to `mid_market`.
                        enum:
                        - mid_market
                        type: string
                      source_currency:
                        description: The [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) 3-digit code for the source amount currency. The character * is a wildcard and can be used to represent all supported currencies.
                        type: string
                      variable:
                        description: This is the percentage value that is used to calculate the fee.
                        type: string
                      variable_off_hours:
                        description: This is the percentage value that is used to calculate the fee when the transfer is initiated outside of market hours.
                        type: string
                    title: CreateFeePlanTransferFX
                    type: object
                  type: array
                type:
                  description: The type of FeePlan.
                  enum:
                  - account_fees
                  - account_fees_passthrough
                  type: string
              required:
              - linked_id
              - linked_object
              - type
              title: CreateFeePlanRequest
              type: object
      responses:
        '200':
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_plan'
          description: Successful response.
        default:
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_object'
          description: Error response.
      tags:
      - FeePlans
  /v1/fee_plans/{fee_plan}:
    get:
      description: Retrieves the details of an account.
      operationId: RetrieveFeePlan
      parameters:
      - description: This header specifies the connected user's account on behalf of which the request is being made.
        in: header
        name: Xflow-Account
        required: false
        schema:
          type: string
      - in: path
        name: fee_plan
        required: true
        schema:
          type: string
        style: simple
      responses:
        '200':
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_plan'
          description: Successful response.
        default:
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_object'
          description: Error response.
      tags:
      - FeePlans
    post:
      description: Update the details of a FeePlan.
      operationId: UpdateFeePlan
      parameters:
      - description: This header specifies the connected user's account on behalf of which the request is being made.
        in: header
        name: Xflow-Account
        required: false
        schema:
          type: string
      - in: path
        name: fee_plan
        required: true
        schema:
          type: string
        style: simple
      requestBody:
        content:
          application/json:
            schema:
              properties:
                metadata:
                  additionalProperties:
                    type: string
                  description: Set of [key-value pairs](https://docs.xflowpay.com/2024-02-05/api#metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
                  title: UpdateFeePlanRequestMetadata
                  type: object
              title: UpdateFeePlanRequest
              type: object
      responses:
        '200':
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_plan'
          description: Successful response.
        default:
          headers:
            Date:
              schema:
                type: string
            Content-Length:
              schema:
                type: integer
            Connection:
              schema:
                type: string
            x-amzn-RequestId:
              schema:
                type: string
            xflow-request-id:
              schema:
                type: string
            x-amz-apigw-id:
              schema:
                type: string
            X-Amzn-Trace-Id:
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error_object'
          description: Error response.
      tags:
      - FeePlans
components:
  schemas:
    error_object:
      description: 'Xflow uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the `2xx` range indicate success. Codes in the `4xx` range indicate an error that failed given the information provided (e.g., a required parameter was omitted, a payment failed, etc.). Codes in the `5xx` range indicate an error with Xflow’s servers (these are rare).'
      properties:
        errors:
          description: An array of errors. Each element is a specific error.
          maxItems: 1
          minItems: 1
          items:
            properties:
              code:
                description: Enum value specific to the error. All Xflow error codes are defined [here](https://docs.xflowpay.com/latest/errors).
                enum:
                - account_activation_failed_missing_payout_address
                - account_activation_failed_missing_person
                - account_activation_failed_incorrect_number_of_persons
                - account_activation_failed_incorrect_relationship_for_person
                - account_email_invalid
                - account_id_invalid
                - account_not_unique_nickname
                - account_parameter_not_editable
                - account_partner_activate_disallowed
                - account_partner_deactivate_disallowed
                - account_platform_activate_disallowed
                - account_platform_create_disallowed
                - account_setting_parameter_not_editable
                - account_status_invalid
                - account_type_invalid
                - account_update_access_unauthorized
                - account_user_activate_disallowed
                - account_user_create_disallowed
                - action_invalid
                - action_not_enabled
                - action_unauthorized
                - address_cannot_be_deactivated
                - address_category_mismatch
                - address_category_not_allowed
                - address_domestic_credit_invalid
                - address_global_wire_invalid
                - address_global_wire_not_supported
                - address_parameter_not_editable
                - address_type_not_allowed
                - balance_insufficient
                - cancelled_request
                - country_code_invalid
                - country_code_not_supported
                - currency_amount_mismatch
                - currency_not_supported
                - date_invalid_format
                - deposit_account_address_mismatch
                - deposit_account_id_mismatch
                - deposit_parameter_not_editable
                - duplicate_currencies_not_supported
                - duplicate_values_found
                - event_type_invalid
                - fee_plan_parameter_not_editable
                - file_name_invalid
                - file_name_length_invalid
                - file_parameter_not_editable
                - file_purpose_mismatch
                - file_size_limit_exceeded
                - file_request_body_invalid
                - file_type_unsupported
                - header_parameter_invalid
                - header_parameter_missing
                - http_parameter_invalid
                - invalid_amount
                - invoice_date_invalid
                - invoice_due_date_invalid
                - metadata_count_exceeded
                - metadata_key_max_length_invalid
                - metadata_key_min_length_invalid
                - metadata_value_max_length_invalid
                - metadata_value_min_length_invalid
                - multiple_xflow_receive_same_category_not_allowed
                - minimum_required_values_not_present
                - object_not_found
                - parameter_address_invalid
                - parameter_character_invalid
                - parameter_empty
                - parameter_file_invalid
                - parameter_max_length_invalid
                - parameter_min_length_invalid
                - parameter_range_invalid
                - parameter_receivable_invalid
                - parameter_unexpected
                - parameter_value_invalid
                - payment_link_account_receivable_mismatch
                - payment_link_activate_disallowed
                - payment_link_deactivate_invalid
                - payment_link_expire_invalid
                - payment_link_extend_disallowed
                - payment_link_extend_invalid
                - payment_link_non_us_account_non_usd_currency
                - payment_link_parameter_not_editable
                - payment_link_receivable_count_exceed
                - payment_link_receivable_status_invalid
                - payout_parameter_not_editable
                - person_delete_not_allowed
                - person_parameter_not_editable
                - person_relationship_not_set
                - person_update_not_allowed
                - purpose_code_not_supported
                - receivable_additional_info_required
                - receivable_amount_invoice_amount_mismatch
                - receivable_amount_maximum_reconcilable_incorrect
                - receivable_cancel_disallowed
                - receivable_confirm_action_disallowed
                - receivable_creation_date_invoice_creation_date_mismatch
                - receivable_currency_invoice_currency_mismatch
                - receivable_due_date_invoice_due_date_mismatch
                - receivable_hold
                - receivable_invoice_document_incorrect
                - receivable_invoice_reference_number_exists
                - receivable_invoice_transaction_type_incorrect
                - receivable_parameter_not_editable
                - receivable_partner_country_invoice_partner_country_mismatch
                - receivable_partner_invoice_partner_mismatch
                - receivable_reconcile_action_disallowed
                - receivable_reconcile_amount_exceed
                - receivable_reference_number_invoice_reference_number_mismatch
                - receivable_unable_to_process
                - receivable_update_access_unauthorized
                - request_body_invalid
                - request_query_parameter_invalid
                - resource_locked
                - secret_key_invalid
                - secret_key_missing
                - testmode_action_only
                - timestamp_invalid
                - transfer_failed
                - transfer_parameter_not_editable
                - transfer_type_invalid
                - url_invalid
                - webhook_endpoint_limit_exceeded
                - webhook_endpoint_parameter_not_editable
                - website_invalid
                type: string
              message:
                description: Description of the error with guidance on how to recover.
                type: string
              metadata:
                additionalProperties:
                  type: string
                description: Additional information associated with the error in the form of key-value pairs.
                title: ErrorMetadata
                type:
                - object
                - 'null'
            title: ErrorObjectSingle
            type: object
          type: array
        http_status_code:
          description: HTTP status code.
          type: integer
        object:
          description: String representing the object's type. Objects of the same type share the same value.
          enum:
          - error
          type: string
      title: ErrorObject
      type: object
    fee_plan:
      description: The FeePlan object models the different fees for a platform, 

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/xflow/refs/heads/main/openapi/xflow-feeplans-api-openapi.yml