API for creating analyses from PDF bank statements using document extraction technology.

Server
https://api.algoan.com
Server Variables

Each requests must be set with an Authorization header using a Bearer JSON Web Token after authenticating with your client credentials.

Authentication

Algoan provides JSON Web Tokens based on the OAuth2 protocol to authenticate your organization. When you create a new project, you will need to use the service account shared by Algoan containing a client_id and a client_secret.

NOTE: this is the only API where request's parameters are formatted as snake case.

Create a new access token

Generates a new access token to use Algoan's APIs

Auth
Request Body

OAuth2 request body with two grant types - client_credentials and refresh_token

objectobject

Auth request body to generate a new access token

client_idstring

Your client ID

client_secretuuid

Your client secret

grant_typestring

Specify the type of grant access

Enum: client_credentials

POST /v1/oauth/token
Copy
Responses
201

Access Token instance

objectobject
access_tokenstring

The access token required for each API.

expires_innumber

Number of seconds until the access token expires

refresh_expires_innumber

Number of seconds until the refresh token expires

refresh_tokenstring

Refresh token used to generate a new access token

token_typestring

Type of access token (will always be set to bearer)

Response
Copy

Customer

represents a user able to connect/aggregate their bank accounts. It is unique per organization, project and custom identifier.

Create a customer

Creates a new customer instance

Auth
Request Body

New customer to create

POST /v2/customers
Copy
Responses
201

New customer created

400

Bad request

401

Unauthorized, please make sure you are properly authenticated

403

Forbidden, please make sure you are allowed to use this route

422

Unprocessable Entity

Analysis

An analysis is a snapshot of a customer's financial situation based on the connected bank accounts. It contains results from both products Score and Credit Insights.

NOTE: To get Credit Insights results or a Score, the analysis need to contain at least one CHECKING Account with a minimum of 20 transactions.

Create analysis from PDF bank statements

Triggers an analysis creation by extracting transaction and account data from PDF bank statements. This endpoint accepts one or more PDF files containing bank statements, extracts the financial data using document extraction technology, and automatically creates an analysis for the specified customer.

How it works

  1. Upload one or more PDF bank statements as base64-encoded files
  2. The system extracts accounts and transactions from the PDFs
  3. An analysis is automatically created with the extracted data
  4. The analysis processes the data to generate Score and Credit Insights results

Requirements

  • Files must be valid PDF documents containing bank statements
  • Each file must be base64-encoded
  • The customer must exist before calling this endpoint

Response

The endpoint returns immediately with a 202 Accepted status and the analysisId. The extraction and analysis computation happen asynchronously. You can poll the analysis status or use webhooks to be notified when the analysis is completed.

Auth
Request Body

Array of PDF bank statement files to extract and analyze

objectobject
filesarray[object]
fileNamestring

Name of the PDF bank statement file

base64Filestring

Base64-encoded PDF file content

POST /v2/customers/{id}/bank-statements
Copy
Responses
200

Analysis created and extraction in progress

objectobject
analysisIdstring

Unique identifier of the created analysis

400

Bad request - Invalid file format or missing required fields

401

Unauthorized, please make sure you are properly authenticated

403

Forbidden, please make sure you are allowed to use this route

404

Customer not found

Response
Copy

Get an analysis

Get a unique analysis

Auth
GET /v2/customers/{id}/analyses/{analysisId}
Copy
Responses
200

Analysis instance

400

Bad request

401

Unauthorized, please make sure you are properly authenticated

403

Forbidden, please make sure you are allowed to use this route

404

Analysis not found

Response
Copy