Skip to content

List bank statement imports

The bank_statements.imports.list operation: GET /api/v1/bank_statements/imports in the REST API and the bank_statements_imports_list tool in the MCP server.

GET/api/v1/bank_statements/imports

Lists the legal entity's imported bank statements in the mode of the request, newest first, with their lines counted by match status (matched, partial and unmatched waiting for review, ignored) and the duplicates skipped.

Paginate with limit (1–100, default 10) and starting_after (the next_cursor of the previous page).

At a glance

  • REST: GET /api/v1/bank_statements/imports
  • MCP tool: bank_statements_imports_list
  • Operation ID: bank_statements.imports.list
  • Scope: Legal entity
  • Permission: invoices:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Pagination: limit (at most 100) and starting_after
  • Authentication: API key with the invoices:read scope
  • Since: M5

Request

Query parameters

FieldTypeRequiredDescription
limitinteger (1 to 100)No
starting_afterbsi_… IDNo

Response

200 OK with a JSON object, a page of the list (newest first):

FieldTypeDescription
object"list"
dataarray of object
data[].idbsi_… ID
data[].object"bank_statement_import"
data[].entityIdent_… ID
data[].livemodeboolean
data[].format"csv"
data[].filenamestring or null
data[].currencystring
data[].lineCountintegerTransactions in the file.
data[].countsobjectLines by match status (kept current as lines are matched or ignored); duplicates were skipped.
data[].counts.importedinteger
data[].counts.duplicatesinteger
data[].counts.matchedinteger
data[].counts.partialinteger
data[].counts.unmatchedinteger
data[].counts.ignoredinteger
data[].fromstring or null
data[].tostring or null
data[].optionsobject
data[].options.delimiterone of ,, ;,
data[].options.dateFormatone of YYYY-MM-DD, DD.MM.YYYY, DD/MM/YYYY, MM/DD/YYYY or null
data[].options.decimalSeparatorone of ., , or null
data[].options.columnsobject
data[].options.columns.bookingDatestring or null
data[].options.columns.amountstring or null
data[].options.columns.referencestring or null
data[].options.columns.counterpartystring or null
data[].options.columns.currencystring or null
data[].importedByobject
data[].importedBy.typestring
data[].importedBy.idstring
data[].versioninteger
data[].createdAtdate-time
data[].updatedAtdate-time
has_moreboolean
next_cursorbsi_… ID or null

Examples

The latest imports

HTTP
GET /api/v1/bank_statements/imports?limit=10
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "object": "list",
  "data": [
    {
      "id": "bsi_01m4tx5nj8emwbyf7y9vcf48ba",
      "object": "bank_statement_import",
      "entityId": "ent_01m4tx5nj8emwbyf7y9vcf47zm",
      "livemode": false,
      "format": "csv",
      "filename": "statement-2026-11-04.csv",
      "currency": "EUR",
      "lineCount": 3,
      "counts": {
        "imported": 3,
        "duplicates": 0,
        "matched": 1,
        "partial": 0,
        "unmatched": 2,
        "ignored": 0
      },
      "from": "2026-11-04",
      "to": "2026-11-04",
      "options": {
        "delimiter": ",",
        "dateFormat": null,
        "decimalSeparator": null,
        "columns": {
          "bookingDate": "Booking date",
          "amount": "Amount",
          "reference": "Reference",
          "counterparty": "Counterparty",
          "currency": null
        }
      },
      "importedBy": {
        "type": "user",
        "id": "usr_01m4tx5nj8emwbyf7y9vcf47zk"
      },
      "version": 2,
      "createdAt": "2026-11-05T09:00:00.000Z",
      "updatedAt": "2026-11-05T09:00:00.000Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Errors

CodeHTTP statusWhenWhat to do
validation_failed400A field is malformed or out of range.Fix the fields listed in details.issues and send the request again.
resource_not_found404No bank statement import or line with this ID is visible to the request.Check the ID and that your credentials are scoped to the right organization, entity, brand and mode.
permission_denied403The credentials can't read this entity's invoices (invoices:read).Ask an organization owner or admin for a role or scope that allows this action.

It can also return these common errors: api_version_unsupported, authentication_required, api_key_invalid, scope_required, dry_run_not_supported, rate_limited, internal_error.