Developer doc
Go to Console
API reference - Share customer
v2
API reference - Share customer
Authentication
Authentication
POSTCreate a new access token
Customer
POSTCreate a customer
POSTShare customer data
Analysis
POSTCreate a new analysis

API reference - Share customer 2.0.0

List all available API to get and create Score and Analysis.

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

Authentication

http bearer_jwt

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.

Endpoints
POST
/v1/oauth/token

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
xxxxxxxxxx
 
curl --request POST \
 --url 'https://api.algoan.com/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
xxxxxxxxxx
 
{
 "access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIi...5jUKEv5KyzShp5pqg",
 "expires_in": 86400,
 "refresh_expires_in": 864000,
 "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5...fsWGA82PQC_6OXoyU4",
 "token_type": "bearer"
}
Copy

Customer

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

Endpoints
POST
/v2/customers
POST
/v2/customers/{id}/share

Create a customer

Creates a new customer instance

Auth
Request Body

New customer to create

objectobject

Information about a customer and its journey through Algoan.

customIdentifierstring

A custom identifier that will be attached to your customer. This can be used to identify a customer based on your internal reference.

aggregationDetailsobject

Information about the AIS provider used for this report

callbackUrlstring

Callback URL set for a customer. Used to redirect the customer back to your user journey if you are using the aggregation in REDIRECT mode.

tokenstring

Temporary access token set for Algoan's UI to communicate with the aggregator's API

redirectUrlstring

Redirect URL used for the end-user. Specific to REDIRECT mode

apiUrlstring

URL used to call API using API mode

iframeUrlstring

Iframe URL used for the end-user. Specific to IFRAME mode

userIdstring

Aggregator user identifier

If the value is reset, it means the user access has been revoked.

clientIdstring

Aggregator client ID used to authenticate a user with your organization

personalDetailsobject

Personal information about the customer

nationalitystring

Nationality (ISO alpha-2)

firstNamestring

First name

lastNamestring

Last name

birthNamestring

Birth name

birthDatedate

Birth date

birthCitystring

birth city

birthZipCodestring

Birth Zip Code

birthCountrystring

Birth country

documentNumberstring

ID number from official documents such as passport, national id number, etc.

contactobject

Contact information about a customer

emailstring

Electronic mail address

phoneNumberstring

Customer's phone number

streetstring
additionalInformationstring

Additional information about the mailing address

citystring

City's mailing address of the customer

zipCodestring

Mailing address zip code of the customer

countrystring

Mailing address country of the customer

householdobject

Household information about a customer

maritalStatusstring

The marital status of the customer

Enum: COHABITING,DIVORCED,MARRIED,SEPARATED,SINGLE,WIDOWED,CIVIL_PARTNERSHIP

numberOfDependentChildrennumber

The number of children the customer looks after

numberOfOtherDependentsnumber

The number of other people the customer is in charge of

Expand 
POST /v2/customers
xxxxxxxxxx
 
curl --request POST \
 --url 'https://api.algoan.com/v2/customers' \
 --header 'Authorization: Bearer {token}' \
 --data '{
  "customIdentifier": "my_id_43523",
  "aggregationDetails": {
    "callbackUrl": "{string}",
    "token": "{string}",
    "redirectUrl": "{string}",
    "apiUrl": "{string}",
    "iframeUrl": "{string}",
    "userId": "{string}",
    "clientId": "{string}"
  },
  "personalDetails": {
    "identity": "{}",
    "contact": {
      "email": "test@algoan.com",
      "phoneNumber": "+33611223344",
      "street": "151 rue saint denis",
      "additionalInformation": "second Floor",
      "city": "Paris",
      "zipCode": 75002,
      "country": "FR"
    },
    "household": {
      "maritalStatus": "CIVIL_PARTNERSHIP",
      "numberOfDependentChildren": 2,
      "numberOfOtherDependents": 0
    }
  }
}'
Copy
Responses
201

New customer created

objectobject

Information about a customer and its journey through Algoan.

idstring

Algoan unique identifier

customIdentifierstring

A custom identifier that will be attached to your customer. This can be used to identify a customer based on your internal reference.

aggregationDetailsobject

Information about the AIS provider used for this report

aggregatorNamestring

Name of the aggregator company

Enum: BUDGET_INSIGHT,BRIDGE,TINK,OTHER

callbackUrlstring

Callback URL set for a customer. Used to redirect the customer back to your user journey if you are using the aggregation in REDIRECT mode.

tokenstring

Temporary access token set for Algoan's UI to communicate with the aggregator's API

modestring

Mode used for the customer journey:

  • REDIRECT: uses the redirection mode. The UI is managed by the aggregator in a dedicated page.
  • API: uses the aggregator's API. The UI is managed by Algoan.
  • IFRAME: uses the iframe mode. The UI is managed by the aggregator in an iframe element.

Enum: REDIRECT,API,IFRAME

redirectUrlstring

Redirect URL used for the end-user. Specific to REDIRECT mode

apiUrlstring

URL used to call API using API mode

iframeUrlstring

Iframe URL used for the end-user. Specific to IFRAME mode

userIdstring

Aggregator user identifier

If the value is reset, it means the user access has been revoked.

clientIdstring

Aggregator client ID used to authenticate a user with your organization

personalDetailsobject

Personal information about the customer

nationalitystring

Nationality (ISO alpha-2)

firstNamestring

First name

lastNamestring

Last name

birthNamestring

Birth name

birthDatedate

Birth date

birthCitystring

birth city

birthZipCodestring

Birth Zip Code

birthCountrystring

Birth country

documentNumberstring

ID number from official documents such as passport, national id number, etc.

contactobject

Contact information about a customer

emailstring

Electronic mail address

phoneNumberstring

Customer's phone number

streetstring
additionalInformationstring

Additional information about the mailing address

citystring

City's mailing address of the customer

zipCodestring

Mailing address zip code of the customer

countrystring

Mailing address country of the customer

householdobject

Household information about a customer

maritalStatusstring

The marital status of the customer

Enum: COHABITING,DIVORCED,MARRIED,SEPARATED,SINGLE,WIDOWED,CIVIL_PARTNERSHIP

numberOfDependentChildrennumber

The number of children the customer looks after

numberOfOtherDependentsnumber

The number of other people the customer is in charge of

reportsobject

Reports about the customer

completedAnalysesobject

Information about analyses related to the customer

countnumber

Number of analysis with COMPLETED status

datedate-time

Last completed analysis date

urlstring

URL of the last analysis

lastFailedAnalysisobject

Information about the last failed analysis of the customer

datedate-time

Last failed analysis date

urlstring

URL of the last failed analysis

typestring

Type of the last failed analysis

Enum: INTERNAL_ERROR,NOT_ENOUGH_TRANSACTIONS,CURRENCY_NOT_SUPPORTED,USAGE_NOT_SUPPORTED,NO_CHECKING_ACCOUNT,ACCOUNT_TYPE_NOT_SUPPORTED,OWNERSHIP_NOT_SUPPORTED,LOW_ACTIVITY_SCORE,ZERO_INCOME

userJourneyStatestring

The customer most advanced state in the user journey.

States:

  • CUSTOMER_CREATED: The customer has been created.
  • CREATED: A bank connection process has been created for the customer.
  • INVITATION_SENT: The customer has been invited to connect their bank via Algoan's Dashboard.
  • STARTED: The customer has started the bank connection process.
  • BANK_SELECTED: The customer has selected their bank in the bank connection process.
  • QR_CODE_SCANNED: The customer has scanned the QR code in the bank connection process, which allows them to continue the process on their mobile.
  • AGGREGATION_STARTED: The customer has been redirected to his bank's website and the aggregation process has started.
  • AGGREGATION_FINISHED_ERROR: The aggregation process has finished with an error.
  • AGGREGATION_FINISHED_SUCCESS: The aggregation process has finished successfully.
  • FINISHED_ERROR: The bank connection process has finished with an error.
  • FINISHED_SUCCESS: The bank connection process has finished successfully.
  • ANALYSIS_ERROR: The analysis run on the customer's data has finished with an error.
  • ANALYSIS_SUCCESS: The analysis run on the customer's data has finished successfully.

Enum: CUSTOMER_CREATED,CREATED,INVITATION_SENT,STARTED,BANK_SELECTED,QR_CODE_SCANNED,AGGREGATION_STARTED,AGGREGATION_FINISHED_ERROR,AGGREGATION_FINISHED_SUCCESS,FINISHED_ERROR,FINISHED_SUCCESS,ANALYSIS_ERROR,ANALYSIS_SUCCESS

openBankingInformationobject

Information about the customer retrieved from the Open Banking process

ownersarray[object]

Owners of the accounts

Same names are merged.

namestring

Name of the owner

createdAtdate-time

Customer date of creation

updatedAtdate-time

Latest update of the customer

Expand 
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

Response
xxxxxxxxxx
 
{
 "id": "6013d7991496b7395090f05c",
 "customIdentifier": "my_id_43523",
 "aggregationDetails": {
  "aggregatorName": "{string}",
  "callbackUrl": "{string}",
  "token": "{string}",
  "mode": "{string}",
  "redirectUrl": "{string}",
  "apiUrl": "{string}",
  "iframeUrl": "{string}",
  "userId": "{string}",
  "clientId": "{string}"
 },
 "personalDetails": {
  "identity": "{}",
  "contact": {
   "email": "test@algoan.com",
   "phoneNumber": "+33611223344",
   "street": "151 rue saint denis",
   "additionalInformation": "second Floor",
   "city": "Paris",
   "zipCode": 75002,
   "country": "FR"
  },
  "household": {
   "maritalStatus": "CIVIL_PARTNERSHIP",
   "numberOfDependentChildren": 2,
   "numberOfOtherDependents": 0
  }
 },
 "reports": {
  "completedAnalyses": {
   "count": "{number}",
   "date": "{date-time}",
   "url": "https://api.algoan.com/v2/customers/customer_id/analyses/analysis_id"
  },
  "lastFailedAnalysis": {
   "date": "{date-time}",
   "url": "https://api.algoan.com/v2/customers/customer_id/analyses/analysis_id",
   "type": "NOT_ENOUGH_TRANSACTIONS"
  },
  "userJourneyState": "CUSTOMER_CREATED"
 },
 "openBankingInformation": {
  "owners": [
   {
    "name": "John Doe"
   }
  ]
 },
 "createdAt": "{date-time}",
 "updatedAt": "{date-time}"
}
Copy
Expand 

Share customer data

Share customer data with a specified organization and project.

Auth
Request Body
arrayarray[object]
organizationIdstring
projectIdstring
customIdentifierstring
POST /v2/customers/{id}/share
xxxxxxxxxx
 
curl --request POST \
 --url 'https://api.algoan.com/v2/customers/{id}/share' \
 --header 'Authorization: Bearer {token}' \
 --data '[
  {
    "organizationId": "62a0292a23aba057abc344ee",
    "projectId": "67c1b013f7a0f072d62c148d",
    "customIdentifier": "request-001"
  }
]'
Copy
Responses
200

Successfully shared customer data

arrayarray[object]
organizationIdstring
projectIdstring
customerIdstring
customIdentifierstring
Response
xxxxxxxxxx
 
[
 {
  "organizationId": "{string}",
  "projectId": "{string}",
  "customerId": "{string}",
  "customIdentifier": "{string}"
 }
]
Copy

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.

Endpoints
POST
/v2/customers/{id}/analyses

Create a new analysis

Creates a new analysis for a given customer. There are several possible scenarios depending on the number of created analyses for a customer.

First analysis

If you create for the first time an analysis for the customer, there are three possible scenarios:

  • You are able to fetch accounts and transactions from an AISP and send them to Algoan. In this case, the Score and Credit Insights analysis will automatically be launched as soon as the analysis instance is created.
  • If you are using a connector, you should first create an analysis with no accounts and no transactions. An automatic event will then be sent to your hosted connector so it can automatically fetch data from the AISP. The analysis will be computed right after.
  • If you are not using a connector and no accounts and no transactions are provided in the request body, a 403 HTTP error will be returned.

Next analyses

If you are trying to create a new analysis for a customer that already has at least one analysis, here is a list of possible scenarios:

  • As soon as you create an analysis with new accounts and transactions, the new analysis result will be based on all accounts and transactions that belong to the customer (including those used in previous analyses).
  • If you are using a connector, you should first create an analysis with no accounts and no transactions. An automatic event will then be sent to your hosted connector so it can automatically fetch the latest transactions of the previously connected bank accounts. The analysis will be computed right after. This new analysis result will be based on all accounts and transactions that belong to the customer (including those used in previous analyses).
  • If you are not using a connector and create a new analysis with no accounts no transactions in the request body, a 403 HTTP error will be returned.

Upload Budget Insight Open Banking data

If you have integrated Budget Insight on your side, you can create an analysis with Budget Insight raw data. To do this, choose BUDGET_INSIGHT_V2_0 format and upload users' connections.

If you use Budget Insight's webhooks, listen to the CONNECTION_SYNCED event. If you don't, you need to retrieve:

  • Connections
  • Connector attached to the connections
  • Accounts
  • Transactions

Upload Linxo Connect Open Banking data

If you have integrated Linxo Connect on your side, you can create an analysis with Linxo Connect Direct Account API raw data. To do this, choose LINXO_CONNECT_DIRECT_ACCOUNT_API_V3 format and upload users' accounts.

We also support the Account API mode. Select the LINXO_CONNECT_ACCOUNT_API_V2 format if you have integrated Linxo Connect Account API.

Upload Tink Open Banking data

Choose the TINK_V2 format if you have already integrated Tink on your side.

Upload Mastercard Open Banking Enterprise data

Choose the MASTERCARD_OPEN_BANKING_ENTERPRISE_V2 format if you have already integrated Mastercard Open Banking Enterprise (formerly Aiia) on your side.

Upload Mastercard Open Banking data

Choose the MASTERCARD_OPEN_BANKING format if you have already integrated MASTERCARD_OPEN_BAKING on your side.

Auth
Request Body

New analysis to create

objectobject

Account related to the analysis

formatstring

Original format of the open banking data (default to ALGOAN). BUDGET_INSIGHT_V2 refers to the second version of Budget Insight API.

Enum: ALGOAN,BUDGET_INSIGHT_V2_0,LINXO_CONNECT_DIRECT_ACCOUNT_API_V3,LINXO_CONNECT_ACCOUNT_API_V2,TINK_V2,MASTERCARD_OPEN_BANKING,MASTERCARD_OPEN_BANKING_ENTERPRISE_V2,HYBRID

Default: ALGOAN

parametersobject

Optional parameters related to the analysis.

If disableScores and disableCreditInsights are both set to true, the analysis will be have to be triggered manually later by calling POST /analyses/{analysisId}/trigger with { disableScores: false, disableCreditInsights: false }.

disableScoresboolean

Set to true if you only want to launch a Credit Insights analysis

disableCreditInsightsboolean

Set to true if you only want to launch the Score

useBalanceDateboolean

Set to true if you want to use the most recent account balance date as a reference date for the analysis instead of using the current date

periodobject

Parameters used to compute the analyzed period.

modestring

Analysis configuration mode:

  • DAYS: Analysis is computed using the transactions of the m past days.
  • MONTHS: Analysis is computed using the transactions of the n last rolling months.
  • MONTHS_TRUNCATED: Analysis is computed using the transactions of the n last calendar months.
  • MONTHS_AND_CURRENT: Analysis is computed using the transactions of the n last calendar months and the current month.

m and n refer respectively to the value of numberOfDays and numberOfMonths.

Enum: DAYS,MONTHS,MONTHS_TRUNCATED,MONTHS_AND_CURRENT

numberOfDaysnumber

Number of analyzed days.

numberOfMonthsnumber

Number of analyzed months.

includeCheckingAccountsOnTruncateWindowboolean

Used if mode is MONTHS_TRUNCATED. If true only the transactions of checking accounts are used to compute analysis window dates.

launchReportboolean

Set to true if you want to automatically launch a report creation after the analysis is completed. You will be notified on your webhook when the report status is COMPLETED (or ERROR).

dataOriginstring

Describes the origin of the analysis' data:

  • OPEN_BANKING: Data fetched from an aggregator.
  • PDF: Data fetched from a PDF file
  • UNKNOWN: Default value

Enum: OPEN_BANKING,PDF,UNKNOWN

accountsarray

Accounts including transactions (Algoan format)

typestring

Account's type. UNKNOWN accounts will not be included in the analysis.

Enum: CHECKING,SAVINGS,LOAN,CREDIT_CARD,UNKNOWN

balancenumber

Last known account balance

balanceDatedate-time

Last known account balance's date (format ISO)

currencystring

Account's currency. Non EUR accounts will not be included in the analysis.

ownersarray[object]

Owners of the account

namestring

name of the owner

numberstring

Account's number

ibanstring

Account's iban

bicstring

Account's bic

namestring

Account's name taken from the bank's website

bankobject

Owner's bank information

idstring

Aggregator unique identifier

logoUrlstring

URL of the bank's logo

namestring

Name of the bank

countrystring

Country Code of the bank

usagestring

Purpose of the account. PROFESSIONAL will not be included in the analysis.

Enum: PROFESSIONAL,PERSONAL,UNKNOWN

ownershipstring

Relationship between the customer and the account. ATTORNEY will not be included in the analysis.

Enum: HOLDER,CO_HOLDER,ATTORNEY,OTHER

countrystring

The alpha-2 code country of the account (format ISO 3166-1 alpha-2)

comingnumber

Amount of coming operations (not yet debited)

detailsobject

The details of the account

savingsobject

Details specific to SAVINGS type accounts

typestring

Savings account's type

Enum: SHORT_TERM,LONG_TERM,UNKNOWN

openedAtdate-time

Opening date of the saving account

maximumAmountnumber

Maximum amount authorized for this account

interestRatenumber

Interest rate of the saving account (between 0 and 1)

loanobject
typestring

Details specific to LOAN type accounts

Enum: REVOLVING,PERSONAL,MORTGAGE,OTHER

amountnumber

Loan's amount

startDatedate-time

Loan's start date (format ISO)

endDatedate-time

Loan's end date (format ISO)

durationnumber

Loan's duration in months

insuranceLabelstring

Label of the insurance

paymentnumber

Monthly amount of the loan

remainingCapitalnumber

Amount of capital left to repay

interestRatenumber

Interest rate of the loan (between 0 and 1)

aggregatorobject

Informations specific to the aggregator

idstring

Unique identifier set by the aggregator

isComputedboolean

Whether the account will be / has been used during the Analysis computation

Default: true

transactionsarray[object]
descriptionstring

Description of the transaction. If description is an empty string, a 400 HTTP error will be returned.

datesobject

Dates associated with the transaction. At least one date is required, depending on the type of account. For instance, if it is a "checking" account, the "debitedAt" date is required.

debitedAtdate-time

Debit date as seen on the bank statement. This property may not be set if the transaction is not yet debited. This can occurs if there's a differed payement.

bookedAtdate-time

Realization date of the transaction

amountnumber

Amount of the transaction (negative if debit)

currencystring

Transaction's currency

Default: EUR

isComingboolean

Indicates if the transaction will be debited or credited on the account in the future

aggregatorobject

Additional information relative to the transaction provided by the aggregator

idstring

id of the transaction provided by the aggregator

categorystring

Category provided by the aggregator

typestring

Type provided by the aggregator

triggerAccountSyncboolean

If false, the account synchronization will not be triggered, even if the account list is empty.

Expand 
POST /v2/customers/{id}/analyses
xxxxxxxxxx
 
curl --request POST \
 --url 'https://api.algoan.com/v2/customers/{id}/analyses' \
 --header 'Authorization: Bearer {token}' \
 --data '{
  "format": "{string}",
  "parameters": {
    "disableScores": "{boolean}",
    "disableCreditInsights": "{boolean}",
    "useBalanceDate": "{boolean}",
    "period": {
      "mode": "DAYS",
      "numberOfDays": 90,
      "numberOfMonths": 0,
      "includeCheckingAccountsOnTruncateWindow": false
    },
    "launchReport": "{boolean}"
  },
  "dataOrigin": "{string}",
  "accounts": [
    {
      "type": "CHECKING",
      "balance": 3564.5,
      "balanceDate": "2019-06-30T22:00:00.000Z",
      "currency": "EUR",
      "owners": [
        {
          "name": "John Doe"
        }
      ],
      "number": "1234-123456789",
      "iban": "FR7630001007941234567890185",
      "bic": "BDFEFR2T",
      "name": "compte de pierre paul jacques",
      "bank": {
        "id": "{string}",
        "logoUrl": "{string}",
        "name": "{string}",
        "country": "{string}"
      },
      "usage": "PERSONAL",
      "ownership": "HOLDER",
      "country": "FR",
      "coming": 400,
      "details": {
        "savings": {
          "type": "SHORT_TERM",
          "openedAt": "2019-06-30T22:00:00.000Z",
          "maximumAmount": 20000,
          "interestRate": 0.1456
        },
        "loan": {
          "type": "{string}",
          "amount": 10000,
          "startDate": "2019-06-30T22:00:00.000Z",
          "endDate": "2019-06-30T22:00:00.000Z",
          "duration": 24,
          "insuranceLabel": "Insurance A",
          "payment": 10,
          "remainingCapital": 1000,
          "interestRate": 0.1456
        }
      },
      "aggregator": {
        "id": "{string}"
      },
      "isComputed": "{boolean}",
      "transactions": [
        {
          "description": "Expenses",
          "dates": {
            "debitedAt": "2019-06-30T22:00:00.000Z",
            "bookedAt": "{date-time}"
          },
          "amount": 10000,
          "currency": "{string}",
          "isComing": false,
          "aggregator": {
            "id": "12a22",
            "category": "{string}",
            "type": "{string}"
          }
        }
      ]
    }
  ],
  "triggerAccountSync": true
}'
Copy
Expand 
Responses
202

Analysis in progress

objectobject

An analysis launched with open banking data but no Credit Insights nor Score has been computed yet.

idstring

Unique analysis identifier

formatstring

Original format of the open banking data (default to ALGOAN). BUDGET_INSIGHT_V2 refers to the second version of Budget Insight API.

Enum: ALGOAN,BUDGET_INSIGHT_V2_0,LINXO_CONNECT_DIRECT_ACCOUNT_API_V3,LINXO_CONNECT_ACCOUNT_API_V2,TINK_V2,MASTERCARD_OPEN_BANKING,MASTERCARD_OPEN_BANKING_ENTERPRISE_V2,HYBRID

Default: ALGOAN

parametersobject

Optional parameters related to the analysis.

If disableScores and disableCreditInsights are both set to true, the analysis will be have to be triggered manually later by calling POST /analyses/{analysisId}/trigger with { disableScores: false, disableCreditInsights: false }.

disableScoresboolean

Set to true if you only want to launch a Credit Insights analysis

disableCreditInsightsboolean

Set to true if you only want to launch the Score

useBalanceDateboolean

Set to true if you want to use the most recent account balance date as a reference date for the analysis instead of using the current date

periodobject

Parameters used to compute the analyzed period.

modestring

Analysis configuration mode:

  • DAYS: Analysis is computed using the transactions of the m past days.
  • MONTHS: Analysis is computed using the transactions of the n last rolling months.
  • MONTHS_TRUNCATED: Analysis is computed using the transactions of the n last calendar months.
  • MONTHS_AND_CURRENT: Analysis is computed using the transactions of the n last calendar months and the current month.

m and n refer respectively to the value of numberOfDays and numberOfMonths.

Enum: DAYS,MONTHS,MONTHS_TRUNCATED,MONTHS_AND_CURRENT

numberOfDaysnumber

Number of analyzed days.

numberOfMonthsnumber

Number of analyzed months.

includeCheckingAccountsOnTruncateWindowboolean

Used if mode is MONTHS_TRUNCATED. If true only the transactions of checking accounts are used to compute analysis window dates.

isComputedUsingProjectConfigboolean

Whether the analyzed period has been computed using the project's configurations or the values in period

launchReportboolean

Set to true if you want to automatically launch a report creation after the analysis is completed. You will be notified on your webhook when the report status is COMPLETED (or ERROR).

statusstring

State of the analysis:

  • CREATED: you've just created the analysis. Algoan is waiting for accounts and transactions to be uploaded
  • FETCHING_DATA: accounts and transactions are being fetched by an asynchronous process (e.g. bank_details_required resthook event), you can force the emission of this event by calling the POST /analyses endpoint without accounts and transactions.
  • IN_PROGRESS: as soon as banking details are uploaded, the analysis is in "IN_PROGRESS" state. If you try to request Credit Insights or Score, the API will return a 202 HTTP status code.
  • COMPLETED: means that the analysis process is finished. Conditions:
    • If Credit Insights is disabled, the analysis is complete as soon as scores and metadata are defined
    • If Score is disabled, the analysis is complete as soon as creditInsights and metadata are defined
    • If you've launched both Score and Credit Insights, the analysis is completed as soon as all fields are defined
  • ERROR: the analysis is in an error state if Score or Credit Insights cannot be calculated. Therefore, an error property will be defined, giving you the reason for failure.

Enum: CREATED,FETCHING_DATA,ERROR,IN_PROGRESS,COMPLETED

sourcestring

Describes the origin of the analysis' launch:

  • INTERNAL: relaunched by Algoan if an internal error occurred (will not be billed)
  • CLIENT: created and launched by a client
  • CASH_FLOW_UPDATE: created and launched after a client cashflow update
  • ACCOUNT_SELECTION_UPDATE: created and launched after a client updated the list of selected accounts
  • REFRESH: created and launched after a client requested a refresh of the analysis
  • REFRESH_WITH_NEW_ACCOUNTS: created and launched after a client requested a refresh of the analysis with new accounts

Enum: INTERNAL,CLIENT,CASH_FLOW_UPDATE,ACCOUNT_SELECTION_UPDATE,REFRESH,REFRESH_WITH_NEW_ACCOUNTS

dataOriginstring

Describes the origin of the analysis' data:

  • OPEN_BANKING: Data fetched from an aggregator.
  • PDF: Data fetched from a PDF file
  • UNKNOWN: Default value

Enum: OPEN_BANKING,PDF,UNKNOWN

createdAtdate-time

Analysis date of creation

updatedAtdate-time

Latest update of the analysis

Expand 
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

Customer not found

Response
xxxxxxxxxx
 
{
 "id": "{string}",
 "format": "{string}",
 "parameters": {
  "disableScores": "{boolean}",
  "disableCreditInsights": "{boolean}",
  "useBalanceDate": "{boolean}",
  "period": {
   "mode": "DAYS",
   "numberOfDays": 90,
   "numberOfMonths": 0,
   "includeCheckingAccountsOnTruncateWindow": false,
   "isComputedUsingProjectConfig": false
  },
  "launchReport": "{boolean}"
 },
 "status": "{string}",
 "source": "{string}",
 "dataOrigin": "{string}",
 "createdAt": "{date-time}",
 "updatedAt": "{date-time}"
}
Copy