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

# List fee configs

> Get a paginated list of all fee configs



## OpenAPI

````yaml openapi-v1.json get /fee_configs
openapi: 3.0.3
info:
  description: >-
    This is the official reference documentation for Synctera APIs. If you need
    something specific or have a question, <a class='text-blue-600'
    href='https://synctera.com/contact-us' target='_blank'
    rel='noreferrer'>contact us</a>.</p>
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: Synctera API
  version: 1.188.0
servers:
  - description: Production
    url: https://api.synctera.com/v1
  - description: Sandbox (no real world financial impact)
    url: https://api-sandbox.synctera.com/v1
security:
  - bearerAuth: []
tags:
  - description: |
      Requests to create and manage Rewards
    name: Rewards (beta)
  - description: Requests to generate simulated webhooks
    name: Card Webhook Simulations
  - description: >-
      Testing endpoints to simulate in-store cash deposits. Available in sandbox
      environments only.
    name: In-Store Cash Deposit Simulations
  - description: Create and manage spending controls
    name: Spend Controls (beta)
  - description: Rates
    name: Rates
  - description: Requests to create and manage webhooks
    name: Webhooks
  - description: Tenant Config
    name: Tenant Config
  - description: FDX authentication and data transfer using Plaid Core Exchange
    name: Plaid Core Exchange (beta)
  - description: Create and manage disputes
    name: Disputes
  - description: Requests to simulate card payments
    name: Card Simulations
  - description: >-
      Aggregated write-off amounts for lending accounts, computed from posted
      transactions.
    name: Write Off Amounts
  - description: |
      Manage fee products and fee configs for automated fee collection
    name: Fee Products
  - description: Apple Pay APIs
    name: Apple Pay
  - description: Lending Config
    name: Lending Config
  - description: Payments related to lending accounts
    name: Payments
  - description: Manage negative balance processes
    name: Negative Balance
  - description: Configuration for mapping LoanPro events to Payola transaction parameters
    name: LoanPro Transaction Event Config
  - description: Requests to generate simulated transactions
    name: Cash Transaction Simulations (alpha)
  - description: Create and manage transactions
    name: Transactions (beta)
  - description: Autopay payment records for billing periods
    name: Autopays
  - description: Create and manage accounts
    name: Accounts
  - description: |
      Requests to create and manage batch payments
    name: Batch Payments (alpha)
  - description: Billing rates
    name: Billing Rates
  - description: Bank Delinquency Configuration
    name: Bank Delinquency Configuration
  - description: >-
      Rules that map a posted payment transaction (bank/partner + transaction
      attributes) to a regulatory payment code. NULL match columns act as
      wildcards.
    name: Payment Code Configuration
  - description: Create and manage Synctera Pay templates
    name: SyncteraPay
  - description: |
      Manage reward products and reward configs for automated cashback rewards
    name: Reward Products
  - description: Requests to create and manage card disputes
    name: Card Disputes
  - description: >-
      Per bank/partner account-type mapping to FFIEC collateral codes used for
      regulatory call report furnishment.
    name: Collateral Code Configuration
  - description: Bulk card issuance
    name: Bulk Issuance
  - description: Autopay configuration management for lending accounts
    name: Autopay Configs
  - description: Request to create and manage exclusions
    name: Statements
  - description: Create and manage barcodes for in-store cash deposits
    name: In-Store Cash Deposits
  - description: Customer Service Details for disputes and billing inquiries
    name: Customer Service Details
  - description: Create a credit application.
    name: Applications (beta)
  - description: Requests to generate simulated transactions
    name: Card Transaction Simulations
  - description: Billing period summaries
    name: Billing Period Summaries
  - description: Requests to issue and manage cards
    name: Cards
  - description: Push and pull from cards
    name: External Cards
  - description: |
      Requests to create and manage fees
    name: Fees (beta)
paths:
  /fee_configs:
    summary: Fee Configs
    description: Manage fee configs for automated fee collection
    get:
      tags:
        - Fee Products
      summary: List fee configs
      description: Get a paginated list of all fee configs
      operationId: listFeeConfigs
      parameters:
        - explode: false
          in: query
          name: status
          schema:
            items:
              $ref: '#/components/schemas/fee_product_status'
            type: array
          style: form
        - explode: false
          in: query
          name: template_id
          schema:
            items:
              format: uuid
              type: string
            type: array
          style: form
        - explode: false
          in: query
          name: name
          schema:
            items:
              type: string
            type: array
          style: form
        - explode: false
          in: query
          name: sort_by
          schema:
            items:
              enum:
                - creation_time:asc
                - creation_time:desc
                - fee_category:asc
                - fee_category:desc
              type: string
            type: array
          style: form
        - description: >-
            Case insensitive wildcard search for description, wildcards can be
            specified with '*'. Wildcards at both the start and the end of the
            input is assumed.
          in: query
          name: description_like
          schema:
            type: string
        - in: query
          name: from_creation_time
          schema:
            format: date-time
            type: string
        - description: >-
            Case insensitive wildcard search for name, wildcards can be
            specified with '*'. Wildcards at both the start and the end of the
            input is assumed.
          in: query
          name: name_like
          schema:
            type: string
        - explode: false
          in: query
          name: description
          schema:
            items:
              type: string
            type: array
          style: form
        - in: query
          name: from_last_updated_time
          schema:
            format: date-time
            type: string
        - description: >-
            Case insensitive wildcard search for status, wildcards can be
            specified with '*'. Wildcards at both the start and the end of the
            input is assumed.
          in: query
          name: status_like
          schema:
            type: string
        - explode: false
          in: query
          name: fee_category
          schema:
            items:
              $ref: '#/components/schemas/fee_category'
            type: array
          style: form
        - in: query
          name: to_last_updated_time
          schema:
            format: date-time
            type: string
        - in: query
          name: reverse_with_parent
          schema:
            type: boolean
        - $ref: '#/components/parameters/page_token'
        - description: >-
            Case insensitive wildcard search for fee_category, wildcards can be
            specified with '*'. Wildcards at both the start and the end of the
            input is assumed.
          in: query
          name: fee_category_like
          schema:
            type: string
        - $ref: '#/components/parameters/limit'
        - in: query
          name: to_creation_time
          schema:
            format: date-time
            type: string
        - explode: false
          in: query
          name: id
          schema:
            items:
              format: uuid
              type: string
            type: array
          style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/fee_config_list'
          description: List of fee configs
        '400':
          $ref: '#/components/responses/bad_request'
        '401':
          $ref: '#/components/responses/unauthorized'
        '403':
          $ref: '#/components/responses/forbidden'
        '500':
          $ref: '#/components/responses/internal_server_error'
components:
  schemas:
    fee_product_status:
      enum:
        - active
        - inactive
      type: string
    fee_category:
      description: >
        The category of event that triggers or schedules this fee.

        Trigger-based categories (ach:*, wire:*, card:*, account:*) fire when a
        matching

        transaction is posted. Scheduled categories (schedule:*) fire on a
        time-based cadence.
      enum:
        - account:nsf
        - account:overdraft
        - account:statement_paper
        - ach:incoming
        - ach:incoming_credit_return
        - ach:incoming_debit_return
        - ach:outgoing
        - ach:outgoing_credit
        - ach:outgoing_credit_return
        - ach:outgoing_debit
        - card:atm_out_of_network
        - card:atm_withdrawal
        - card:cash_advance
        - card:cash_advance_financial_services
        - card:cash_advance_gaming_betting
        - card:cash_advance_quasi_cash
        - card:foreign_transaction
        - card:mcc_based
        - schedule:account_anniversary
        - schedule:daily_while_overdrawn
        - schedule:monthly
        - schedule:monthly_if_below_minimum
        - schedule:monthly_if_dormant
        - wire:incoming
        - wire:outgoing_domestic
        - wire:outgoing_international
      type: string
    fee_config_list:
      allOf:
        - $ref: '#/components/schemas/paginated_response'
        - properties:
            fee_configs:
              description: Array of fee configs
              items:
                $ref: '#/components/schemas/fee_config_response'
              type: array
          required:
            - fee_configs
          type: object
      type: object
    paginated_response:
      properties:
        next_page_token:
          description: >-
            If returned, use the next_page_token to query for the next page of
            results. Not returned if there are no more rows.
          example: a8937a0d
          type: string
      title: Paginated List response
      type: object
    fee_config_response:
      allOf:
        - properties:
            creation_time:
              example: '2024-01-15T10:00:00Z'
              format: date-time
              readOnly: true
              type: string
            id:
              description: Unique identifier for this fee config.
              example: 5c943c51-e4ff-4e57-9558-08cab6b96398
              format: uuid
              type: string
            last_updated_time:
              example: '2024-06-01T12:00:00Z'
              format: date-time
              readOnly: true
              type: string
            tenant:
              $ref: '#/components/schemas/tenant_id'
        - required:
            - amount_config
            - creation_time
            - fee_category
            - id
            - last_updated_time
            - name
            - status
            - tenant
        - $ref: '#/components/schemas/fee_config_base'
      type: object
    error:
      description: Synctera error responses in API v1 implement a custom error schema.
      properties:
        code:
          description: >
            A machine-readable string that identifies the error for programmatic
            use.
          example: BAD_REQUEST_BODY
          type: string
        detail:
          description: |
            A human-readable string explaining this particular error.
          example: 'Missing required fields: first_name, dob'
          type: string
        status:
          description: HTTP status code for this response
          example: 400
          type: integer
      title: Synctera error response
      type: object
    tenant_id:
      description: |
        The id of the tenant containing the resource.
      example: abcdef_ghijkl
      type: string
    fee_config_base:
      properties:
        amount_config:
          $ref: '#/components/schemas/fee_amount_config'
        description:
          description: Description of this fee rule.
          example: Charged when an ACH debit is initiated
          type: string
        fee_category:
          $ref: '#/components/schemas/fee_category'
        in_auth:
          default: false
          description: >
            When true, this fee is evaluated and held at authorization time
            (when the

            parent hold is created) rather than post-hoc when the transaction is
            posted.

            The fee hold is batched with the main hold in a single atomic
            centinel request.
          example: false
          type: boolean
        name:
          description: Human-readable name for this fee rule.
          example: ACH Outgoing Debit Fee
          type: string
        respect_balance_checks:
          description: >
            When true, posting this fee respects the account's balance
            constraints.

            If the account has insufficient balance at the time of posting, the
            fee is

            held rather than posted immediately. A daily retry job will attempt
            to post

            held fees once the account balance is sufficient.
          example: false
          type: boolean
        reverse_with_parent:
          description: >
            When true, reversals of the triggering transaction also reverse this
            fee.
          example: true
          type: boolean
        rule_config:
          $ref: '#/components/schemas/fee_rule_config'
        status:
          $ref: '#/components/schemas/fee_product_status'
        template_id:
          description: >
            ID of the fee template that provides accounting setup (internal
            account, currency,

            subtype) for automated fee posting. Required for trigger-based and
            scheduled fees.
          example: 8b943c51-e4ff-4e57-9558-08cab6b96234
          format: uuid
          type: string
      type: object
    fee_amount_config:
      description: |
        Amount calculation parameters for a fee config.
        amount_type determines which config field is used.
      properties:
        amount_type:
          $ref: '#/components/schemas/fee_amount_type'
        config:
          $ref: '#/components/schemas/fee_amount_config_details'
      required:
        - amount_type
        - config
      type: object
    fee_rule_config:
      description: |
        Category-specific rule parameters. Provide the field that matches the
        fee_config's fee_category; all other fields must be omitted.
      properties:
        foreign_transaction:
          $ref: '#/components/schemas/fee_rule_config_foreign_transaction'
        mcc_based:
          $ref: '#/components/schemas/fee_rule_config_mcc_based'
        schedule_monthly_if_below_minimum:
          $ref: '#/components/schemas/fee_rule_config_monthly_if_below_minimum'
      type: object
    fee_amount_type:
      enum:
        - fixed
        - percentage
        - transaction_amount_tiered
      type: string
    fee_amount_config_details:
      description: >
        Sub-config for fee amount calculation.

        The populated field must match the parent amount_type:

        fixed → fixed_amount, percentage → percentage, transaction_amount_tiered
        → transaction_amount_tiered.
      properties:
        fixed_amount:
          $ref: '#/components/schemas/fee_amount_fixed'
        percentage:
          $ref: '#/components/schemas/fee_amount_percentage'
        transaction_amount_tiered:
          $ref: '#/components/schemas/fee_amount_transaction_tiered'
      type: object
    fee_rule_config_foreign_transaction:
      description: |
        Rule config for the card:foreign_transaction category. The fee fires
        when the posted card transaction's merchant or POS country code does
        not match the configured home country.
      properties:
        home_country_code:
          description: >
            ISO 3166-1 alpha-2 country code of the issuing BIN. Transactions

            with merchant.country_code different from this value (or
            pos.country_code

            as fallback) are treated as foreign.
          example: US
          maxLength: 2
          minLength: 2
          pattern: ^[A-Z]{2}$
          type: string
      required:
        - home_country_code
      type: object
    fee_rule_config_mcc_based:
      description: |
        Rule config for the card:mcc_based category. The fee fires when the
        posted card POS purchase MCC falls within any of the configured ranges.
      properties:
        mcc_ranges:
          description: MCC ranges that trigger this fee. Must contain at least one range.
          example:
            - lower: '5411'
              upper: '5499'
          items:
            $ref: '#/components/schemas/mcc_range'
          minItems: 1
          type: array
      required:
        - mcc_ranges
      type: object
    fee_rule_config_monthly_if_below_minimum:
      description: Rule config for the schedule:monthly_if_below_minimum category.
      properties:
        minimum_balance:
          description: >
            The fee fires when the account's end of day balance is below this
            value

            (in minor currency units).
          example: 10000
          format: int64
          type: integer
      required:
        - minimum_balance
      type: object
    fee_amount_fixed:
      description: Fixed fee sub-config.
      properties:
        amount:
          description: Fee amount in minor currency units.
          example: 300
          format: int64
          type: integer
      required:
        - amount
      type: object
    fee_amount_percentage:
      description: Percentage fee sub-config.
      properties:
        basis_points:
          description: Percentage fee in basis points (e.g. 300 = 3%).
          example: 300
          format: int64
          type: integer
      required:
        - basis_points
      type: object
    fee_amount_transaction_tiered:
      description: Tiered fee sub-config.
      properties:
        tiers:
          description: Ordered list of tiers; last tier has no upper bound (up_to null).
          items:
            $ref: '#/components/schemas/fee_config_tier'
          type: array
      required:
        - tiers
      type: object
    mcc_range:
      description: |
        An inclusive range of MCC (Merchant Category Code) strings. Both bounds
        must be 4-digit ASCII (0000-9999) so lexicographic and numeric ordering
        agree. Server enforces lower <= upper.
      properties:
        lower:
          description: Lower bound of the MCC range (inclusive), 4-digit string.
          example: '5411'
          maxLength: 4
          minLength: 4
          pattern: ^\d{4}$
          type: string
        upper:
          description: Upper bound of the MCC range (inclusive), 4-digit string.
          example: '5499'
          maxLength: 4
          minLength: 4
          pattern: ^\d{4}$
          type: string
      required:
        - lower
        - upper
      type: object
    fee_config_tier:
      description: A single tier in a tiered fee structure.
      properties:
        amount_type:
          $ref: '#/components/schemas/fee_amount_type'
        config:
          $ref: '#/components/schemas/fee_scalar_amount'
        up_to:
          description: >
            Upper bound of the transaction amount (inclusive) in minor currency
            units.

            Null means this is the last (catch-all) tier with no upper bound.
          example: 10000
          format: int64
          nullable: true
          type: integer
      required:
        - amount_type
        - config
      type: object
    fee_scalar_amount:
      description: |
        Scalar (non-tiered) fee amount options.
        Exactly one of fixed_amount or percentage should be set.
      properties:
        fixed_amount:
          $ref: '#/components/schemas/fee_amount_fixed'
        percentage:
          $ref: '#/components/schemas/fee_amount_percentage'
      type: object
  parameters:
    page_token:
      in: query
      name: page_token
      schema:
        description: >-
          Optional pagination token to be provided to retrieve subsequent pages,
          returned from previous get
        example: a8937a0d
        type: string
    limit:
      in: query
      name: limit
      schema:
        default: 100
        description: >
          Maximum number of objects to return per page. If the limit is greater
          than 100, then it will be set to 100.
        example: 100
        minimum: 1
        type: integer
  responses:
    bad_request:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Bad request
    unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Unauthorized
    forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Forbidden
    internal_server_error:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
      description: Internal server error
  securitySchemes:
    bearerAuth:
      bearerFormat: api_key
      scheme: bearer
      type: http

````