List residual fees | Moov Documentation
List residual fees
List all fees associated with a residual.
To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/profile.read scope.
GET
/accounts/{accountID}/residuals/{residualID}/fees
Ask
curl -X GET "https://api.moov.io/accounts/{accountID}/residuals/{residualID}/fees" \
-H "Authorization: Bearer {token}" \
-H "X-Moov-Version: v2026.07.00"
Ask
mc, _ := moov.NewClient()
var accountID string
var residualID string
mc.ListResidualFees(ctx, accountID, residualID)
Ask
import { Moov } from "@moovio/sdk";
const moov = new Moov({
security: {
username: "",
password: "",
},
});
async function run() {
const result = await moov.feePlans.listResidualFees({
skip: 60,
count: 20,
accountID: "6b95293f-c3e7-42b5-98b7-fd9cc8d49685",
residualID: "8ecb1a63-25e0-41e7-a9c7-bb8a1cf63d1c",
});
console.log(result);
}
run();
Ask
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\ListResidualFeesRequest(
skip: 60,
count: 20,
accountID: '6b95293f-c3e7-42b5-98b7-fd9cc8d49685',
residualID: '8ecb1a63-25e0-41e7-a9c7-bb8a1cf63d1c',
);
$response = $sdk->feePlans->listResidualFees(
request: $request
);
if ($response->incurredFees !== null) {
// handle response
}
Ask
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.ListResidualFeesRequest;
import io.moov.sdk.models.operations.ListResidualFeesResponse;
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();
ListResidualFeesRequest req = ListResidualFeesRequest.builder()
.accountID("6b95293f-c3e7-42b5-98b7-fd9cc8d49685")
.residualID("8ecb1a63-25e0-41e7-a9c7-bb8a1cf63d1c")
.skip(60L)
.count(20L)
.build();
ListResidualFeesResponse res = sdk.feePlans().listResidualFees()
.request(req)
.call();
if (res.incurredFees().isPresent()) {
System.out.println(res.incurredFees().get());
}
}
}
Ask
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_residual_fees(account_id="6b95293f-c3e7-42b5-98b7-fd9cc8d49685", residual_id="8ecb1a63-25e0-41e7-a9c7-bb8a1cf63d1c", skip=60, count=20)
# Handle response
print(res)
Ask
require 'moov_ruby'
Models = ::Moov::Models
s = ::Moov::Client.new(
security: Models::Components::Security.new(
username: '',
password: ''
)
)
req = Models::Operations::ListResidualFeesRequest.new(
skip: 60,
count: 20,
account_id: '6b95293f-c3e7-42b5-98b7-fd9cc8d49685',
residual_id: '8ecb1a63-25e0-41e7-a9c7-bb8a1cf63d1c'
)
res = s.fee_plans.list_residual_fees(request: req)
unless res.incurred_fees.nil?
# handle response
end
Ask
using Moov.Sdk;
using Moov.Sdk.Models.Components;
using Moov.Sdk.Models.Requests;
var sdk = new MoovClient(security: new Security() {
Username = "",
Password = "",
});
ListResidualFeesRequest req = new ListResidualFeesRequest() {
Skip = 60,
Count = 20,
AccountID = "6b95293f-c3e7-42b5-98b7-fd9cc8d49685",
ResidualID = "8ecb1a63-25e0-41e7-a9c7-bb8a1cf63d1c",
};
var res = await sdk.FeePlans.ListResidualFeesAsync(req);
// handle response
The request completed successfully.
Example
[\
{\
"feeID": "string",\
"accountID": "string",\
"walletID": "string",\
"createdOn": "2019-08-24T14:15:22Z",\
"feeName": "string",\
"amount": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"generatedBy": {\
"transferID": "string",\
"cardID": "string",\
"disputeID": "string",\
"accountID": "string",\
"bankAccountID": "string",\
"invoiceID": "string"\
},\
"feeGroup": "string",\
"residualID": "string"\
}\
]