List statements | Moov Documentation
List statements
Retrieve all statements 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}/statements
Curl Example
curl -X GET "https://api.moov.io/accounts/{accountID}/statements" \
-H "Authorization: Bearer {token}" \
-H "X-Moov-Version: v2026.04.00"
TypeScript Example
import { Moov } from "@moovio/sdk";
const moov = new Moov({
security: {
username: "",
password: "",
},
});
async function run() {
const result = await moov.statements.list({
skip: 60,
count: 20,
accountID: "b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f",
});
console.log(result);
}
run();
PHP Example
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\ListStatementsRequest(
skip: 60,
count: 20,
accountID: 'b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f',
);
$response = $sdk->statements->list(
request: $request
);
if ($response->statements !== null) {
// handle response
}
Java Example
package hello.world;
import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.errors.GenericError;
import io.moov.sdk.models.operations.ListStatementsRequest;
import io.moov.sdk.models.operations.ListStatementsResponse;
import java.lang.Exception;
public class Application {
public static void main(String[] args) throws GenericError, Exception {
Moov sdk = Moov.builder()
.security(Security.builder()
.username("")
.password("")
.build())
.build();
ListStatementsRequest req = ListStatementsRequest.builder()
.accountID("b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f")
.skip(60L)
.count(20L)
.build();
ListStatementsResponse res = sdk.statements().list()
.request(req)
.call();
if (res.statements().isPresent()) {
System.out.println(res.statements().get());
}
}
}
Python Example
from moovio_sdk import Moov
from moovio_sdk.models import components
with Moov(
security=components.Security(
username="",
password="",
),
) as moov:
res = moov.statements.list(account_id="b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f", skip=60, count=20)
# Handle response
print(res)
Ruby Example
require 'moov_ruby'
Models = ::Moov::Models
s = ::Moov::Client.new(
security: Models::Components::Security.new(
username: '',
password: ''
)
)
req = Models::Operations::ListStatementsRequest.new(
skip: 60,
count: 20,
account_id: 'b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f'
)
res = s.statements.list(request: req)
unless res.statements.nil?
# handle response
end
C# Example
using Moov.Sdk;
using Moov.Sdk.Models.Components;
using Moov.Sdk.Models.Requests;
var sdk = new MoovClient(security: new Security() {
Username = "",
Password = "",
});
ListStatementsRequest req = new ListStatementsRequest() {
Skip = 60,
Count = 20,
AccountID = "b63ef5ea-db36-47f1-a72e-1a5eb1c43c0f",
};
var res = await sdk.Statements.ListAsync(req);
// handle response
Example Response
[\
{\
"statementID": "string",\
"statementName": "string",\
"fileName": "string",\
"fileSize": 0,\
"billingPeriodStartDateTime": "2019-08-24T14:15:22Z",\
"billingPeriodEndDateTime": "2019-08-24T14:15:22Z",\
"subscriptionIDs": [\
"string"\
],\
"summary": {\
"cardAcquiring": {\
"volumeAmount": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"volumeCount": 0,\
"feeAmount": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"merchantFeesCollected": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"partnerFeesAssessed": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"netIncome": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"interchangeFees": {\
"visa": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"mastercard": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"discover": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
},\
"americanExpress": {\
"currency": "USD",\
"valueDecimal": "12.987654321"\
}\
}\
},\
// ... additional fees and details ...\
},\
"createdOn": "2019-08-24T14:15:22Z",\
"updatedOn": "2019-08-24T14:15:22Z"\
}\
]
Possible Errors
- Bad Request: The server could not understand the request due to invalid syntax.
- Unauthorized: The request contained missing or expired authentication.
- Forbidden: The user is not authorized to make the request.
- Rate Limit Exceeded: Request was refused due to rate limiting.
- Internal Server Error: The request failed due to an unexpected error.
- Service Unavailable: The request failed because a downstream service failed to respond.
Versioning
Set the header to v2026.04.00 to use the API described in this specification.