Getting started
Get Access to APIAuthenticationMaking your first requestGuides
Generate Doc X-RayGenerate Bank X-RayGenerate Financial X-RayGenerate ESG X-RayGenerate Manager X-RayConcepts
OverviewRequestReportsMediumDoc X-RayBank X-RayFinancial X-RayESG X-RayManager X-RayResources
API versioningWebhooksUploading a mediaAdd a creator to your requestTesting environmentOrganization & MembersSecuritySupportOctober x Bank X-Ray
In this page, you will find a step-by-step guide that will walk you through the generation of a Bank X-Ray using the October Connect API.
In this guide, you will generate your first Bank X-Ray using the following steps:
- Create a request
- Upload a media
- Retrieve Bank X-Ray
- Review the analysis
1. Create a request
For the first step of the analysis, create a request with a POST call to /requests
In the example below, all fields are mandatory except if mentioned otherwise:
POST /requests
{
"code": {
"type": "siren",
"id": "514673987"
}
}
The API will answer with additional fields on the request:
{
"request": {
"id": "[requestId]", // Unique ID of the request
"code": {
"type": "siren",
"id": "514673987"
}
"status": "pending_analysis",
"stage": "1.1",
...
}
}
If you wish to re-fetch the data of a request, you can make a GET call to /requests/[id]
.
2. Upload a media
The upload of a document is done in 3 steps:
POST /media
to our API with the type and metadata of the file you wish to send us. You will receive data needed to upload to S3.- Use the following
name
in order to categorise the document - Upload the file to AWS S3 using the data received from the previous step.
- Once the upload is successful, call
POST /media/[id]
to set thestatus
toonline
and optionally add the period and date of the document.
bank_statement, other
To read a detailed step-by-step guide, please read Resource: Uploading a media
3. Retrieve Bank X-Ray
Once you have uploaded a media, our Bank X-Ray will be launched automatically and will return an analysis within a few minutes. However, if our OCR fails, we use an alternative extraction method that can take up to 48h.
To wait for the end of the request analysis, you have two options:
- Poll regularly the API to check when a new report is available; or
- Use webhooks to be notified when a new report has been created. (Our recommendation)
When the report has been created, refer to the cases below to know the next steps.
Polling the API
Make GET HTTP requests to /requests/[requestId]
to receive the latest data of the request.
Make GET HTTP requests to /reports?source=bank_xray&request=[requestId]
to receive the Bank X-Ray reports associated to the request
Using webhooks
We provide a webhook that will update you when a new report is generated:
new_report
when a new report has been created
{
"event": "new_report",
"requestId": "[requestId]",
"reportId": "[reportId]"
}
After receiving webhooks, retrieve the data of the request or offer using the following GET HTTP calls:
GET /requests/[requestId]
GET /reports/[reportId]
4. Review the analysis
Once you have received the update using either the API calls or webhooks from the previous section, you can retrieve the Bank X-Ray report using the following GET HTTP call:
GET /reports/[reportId]
The API will answer with additional fields on the report:
{
"report": {
"id": "[reportId]",
"request": "[requestId]",
"source": "bank_xray",
"raw": {
"movementReport": { // Movement overview of the information extracted from the bank statemetn
"totalDebitAmount": {
"period": 68226.41,
"annualised": 803310.96
},
...
},
"summary": [ // Summary of the information extracted from the bank statement
{
"startDate": "2021-07-31",
"endDate": "2021-08-31",
"bic": "",
"iban": null,
"statementId": 1,
"pageCount": 9,
"startBalance": 166623.16,
"endBalance": 262738.66,
"totalCreditAmount": 164341.91,
"totalDebitAmount": 68226.41,
"movements": "correct"
}
],
"bankFlag": {
"color": "red", // Sentiment regarding the company bank statements
"dataSanity": 100,
"reasons": [ // List of criteria analysed
{
"criteria": "missedSocialSecurity",
"quantile": 100,
"value": 1,
"sentiment": "bad",
"popovers": [
"Social security assesses the company's regularity of payments, compliance with the social security administration's due dates, and correspondence with regulations."
]
},
...
],
},
"riskClass": 4, // Risk class associated with the bank statements going from 1-5, 1-Very good 5-Very Bad
"score": 0.8,
"allTransactions": [ // List of all the transaction extracted from the bank statements
{
...
},
],
...
}
}
}
← Previous