Retrieve data for a user's uploaded bank statements

POST /credit/bank_statements/uploads/get

/credit/bank_statements/uploads/get returns parsed data from bank statements uploaded by users as part of the Document Income flow. If your account is not enabled for Document Parsing, contact your account manager to request access.

Request Body

Required

CreditBankStatementsUploadsGetRequest defines the request schema for /credit/bank_statements/uploads/get

Parameters

client_id
string
Your Plaid API client_id. The client_id is required and may be provided either in the PLAID-CLIENT-ID header or as part of a request body.
secret
string
Your Plaid API secret. The secret is required and may be provided either in the PLAID-SECRET header or as part of a request body.
user_token
required, string
The user token associated with the User data is being requested for.
options
object
An optional object for /credit/bank_statements/uploads/get request options.
item_ids
array[string]
An array of item_ids whose bank statements information is returned. Each item_id should uniquely identify a bank statements uploaded item. If this field is not provided, all item_ids associated with the user_token will returned in the response.

Response

CreditBankStatementsUploadsGetResponse defines the response schema for /credit/bank_statements/uploads/get

Response Properties

items
required, array[object]
Array of bank statement upload items.
item_id
required, string
The item_id of the Item associated with this webhook, warning, or error
bank_statements
required, array[object]
transactions
required, array[object]
An array of transactions appearing on the bank statement.
amount
required, number
The value of the transaction. A negative amount indicates that money moved into the account (such as a paycheck being deposited).
date
required, string
The date of when the transaction was made, in ISO 8601 format (YYYY-MM-DD).
original_description
required, string
The raw description of the transaction as it appears on the bank statement.
account_id
required, string
The unique id of the bank account that this transaction occurs in
document_metadata
required, object
Object representing metadata pertaining to the document.
name
required, string
The name of the document.
document_type
required, string
The type of document. PAYSTUB: A paystub. BANK_STATEMENT: A bank statement. US_TAX_W2: A W-2 wage and tax statement provided by a US employer reflecting wages earned by the employee. US_MILITARY_ERAS: An electronic Retirement Account Statement (eRAS) issued by the US military. US_MILITARY_LES: A Leave and Earnings Statement (LES) issued by the US military. US_MILITARY_CLES: A Civilian Leave and Earnings Statement (CLES) issued by the US military. GIG: Used to indicate that the income is related to gig work. Does not necessarily correspond to a specific document type. PLAID_GENERATED_PAYSTUB_PDF: Used to indicate that the PDF for the paystub was generated by Plaid. NONE: Used to indicate that there is no underlying document for the data. UNKNOWN: Document type could not be determined.
download_url
required, string
Signed URL to retrieve the document(s). The payload will be a .zip file containing the document(s). For Payroll Income, the file type of the documents will always be PDF, and the documents may not be available, in which case the field will be null. If you would like Plaid to generate a PDF if the original is not available, contact your Account Manager. Example generated pay stub. For Document Income, this field will not be null, and the file type of the underlying document(s) will be the original file type uploaded by the user. For more details on available file types, see the Document Income documentation. This download URL can only be used once and expires after two minutes. To generate a new download URL, call /credit/payroll_income/get again.
status
required, string
The processing status of the document. PROCESSING_COMPLETE: The document was successfully processed. DOCUMENT_ERROR: The document could not be processed. Possible causes include: The document was an unacceptable document type such as an offer letter or bank statement, the document image was cropped or blurry, or the document was corrupted. UNKNOWN or null: An internal error occurred. If this happens repeatedly, contact support or your Plaid account manager.
page_count
integer
The number of pages of the uploaded document (if available).
error_message
string
The reason why a failure occurred during document processing (if available).
document_id
required, string
An identifier of the document referenced by the document metadata.
bank_accounts
required, array[object]
An array of bank accounts associated with the uploaded bank statement.
name
required, string
The name of the bank account
bank_name
required, string
The name of the bank institution.
account_type
required, string
The type of the bank account.
account_number
required, string
The bank account number.
owner
required, object
An object containing data about the owner of the bank account for the uploaded bank statement.
name
required, string
The name of the account owner
address
required, object
Address on the uploaded bank statement
periods
required, array[object]
An array of period objects, containing more data on the overall period of the statement.
start_date
required, string
The start date of the statement period in ISO 8601 format (YYYY-MM-DD).
end_date
required, string
The end date of the statement period in ISO 8601 format (YYYY-MM-DD).
starting_balance
required, number
The starting balance of the bank account for the period.
ending_balance
required, number
The ending balance of the bank account for the period.
account_id
required, string
The unique id of the bank account
status
required, object
Details about the status of the payroll item.
processing_status
string
Denotes the processing status for the verification. UNKNOWN: The processing status could not be determined. PROCESSING_COMPLETE: The processing has completed and the user has approved for sharing. The data is available to be retrieved. PROCESSING: The verification is still processing. The data is not available yet. FAILED: The processing failed to complete successfully. APPROVAL_STATUS_PENDING: The processing has completed but the user has not yet approved the sharing of the data.
updated_at
required, string
Timestamp in ISO 8601 format (YYYY-MM-DDTHH:mm:ssZ) indicating the last time that the Item was updated.
request_id
required, string
A unique identifier for the request, which can be used for troubleshooting. This identifier, like all Plaid identifiers, is case sensitive.