List fee agreements for an account | Moov Documentation

List fee agreements for an account

List all fee plan agreements associated with an account.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/profile.read scope.

GET

/accounts/{accountID}/fee-plan-agreements

Example Requests

curl -X GET "https://api.moov.io/accounts/{accountID}/fee-plan-agreements" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.00"
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.feePlans.listFeePlanAgreements({
    skip: 60,
    count: 20,
    accountID: "93c43634-5477-42a7-972d-01fa76a09e17",
  });

console.log(result);
}

run();
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;
use Moov\MoovPhp\Models\Operations;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();

$request = new Operations\ListFeePlanAgreementsRequest(
    skip: 60,
    count: 20,
    accountID: '93c43634-5477-42a7-972d-01fa76a09e17',
);

$response = $sdk->feePlans->list(
    request: $request
);

if ($response->feePlanAgreements !== null) {
    // handle response
}
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListFeePlanAgreementsRequest;
import io.moov.sdk.models.operations.ListFeePlanAgreementsResponse;
import java.lang.Exception;

public class Application {

public static void main(String[] args) throws Exception {

Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

ListFeePlanAgreementsRequest req = ListFeePlanAgreementsRequest.builder()
                .accountID("93c43634-5477-42a7-972d-01fa76a09e17")
                .skip(60L)
                .count(20L)
                .build();

ListFeePlanAgreementsResponse res = sdk.feePlans().listFeePlanAgreements()
                .request(req)
                .call();

if (res.feePlanAgreements().isPresent()) {
            System.out.println(res.feePlanAgreements().get());
        }
    }
}
from moovio_sdk import Moov
from moovio_sdk.models import components

with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

res = moov.fee_plans.list_fee_plan_agreements(account_id="93c43634-5477-42a7-972d-01fa76a09e17", skip=60, count=20)

# Handle response
    print(res)
require 'moov_ruby'

Models = ::Moov::Models
s = ::Moov::Client.new(
  security: Models::Components::Security.new(
    username: '',
    password: ''
  )
)

req = Models::Operations::ListFeePlanAgreementsRequest.new(
  skip: 60,
  count: 20,
  account_id: '93c43634-5477-42a7-972d-01fa76a09e17'
)
res = s.fee_plans.list_fee_plan_agreements(request: req)

unless res.fee_plan_agreements.nil?
  # handle response
end
using Moov.Sdk;
using Moov.Sdk.Models.Components;
using Moov.Sdk.Models.Requests;

var sdk = new MoovClient(security: new Security() {
    Username = "",
    Password = "",
});

ListFeePlanAgreementsRequest req = new ListFeePlanAgreementsRequest() {
    Skip = 60,
    Count = 20,
    AccountID = "93c43634-5477-42a7-972d-01fa76a09e17",
};

var res = await sdk.FeePlans.ListFeePlanAgreementsAsync(req);

// handle response

Sample Response

[  
  {  
    "agreementID": "string",  
    "planID": "string",  
    "accountID": "string",  
    "name": "string",  
    "description": "string",  
    "acceptedOn": "2019-08-24T14:15:22Z",  
    "status": "active",  
    "cardAcquiringModel": "cost-plus",  
    "billableFees": [  
      {  
        "billableFeeID": "9d957d33-1a9a-47aa-9460-fe1a90f003dd",  
        "billableEvent": "card-auth-volume",  
        "feeName": "Card decline fee",  
        "feeModel": "fixed",  
        "feeCategory": "card-acquiring",  
        "feeProperties": {  
          "fixedAmount": {  
            "currency": "USD",  
            "valueDecimal": "0.0195"  
          },  
          "variableRate": "0.15",  
          "minPerTransaction": {  
            "currency": "USD",  
            "valueDecimal": "0.0195"  
          },  
          "maxPerTransaction": {  
            "currency": "USD",  
            "valueDecimal": "0.035"  
          },  
          "volumeRanges": [  
            {  
              "fromValue": 1,  
              "toValue": 2,  
              "flatAmount": {  
                "currency": "USD",  
                "valueDecimal": "1.23"  
              },  
              "perUnitAmount": {  
                "currency": "USD",  
                "valueDecimal": "1.23"  
              }  
            }  
          ]  
        },  
        "feeConditions": {  
          "transactionType": [  
            "decline"  
          ]  
        }  
      }  
    ],  
    "minimumCommitment": {  
      "currency": "USD",  
      "valueDecimal": "12.987654321"  
    },  
    "monthlyPlatformFee": {  
      "currency": "USD",  
      "valueDecimal": "12.987654321"  
    }  
  }  
]  

Response Headers