Skip to content

Get a bank statement import

The bank_statements.imports.get operation: GET /api/v1/bank_statements/imports/{id} in the REST API and the bank_statements_imports_get tool in the MCP server.

GET/api/v1/bank_statements/imports/{id}

Returns one imported bank statement: the file's name, how it was read (delimiter, date format, decimal separator, the columns used), the booking-date range and its lines counted by match status. List its lines with bank_statements.lines.list and importId.

At a glance

  • REST: GET /api/v1/bank_statements/imports/{id}
  • MCP tool: bank_statements_imports_get
  • Operation ID: bank_statements.imports.get
  • Scope: Legal entity
  • Permission: invoices:read
  • Risk tier: read
  • Dry run: Not supported
  • Idempotency: Not needed (read only)
  • Modes: Test and live
  • Authentication: API key with the invoices:read scope
  • Since: M5

Request

Path parameters

FieldTypeDescription
idbsi_… ID

Query parameters

This operation takes no query parameters.

Response

200 OK with a JSON object:

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

Examples

An import

HTTP
GET /api/v1/bank_statements/imports/bsi_01m4tx5nj8emwbyf7y9vcf48ba
Authorization: Bearer or_test_…

Response (200):

JSON
{
  "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"
}

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.