Skip to main content

Get Bank Statements

GET 

/api/v8/partner/bank-statements

Get Bank Statements

Request​

Query Parameters

    meta.tags array

    Return documents containing these tags.

    Example: a
    meta.external_id string

    Return documents with this meta.external_id.

    Example: 123f-2aa-33cc
    created_date__gt string

    Return documents created after this date and time in ISO 8601 format.

    Example: 2022-05-03 00:00:00
    created_date__lt string

    Return documents created before this date and time in ISO 8601 format.

    Example: 2023-03-23 00:00:00
    created_date__gte string

    Return documents created beginning at this date and time in ISO 8601 format.

    Example: 2022-04-24 00:00:00
    created_date__lte string

    Return documents created on and before this date and time in ISO 8601 format.

    Example: 2020-10-15 00:00:00
    updated_date__gt string

    Return documents updated after this date and time in ISO 8601 format.

    Example: 2023-07-25 00:00:00
    updated_date__lt string

    Return documents updated before this date and time in ISO 8601 format.

    Example: 2019-03-18 00:00:00
    updated_date__gte string

    Return documents updated beginning at this date and time in ISO 8601 format.

    Example: 2020-02-03 00:00:00
    updated_date__lte string

    Return documents updated on and before this date and time in ISO 8601 format.

    Example: 2023-01-03 00:00:00
    page integer

    Default value: 1

    The page number. The response is capped to maximum of 50 results per page.

    page_size integer

    Default value: 50

    The number of Documents per page.

    Example: 10
    bounding_boxes boolean

    A field used to determine whether or not to return bounding_box and bounding_region for extracted fields in the Document response.

    confidence_details boolean

    A field used to determine whether or not to return the score and ocr_score fields in the Document response.

    q string

    Case sensitive. Return documents with this text or any extracted fields matching the value. Use asterisk for partial matches, e.g. q=Walmart* will return documents with either Walmart in ocr text or any extracted field containing Walmart.

    Example: Starbucks
    track_total_results boolean

    Whether to always return accurate count of results, true makes it slower.

Responses​

A list of Bank Statements

Schema
    anyOf
    count integerrequired

    The total number of results retrieved across all pages.

    next (string | null)

    The URL to the next page of results.

    previous (string | null)

    The URL to the previous page of results.

    results object[]required

    The collection of processed Bank Statement documents

  • Array [
  • external_id (string | null)

    Possible values: non-empty

    A custom identification value. Use this if you would like to assign your own ID to documents. This parameter is useful when mapping this document to a service or resource outside Veryfi.

    meta object
    external_id (string | null)

    Possible values: non-empty

    A custom identification value. Use this if you would like to assign your own ID to documents. This parameter is useful when mapping this document to a service or resource outside Veryfi.

    pages object[]
  • Array [
  • ocr_score (number | null)

    Possible values: <= 1

    The average OCR score of the page.

    width (integer | null)

    The width of the page.

    height (integer | null)

    The height of the page.

  • ]
  • tags string[]

    Possible values: non-empty

    Default value: ``

    Tags associated with the document.

    ocr_score (number | null)

    Possible values: <= 1

    The average OCR score of the whole document.

    model (string | null)

    Possible values: non-empty

    The version of the model used to process the document.

    original_file_name (string | null)

    Possible values: non-empty

    The original file name of the uploaded document.

    source string

    Possible values: [api.email, api.web, api, browser_extension, lens.bill, lens.invoice, lens.long_receipt, lens.other, lens.receipt, lens.web, lens]

    Default value: api

    The source of the document's submission for processing.

    duplicates object[]

    An array of duplicate documents found in the system.

  • Array [
  • id integerrequired

    The id of the duplicate document.

    url urirequired

    Possible values: non-empty and <= 2083 characters

    The url of the duplicate document.

  • ]
  • fraud BankStatementsFraud

    An object that contains additional information to identify fraud.

    score (number | null)

    Possible values: <= 1

    Confidence of Fraud Detector in it's prediction

    color (string | null)

    Possible values: [green, yellow, red]

    Color from Fraud Detector: green means legitimate, yellow means review needed and red means fraud

    not_a_document ClassBoolField

    The detection behind the not a document fraud type, including its verdict and confidence score.

    score (number | null)

    Possible values: <= 1

    The score shows how confident the model is that the predicted value belongs to the field. See confidence scores explained for more information.

    value booleanrequired

    The extracted value.

    types string[]

    Possible values: [LCD photo, not a document, duplicate, digital background, screenshot, digital tampering, fraudulent pdf, fraudulent image, high velocity, critical velocity, generic content, stopwords]

    List of attributions which marked the document as fraud

    details BankStatementFraudDetails

    Strictly typed descriptions and reasons keyed by fraud type.

    lcd_photo _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    not_a_document _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    duplicate _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    digital_background _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    screenshot _ScreenshotDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    reasons object[]
  • Array [
  • name stringrequired

    Possible values: [mobile_screenshot, other_screenshot]

    description stringrequired

    Possible values: non-empty

  • ]
  • digital_tampering _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    fraudulent_pdf _FraudulentPDFDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    reasons object[]
  • Array [
  • anyOf
    name stringrequired

    Possible values: [text_overlay, font_mismatch, modified, date_inversion, producer_content_mismatch, writer_mismatch, null_metadata, xmp_info_mismatch, future_metadata_date, raster_profile_mismatch, uncompressed_raster, double_jpeg, scrubbed_provenance]

    description stringrequired

    Possible values: non-empty

  • ]
  • fraudulent_image _FraudulentImageDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    reasons object[]
  • Array [
  • anyOf
    name stringrequired

    Possible values: [double_jpeg, scrubbed_provenance, unprofiled_png, unprofiled_webp, synthetic_raster]

    description stringrequired

    Possible values: non-empty

  • ]
  • high_velocity _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    critical_velocity _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    generic_content _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    stopwords _FraudTypeDetails
    description stringrequired

    Possible values: non-empty

    Human-readable explanation of the fired fraud type.

    submissions object

    The amount of submissions from specific device id, used in velocity fraud detection.

    property name* integer
    duplicate_detection_method (string | null)

    Possible values: [text_similarity, field_matching]

    Method used to detect duplicates for fraud

    duplicates object[]

    An array of duplicate documents found for purposes of fraud detection

  • Array [
  • id integerrequired

    The id of the duplicate document.

    url urirequired

    Possible values: non-empty and <= 2083 characters

    The url of the duplicate document.

  • ]
  • fraudulent_pdf FraudulentPDFResult

    Results of the pdf analysis. Every key is always reported, so a check nothing could answer is null rather than missing.

    fraudulent_pdf_creator (number | null)
    text_overlay (number | null)
    font_mismatch (number | null)
    has_digital_signature (boolean | null)
    pdf_modified (number | null)
    incremental_updates (integer | null)
    incremental_changes string[]

    Possible values: non-empty

    What incremental PDF revisions changed.

    incremental_edits object[]

    Which word an incremental PDF revision replaced, and on which page.

  • Array [
  • page integerrequired

    Possible values: > 0

    1-based number of the page the edit landed on.

    before (string | null)

    Possible values: non-empty

    The replaced word, or null when the word was inserted.

    after (string | null)

    Possible values: non-empty

    The replacing word, or null when the word was deleted.

  • ]
  • signature_creation_tools string[]

    Possible values: non-empty

    date_inversion (number | null)
    producer_content_mismatch (number | null)
    writer_mismatch (number | null)
    null_metadata (number | null)
    xmp_info_mismatch (number | null)
    future_metadata_date (number | null)
    raster_profile_mismatch (number | null)
    uncompressed_raster (number | null)
    spliced_page (number | null)
    spliced_page_number (integer | null)

    Possible values: > 0

    1-based number of the first page written after the pages surrounding it. Later pages may belong to the same block.

    headless_desktop_render (number | null)

    Score for a PDF an automated browser rendered from a desktop operating system. It is reported here but scored against the generated document signal, so it does not move the fraudulent pdf score.

    headless_render_platform (string | null)

    Possible values: non-empty

    Operating system named by the headless browser that rendered the PDF. Reported for every headless render, including the server platforms that do not score.

    double_jpeg (number | null)

    Score for a raster that was JPEG-compressed more than once. An original capture is compressed exactly once, so a second compression means the file is not the first-generation scan it presents itself as. Null when nothing was in a position to answer, which is not the same as a 0.0 saying something was examined and this did not fire. Disabled by default, so it reports null until it is enabled for your account.

    first_quantization_quality (integer | null)

    Possible values: > 0

    JPEG quality of the first compression, recovered from the coefficient histograms. Evidence for a reviewer rather than a score, and null when nothing coherent was recovered.

    scrubbed_provenance (number | null)

    Score for a raster whose encoder signature carries no provenance: grayscale content in a subsampled colour JPEG, no EXIF, a placeholder JFIF density and a stock quantization table. Reaches the same conclusion as double_jpeg for a re-encode too coarse to leave a recoverable first compression. Null when nothing was in a position to answer, which is not the same as a 0.0 saying something was examined and this did not fire. Disabled by default, so it reports null until it is enabled for your account.

    score (number | null)

    Highest of the scores above, and what the fraudulent pdf signal contributes. Stays a number where its fraudulent_image counterpart would report null: pdf_modified answers off exif-reader's signals rather than off a document we opened, so there is an aggregate to report even for an upload holding no PDF. With the signal off every other key is null, which is how that case is told apart from an upload that merely carried no PDF.

    fraudulent_image FraudulentImageResult

    Results of the image forensics analysis, for a document that arrived as a picture rather than a PDF. Absent when the signal is switched off for your account.

    double_jpeg (number | null)

    Score for a document image that was JPEG-compressed more than once. An original capture is compressed exactly once, so a second compression means the file is not the first-generation photo it presents itself as. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Only a JPEG-family raster can answer it, so a PNG reports null. Disabled by default.

    scrubbed_provenance (number | null)

    Score for a document image whose encoder signature carries no provenance: grayscale content in a subsampled colour JPEG, no EXIF, a placeholder JFIF density and a stock quantization table. Reaches the same conclusion as double_jpeg for a re-encode too coarse to leave a recoverable first compression. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Disabled by default.

    first_quantization_quality (integer | null)

    Possible values: > 0

    JPEG quality of the first compression, recovered from the coefficient histograms. Evidence for a reviewer rather than a score, and absent when nothing coherent was recovered.

    editor_signature (number | null)

    Score for an image that names an image editor in its own metadata. Read as a reason to review rather than to reject: an editor naming itself on a photograph may be an honest user cropping a receipt before uploading it, which is why it scores lower here than the same tool named on a PDF. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Formats that carry neither an ICC profile nor EXIF, which is BMP and GIF, can never answer it.

    editor_signature_field (string | null)

    Possible values: [icc_profile, exif:Software, exif:ProcessingSoftware, xmp:CreatorTool, png:Software, jpeg:comment]

    Which metadata surface named the editor. Exactly one is ever reported, the first that matched.

    editor_signature_value (string | null)

    Possible values: non-empty

    The literal string the file declared, which is what a reviewer acts on rather than the score.

    generator_signature (number | null)

    Score for an image a server-side rendering library declares it wrote, such as libgd naming itself in a JPEG comment segment. Scores far above the editor signature because the finding is different: an editor names itself on a photograph somebody cropped, while a rendering library names itself on a page nothing ever photographed. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Only a format that can carry metadata can answer it.

    generator_signature_field (string | null)

    Possible values: [icc_profile, exif:Software, exif:ProcessingSoftware, xmp:CreatorTool, png:Software, jpeg:comment]

    Which metadata surface named the library. The same surfaces the editor signature reads, and as there exactly one is ever reported.

    generator_signature_value (string | null)

    Possible values: non-empty

    The literal string the file declared, which is what a reviewer acts on.

    generator_writer_profile (number | null)

    The same finding on a format where nothing is declared: a PNG whose chunk sizing, compression level and absence of provenance are libpng's own defaults, which is how the same libraries emit PNG. Reported rather than inferred from the file naming itself, because on this format it never does. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Only a PNG can answer it.

    generator_writer_profile_value (string | null)

    Possible values: non-empty

    The writer profile that matched, naming the evidence rather than restating the score. Deliberately has no _field companion, unlike the two signatures above: the profile is read off the container itself rather than off one named surface.

    synthetic_raster (number | null)

    Score for a raster too flat to have come off a sensor: an indexed palette, very few distinct colours, or no chroma variation at all. Ships at 0.0 and so contributes nothing to score — it is reported for the rate while a screenshot of a genuine receipt is still indistinguishable from a drawn one. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire.

    synthetic_raster_fingerprints string[]

    Possible values: non-empty

    Which of those measurements matched, sorted. Evidence for a reviewer rather than a score, and the set grows as the detector learns to name more of them, so read it as a list of strings rather than a fixed vocabulary.

    unprofiled_png (number | null)

    Score for a PNG carrying no colour or provenance chunk at all, as a rendering library writes and a camera pipeline does not. Ships at 0.0 for the same reason as synthetic_raster: screenshot tools and our own rasterizer write the identical bare file. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Only a PNG can answer it.

    unprofiled_webp (number | null)

    The same check on WebP, and ships at 0.0 for a different reason than the two above: too little genuine WebP has been seen to say what the rate would be. Null when no file was in a position to answer, which is not the same as a 0.0 saying one was examined and this did not fire. Only a WebP can answer it.

    source (string | null)

    Possible values: [original, render]

    Which bytes were read. original is the upload as submitted and is the only value for which the compression scores above can be reported. render is a page render taken after cropping, rotation and format conversion, which destroys compression evidence and can manufacture it, so those two report null against it. Null means nothing was selected to read at all; a file that was selected but could not be fetched or opened reports a source together with a non-zero unreadable_source.

    source_formats string[]

    Possible values: non-empty

    Formats of the files that were read, as the image library names them. Note HEIF rather than HEIC, and MPO for a .jpg holding multiple frames, as a phone HDR capture does.

    unreadable_source (integer | null)

    How many selected files could not be opened. Can exceed one on a multi-file upload. A non-zero value here alongside a set source is the expected shape when an original has already been deleted, rather than a fault.

    score (number | null)

    Highest of the scores above, and what the fraudulent image signal contributes. Follows the same rule they do: null when not one of them was in a position to answer, and 0.0 when at least one was and nothing fired. So a page render scores a real 0.0, the compression pair having declined but the editor signature having run. The checks that ship at 0.0 are in the max like any other, which is why they can report a hit without moving it.

    pages object[]

    An array containing fraud info about each extracted page

  • Array [
  • anyOf
    is_lcd ClassBoolField
    score (number | null)

    Possible values: <= 1

    The score shows how confident the model is that the predicted value belongs to the field. See confidence scores explained for more information.

    value booleanrequired

    The extracted value.

    flags object[]

    List of flags which marked the document as fraud

  • Array [
  • score (number | null)

    Possible values: <= 1

    The score shows how confident the model is that the predicted value belongs to the field. See confidence scores explained for more information.

    value stringrequired

    Possible values: non-empty

  • ]
  • ai_generated ClassBoolField
    score (number | null)

    Possible values: <= 1

    The score shows how confident the model is that the predicted value belongs to the field. See confidence scores explained for more information.

    value booleanrequired

    The extracted value.

    handwriting object[]

    An array containing handwriting info about each extracted page

  • Array [
  • bounding_region number[]required

    Possible values: >= 8, <= 8

    Bounding region of the artifact in [x1,y1,x2,y2,x3,y3,x4,y4] format

    type stringrequired

    Possible values: non-empty

    Type of the artifact

    score number
  • ]
  • digital_tampering object[]

    An array containing digital tampering info about each extracted page

  • Array [
  • bounding_region number[]required

    Possible values: >= 8, <= 8

    Bounding region of the artifact in [x1,y1,x2,y2,x3,y3,x4,y4] format

    type stringrequired

    Possible values: non-empty

    Type of the artifact

    score number
  • ]
  • ]
  • warnings object[]

    An array of warnings to help catch errors or fraud on the processed bank statement.

  • Array [
  • type stringrequired

    Possible values: [tax_rate_mismatch, item_counts_mismatch, totals_mismatch, line_item_amount_mismatch, line_item_repeats, barcode_decoding_issue, barcode_code_missing_in_ocr, logo_vendor_mismatch, malware, weekend_transaction, time_and_currency_mismatch, exif_creation_modified_date_mismatch, missing_date, suspicious_document_aspect_ratio, generic_placeholder_content]

    Type of the warning, e.g. barcode_code_missing_in_ocr. Type is an enumerated field and comes from a defined number of enumerated values.

    message stringrequired

    Possible values: non-empty

    The detailed message about the warning.

  • ]
  • pdf_url uri

    Possible values: non-empty and <= 2083 characters

    A signed URL to access the auto-generated PDF created from the submitted document. This URL expires 15 minutes after the response object is returned and is resigned during every GET request.

    id integerrequired

    The unique number created to identify the document.

    created_date date-timerequired
    updated_date date-timerequired
    img_thumbnail_url uri

    Possible values: non-empty and <= 2083 characters

    A signed URL to access the auto-generated thumbnail created for the submitted document. This URL expires 15 minutes after the response object is returned and is resigned during every GET request.

    accounts object[]required
  • Array [
  • summaries object[]required

    Summary information

  • Array [
  • name (string | null)

    Possible values: non-empty

    The title or label that captures the main information

    total (number | null)

    The overall amount calculated from all transactions

  • ]
  • transactions object[]required

    A list of transactions associated with the account.

  • Array [
  • order integerrequired

    The value indicating the position of where the transaction appears on the bank statement.

    custom_fields CustomFields

    A user-defined dictionary that contains all the custom fields generated by applying specific rules and regular expressions to the extracted data.

    balance (number | null)

    The balance after any credit or debits have been applied from this transaction.

    card_number (string | null)

    Possible values: non-empty

    A credit card number associated with this transaction.

    credit_amount (number | null)

    The amount credited from this transaction.

    date date

    The date of the transaction in ISO 8601 format.

    posted_date date

    The date the transaction was posted in ISO 8601 format.

    debit_amount (number | null)

    The amount debited from this transaction.

    description (string | null)

    Possible values: non-empty

    The description of the transaction.

    category (string | null)

    Possible values: non-empty

    The category of the transaction.

    vendor (string | null)

    Possible values: non-empty

    The vendor of the transaction.

    transaction_id (string | null)

    Possible values: non-empty

    The unique identifier of the transaction.

    text (string | null)

    Possible values: non-empty

    The OCR text extracted from the transaction.

  • ]
  • number (string | null)required

    Possible values: non-empty

    The account number associated with the bank statement.

    beginning_balance (number | null)required

    The balance at the beginning of the statement period.

    ending_balance (number | null)required

    The balance at the end of the statement period.

    iban_number (string | null)

    Possible values: non-empty

    The International Bank Account Number

  • ]
  • account_holder_address (string | null)required

    Possible values: non-empty

    The address of the account holder.

    account_holder_name (string | null)required

    Possible values: non-empty

    The name of the account holder.

    account_number (string | null)required

    Possible values: non-empty

    The account number associated with the bank statement.

    account_type (string | null)required

    Possible values: non-empty

    The type of account associated with the bank statement.

    account_vat_number (string | null)required

    Possible values: non-empty

    The unique identifier for businesses used for tax purposes

    bank_address (string | null)required

    Possible values: non-empty

    The address of the bank.

    bank_name (string | null)required

    Possible values: non-empty

    The name of the bank.

    bank_vat_number (string | null)required

    Possible values: non-empty

    The unique identifier assigned to a bank for tax purposes

    bank_website (string | null)required

    Possible values: non-empty

    The URL for the website of the bank.

    beginning_balance (number | null)required

    The balance at the beginning of the statement period.

    currency_code (string | null)required

    Possible values: non-empty

    The currency code associated with the bank statement.

    due_date daterequired

    The date the payment is due in ISO 8601 format.

    ending_balance (number | null)required

    The balance at the end of the statement period.

    iban_number (string | null)

    Possible values: non-empty

    The International Bank Account Number

    minimum_due (number | null)required

    The minimum amount due for the statement period.

    period_end_date daterequired

    The end date of the statement period in ISO 8601 format.

    period_start_date daterequired

    The start date of the statement period in ISO 8601 format.

    routing_number (string | null)required

    Possible values: non-empty

    The routing number associated with the bank statement.

    statement_date daterequired

    The date of the statement in ISO 8601 format.

    statement_number (string | null)required

    Possible values: non-empty

    The unique identifier associated with the bank statement.

    swift (string | null)required

    Possible values: non-empty

    The unique identifier for a bank used in international transactions

    summaries object[]requireddeprecated

    Deprecated. Please use accounts.summaries instead. Summary information

  • Array [
  • name (string | null)

    Possible values: non-empty

    The title or label that captures the main information

    total (number | null)

    The overall amount calculated from all transactions

  • ]
  • account_numbers string[]required

    Possible values: non-empty

    The account number associated with the bank statement.

    routing_numbers string[]required

    Possible values: non-empty

    The routing number associated with the bank statement.

  • ]
Loading...