NAV
curl HTTP

Subaio Partner API v2.0.0

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

The Subaio Partner API allows partners to make backend API calls to the Subaio Client API endpoints.

The API is opened to partners using IP whitelisting, SSL-client certificates and/or VPN connections etc. to ensure that only the partners are able connect.

Base URLs:

Email: Support

Authentication

User handling

Create new Subaio user

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/users \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/users HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/users

Create a new Subaio user by supplying a user key that can be shared between you and Subaio.

This ID is used when getting login tokens, linking transaction data to an onboarded user etc.

Body parameter

{
  "bankUserId": "string",
  "brand": "somebank_dk",
  "locale": "da-DK",
  "details": {}
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body CreateUserRequest true none

Responses

Status Meaning Description Schema
201 Created User created None
409 Conflict User already exists None

Response Headers

Status Header Type Format Description
201 X-Correlation-ID string none
409 X-Correlation-ID string none

Delete Subaio user

Code samples

# You can also use wget
curl -X DELETE https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/users \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

DELETE https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/users HTTP/1.1
Host: partner.demo.subaio.com:9443

X-Correlation-ID: string

DELETE /partner/{partnerId}/2.0.0/users

Delete a Subaio user

Data retention policy is enforced, so necessary data is kept until it expires.

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Responses

Status Meaning Description Schema
202 Accepted User deleted None

Response Headers

Status Header Type Format Description
202 X-Correlation-ID string none

Get Subaio JWT based on signed payload containing bank user ID

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/users/logins \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/users/logins HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/json
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/users/logins

Payload is handled on a per bank basis.

Body parameter

{
  "payload": "string"
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body LoginRequest true none

Example responses

200 Response

{
  "token": "string"
}

Responses

Status Meaning Description Schema
200 OK Login successful - Subaio JWT returned LoginResponse
403 Forbidden Login invalid None
404 Not Found User not found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
403 X-Correlation-ID string none
404 X-Correlation-ID string none

Transactions

New debited transactions

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/transactions \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/transactions HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/json
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/transactions

Encrypted transaction list. The payload is encrypted using JWE specifications (RFC7516).

Body parameter

{
  "reqId": "27e2e489-205c-412e-bb41-e1b65ddf754e",
  "txs": "string"
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body TransactionsRequest true none

Example responses

400 Response

{
  "errorCode": "TX_DATA_ERROR"
}

Responses

Status Meaning Description Schema
201 Created Created. All transactions in the request were successfully received. None
400 Bad Request Bad Request. The contents could not be processed. Retrying the same request without modifications will not help. All transactions in the request are considered unreceived. The response body may contain additional information on what went wrong with the request handling. If the request contained multiple transactions, and the errorCode is TX_DATA_ERROR, the sender MAY retry sending the batched transactions in single messages. TransactionsErrorResponse

Response Headers

Status Header Type Format Description
201 X-Correlation-ID string none
400 X-Correlation-ID string none

Fetch debited transactions on the user.

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/transactions \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/transactions HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/transactions

Returns a list of debited transactions on the user.

Body parameter

[
  {
    "id": "string",
    "transactionDate": "string",
    "type": "CARD_PURCHASE",
    "amount": 1.23,
    "currency": "NOK",
    "originalAmount": 1.23,
    "originalCurrency": "NOK",
    "merchantName": "Zlatnicka Täityö",
    "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
    "accountId": "string",
    "cardId": "string"
  }
]

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body TransactionsResponse true none

Responses

Status Meaning Description Schema
200 OK Returned a list of debited transactions on the user. None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

PSD2

Initiate PSD2 login flow.

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/psd2/initiate \
  -H 'Content-Type: application/json' \
  -H 'Accept: */*' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/psd2/initiate HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: */*
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/psd2/initiate

Returns a URL to a PSD2 login UI that must be followed to give access to bank data.

Since some browsers block third-party cookies by default, and some PSD2 providers are dependent on cookies to work, it is necessary to either open a new browser window, or redirect the entire page.

To help open the redirect URL in a new window (or tab on mobile), the tiny @subaio/psd2login-web helper library can be used. No redirectUrl should be provided in the body of this request. If redirectUrl is provided, it will redirect and simply close the window afterwards.

If opening a new window is not desireable or possible, the page should instead pass a redirectUrl in the body of the request and redirect to the returned url. When the process is finished, the page will be redirected to the URL provided to in the body, with an added query-parameter, psd2Status. It can take the following values:

Body parameter

{
  "redirectUrl": "string"
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body Psd2InitiateRequest true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK Login flow has been initiated. Psd2InitiateResponse

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Recurring payments

Get all recurring payment for a user

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/services \
  -H 'Accept: */*' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/services HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: */*
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/services

Parameters

Name In Type Required Description
partnerId path string true none
visibility query string false Shows services with visibility.
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Enumerated Values

Parameter Value
visibility VISIBLE
visibility HIDDEN

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK List of recurring payments ServiceResponse
202 Accepted The resources is not ready yet, please try again later. The Retry-After header will state when it would make sense to try again. The Location header is a self reference, it is present because it is required for status code 202. None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
202 X-Correlation-ID string none
202 Retry-After integer A suggested time in seconds to wait before retrying.
202 Location string Mandatory when returning 202, but is just a url self reference.

Get specific recurring payment for a user.

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/services/{serviceId} \
  -H 'Accept: */*' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/services/{serviceId} HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: */*
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/services/{serviceId}

Parameters

Name In Type Required Description
partnerId path string true none
serviceId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK The recurring payments for the user Service

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Update the service hidden status

Code samples

# You can also use wget
curl -X PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/services/{serviceId}/hidden \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/services/{serviceId}/hidden HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

PUT /partner/{partnerId}/2.0.0/services/{serviceId}/hidden

Body parameter

{
  "hidden": "true"
}

Parameters

Name In Type Required Description
partnerId path string true none
serviceId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body ServiceUpdateHiddenRequest true none

Responses

Status Meaning Description Schema
200 OK Updated the service hidden status. None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Get upcoming recurring payments

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/upcoming-payments \
  -H 'Accept: */*' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/upcoming-payments HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: */*
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/upcoming-payments

Return the next expected payment for each active recurring payment. Sporadic payments are not included.

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK List of upcoming payments UpcomingPaymentsResponse

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Crowdsourcing

Submit a missing subscription.

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/crowdsourcing \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/crowdsourcing HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/crowdsourcing

Submit a missing subscription by giving a transaction id and a payment frequency.

Body parameter

{
  "id": "string",
  "paymentFrequency": "MONTHLY"
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body CrowdsourcingRequest true none

Responses

Status Meaning Description Schema
201 Created The missing subscription has been submitted. None
503 Service Unavailable This feature has been disabled. None

Response Headers

Status Header Type Format Description
201 X-Correlation-ID string none
503 X-Correlation-ID string none

Accounts

Update user account access

Code samples

# You can also use wget
curl -X PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/accounts \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/accounts HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

PUT /partner/{partnerId}/2.0.0/accounts

Update the accounts a user has access to - only able to remove accounts, as access to new accounts has to be introduced through the transactions endpoint

Body parameter

[
  "Account id",
  "Account id2"
]

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body AccountsRequest true none

Responses

Status Meaning Description Schema
200 OK User account upgraded None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Update account balance and name for customer accounts. Any existing account balance and name (if provided) will be overwritten. If the account does not exist it will be created.

Code samples

# You can also use wget
curl -X PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/accounts-balances \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/accounts-balances HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

PUT /partner/{partnerId}/2.0.0/accounts-balances

Body parameter

{
  "accounts": [
    {
      "accountId": "string",
      "accountName": "string",
      "observedTime": "string",
      "balance": 1234.56
    }
  ]
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body AccountsBalancesRequest true none

Responses

Status Meaning Description Schema
200 OK All account details have been updated or created. None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Reports

Request user report

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/reports \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/reports HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/json
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/reports

Request a user report based on the transactions currently present

Body parameter

{
  "type": "NEXT_OF_KIN",
  "effectiveDate": "2021-03-17"
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body ReportRequest true none

Example responses

200 Response

{
  "documentId": "fcc113b7-fd34-4d63-81d1-a154c5014139"
}

Responses

Status Meaning Description Schema
200 OK User report requested for processing ReportResponse

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Budgets

Create budget for user

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/json
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets

Request a new budget for the user

Body parameter

{
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  }
}

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetRequest false none

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e"
}

Responses

Status Meaning Description Schema
200 OK User budget BudgetCreateResponse

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Get user budget

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId} \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId} HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: application/json
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/budgets/{budgetId}

Get the user budget with the provided budget id. The transactions element will always be empty, if you need transactions use the /details endpoint.

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "createdTime": "2022-05-16T11:28:07",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment"
}

Responses

Status Meaning Description Schema
200 OK User budget Budget
202 Accepted Budget is uninitialized, due to payment data not being ready None
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
202 X-Correlation-ID string none
404 X-Correlation-ID string none

Approve co-applicant in the budget

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/coapplicants \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/coapplicants HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/coapplicants

Confirms that both users agree that they are co-applicants.

Body parameter

{
  "type": "SHARED_FINANCES",
  "budgetId": "fcf1d230-a9d0-4836-9e20-f98f3396e01b"
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetCoapplicantRequest true none

Responses

Status Meaning Description Schema
200 OK Applicant added to budget None
400 Bad Request Co-applicant type is SEPARATE_FINANCES, but no budget id provided None
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
400 X-Correlation-ID string none
404 X-Correlation-ID string none

Add comment to budget

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/comment \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/comment HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/comment

Adds a comment to the budget

Body parameter

{
  "comment": "This is a user provided comment"
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetCommentRequest true none

Responses

Status Meaning Description Schema
200 OK Comment added to budget by the user None
400 Bad Request Payload not valid None
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
400 X-Correlation-ID string none
404 X-Correlation-ID string none

Complete budget

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/completions \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/completions HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/completions

Mark the budget as completed

Body parameter

{
  "status": "ACCEPTED"
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetCompletionsRequest true none

Responses

Status Meaning Description Schema
200 OK Budget marked as completed None
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Get user budget with details

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/details \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/details HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: application/json
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/budgets/{budgetId}/details

Get the user budget with the provided budget id. The budget contains transaction details.

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "nonrecurringTransactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment",
  "nonrecurringSpending": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  },
  "nonrecurringIncome": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  },
  "nonrecurringExpenses": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  }
}

Responses

Status Meaning Description Schema
200 OK User budget BudgetDetails
202 Accepted Budget is uninitialized, due to payment data not being ready None
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
202 X-Correlation-ID string none
404 X-Correlation-ID string none

Get user data for budget

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/user-data \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/user-data HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: application/json
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/budgets/{budgetId}/user-data

Get the user data for the budget with the provided budget id

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

{
  "personal": {
    "children": [
      {
        "age": 30
      }
    ],
    "hasChildren": true,
    "maritalStatus": "MARRIED",
    "dateOfBirth": "1990-10-21"
  },
  "residence": {
    "ownership": "HOMEOWNER",
    "type": "HOUSE",
    "occupancyDate": "2019-06-15",
    "hasVacationHome": true
  },
  "employment": {
    "status": "EMPLOYED",
    "type": "SALARIED",
    "date": "2020-01-15",
    "unemploymentFund": true,
    "unemploymentInsuranceMonths": 12
  },
  "education": {
    "type": "HIGHER_LONG"
  },
  "transport": {
    "vehicles": [
      {
        "ownership": "OWNED"
      }
    ],
    "hasVehicle": true
  },
  "expenses": {
    "share": 50
  }
}

Responses

Status Meaning Description Schema
200 OK User data for budget BudgetUserData
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Create user data for budget

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/user-data \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/user-data HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/json
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/user-data

Create the user data for the budget with the provided budget id

Body parameter

{
  "personal": {
    "children": [
      {
        "age": 30
      }
    ],
    "hasChildren": true,
    "maritalStatus": "MARRIED",
    "dateOfBirth": "1990-10-21"
  },
  "residence": {
    "ownership": "HOMEOWNER",
    "type": "HOUSE",
    "occupancyDate": "2019-06-15",
    "hasVacationHome": true
  },
  "employment": {
    "status": "EMPLOYED",
    "type": "SALARIED",
    "date": "2020-01-15",
    "unemploymentFund": true,
    "unemploymentInsuranceMonths": 12
  },
  "education": {
    "type": "HIGHER_LONG"
  },
  "transport": {
    "vehicles": [
      {
        "ownership": "OWNED"
      }
    ],
    "hasVehicle": true
  },
  "expenses": {
    "share": 50
  }
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetUserData true none

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "createdTime": "2022-05-16T11:28:07",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment"
}

Responses

Status Meaning Description Schema
200 OK User data for budget Budget
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Adjust amount for a category

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/categories/{categoryId}/adjustments \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/categories/{categoryId}/adjustments HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/json
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/categories/{categoryId}/adjustments

Send amount changes for a category

Body parameter

{
  "amount": 299.95,
  "frequency": "MONTHLY"
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
categoryId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetAdjustCategoryRequest true none

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "createdTime": "2022-05-16T11:28:07",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment"
}

Responses

Status Meaning Description Schema
200 OK Category amount adjusted and updated budget returned Budget
400 Bad Request Payload not valid, e.g. amount is less than 0 None
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
400 X-Correlation-ID string none
404 X-Correlation-ID string none

Remove user adjusted amount for a category

Code samples

# You can also use wget
curl -X DELETE https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/categories/{categoryId}/adjustments \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

DELETE https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/categories/{categoryId}/adjustments HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: application/json
X-Correlation-ID: string

DELETE /partner/{partnerId}/2.0.0/budgets/{budgetId}/categories/{categoryId}/adjustments

Remove the user adjusted amount for a category

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
categoryId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "createdTime": "2022-05-16T11:28:07",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment"
}

Responses

Status Meaning Description Schema
200 OK Action for user adjusted amount for category removed and updated budget returned Budget
404 Not Found No budget or action with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Get next action

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/next \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/next HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: application/json
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/next

Get next unresolved action for user budget

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "title": "Action title",
  "content": "Please recategorize [expense.product.title]",
  "skipped": false,
  "type": "RECATEGORIZATION",
  "expense": {
    "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
    "source": "ENGINE",
    "currency": "NOK",
    "title": "Himmerland Boligforening",
    "paymentFrequency": "MONTHLY",
    "paymentCost": 12.34,
    "paymentCostMonthly": 12.34,
    "averageLastThreeMonths": 12.34,
    "averageLastTwelveMonths": 12.34,
    "type": "SERVICE",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
    "service": {
      "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
      "paymentCost": 123.45,
      "currency": "NOK",
      "paymentFrequency": "MONTHLY",
      "totalPastYear": 1234.56,
      "product": {
        "title": "Audible",
        "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
      }
    },
    "categories": [
      "house_rent"
    ],
    "transactions": [
      {
        "id": "string",
        "transactionDate": "string",
        "type": "CARD_PURCHASE",
        "amount": 1.23,
        "currency": "NOK",
        "originalAmount": 1.23,
        "originalCurrency": "NOK",
        "merchantName": "Zlatnicka Täityö",
        "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
        "accountId": "string",
        "cardId": "string"
      }
    ]
  },
  "potentialCategories": [
    "house_electricity",
    "house_internet"
  ],
  "category": "house_rent"
}

Responses

Status Meaning Description Schema
200 OK Budget action BudgetActionResponse
404 Not Found No budget with provided id found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Recategorize or add category

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId} \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId} HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId}

Recategorize action or add new missing category

Body parameter

{
  "categories": [
    {
      "id": "house_internet",
      "amount": 299.95,
      "paymentFrequency": "MONTHLY"
    }
  ],
  "type": "SERVICE",
  "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
  "amount": 1.23,
  "paymentFrequency": "MONTHLY",
  "transactionId": "54070120-823d-4227-b70a-9f226b8f4b1e",
  "title": "Rent"
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
actionId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetActionRequest true none

Responses

Status Meaning Description Schema
200 OK Budget action updated None
404 Not Found Budget or budget action not found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Undo action

Code samples

# You can also use wget
curl -X DELETE https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId} \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

DELETE https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId} HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

DELETE /partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId}

Undo the effects of an action

Body parameter

{
  "notApplicable": true
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
actionId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetSkipRequest true none

Responses

Status Meaning Description Schema
200 OK Budget action deleted None
404 Not Found Budget or budget action not found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Skip action

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId}/skips \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId}/skips HTTP/1.1
Host: partner.demo.subaio.com:9443

X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/questions/{actionId}/skips

Skip action

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
actionId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Responses

Status Meaning Description Schema
201 Created Action skipped None
404 Not Found Budget or budget action not found None

Response Headers

Status Header Type Format Description
201 X-Correlation-ID string none
404 X-Correlation-ID string none

Get expense

Code samples

# You can also use wget
curl -X GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/expenses/{expenseId} \
  -H 'Accept: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

GET https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/expenses/{expenseId} HTTP/1.1
Host: partner.demo.subaio.com:9443
Accept: application/json
X-Correlation-ID: string

GET /partner/{partnerId}/2.0.0/budgets/{budgetId}/expenses/{expenseId}

Get details about an expense

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
expenseId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.

Example responses

200 Response

{
  "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
  "source": "ENGINE",
  "currency": "NOK",
  "title": "Himmerland Boligforening",
  "paymentFrequency": "MONTHLY",
  "paymentCost": 12.34,
  "paymentCostMonthly": 12.34,
  "averageLastThreeMonths": 12.34,
  "averageLastTwelveMonths": 12.34,
  "type": "SERVICE",
  "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
  "service": {
    "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
    "paymentCost": 123.45,
    "currency": "NOK",
    "paymentFrequency": "MONTHLY",
    "totalPastYear": 1234.56,
    "product": {
      "title": "Audible",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
    }
  },
  "categories": [
    "house_rent"
  ],
  "transactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ]
}

Responses

Status Meaning Description Schema
200 OK Expense Expense
404 Not Found Budget or expense not found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Get creditworthiness report

Code samples

# You can also use wget
curl -X POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/report \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/pdf' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

POST https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/budgets/{budgetId}/report HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json
Accept: application/pdf
X-Correlation-ID: string

POST /partner/{partnerId}/2.0.0/budgets/{budgetId}/report

Body parameter

{
  "reportId": "c8f2df69-1162-435c-9486-4e27506cbf9e"
}

Parameters

Name In Type Required Description
partnerId path string true none
budgetId path string(uuid) true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body BudgetReport true none

Example responses

200 Response

Responses

Status Meaning Description Schema
200 OK Report string
404 Not Found Budget not found None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none
404 X-Correlation-ID string none

Alerts

Mark multiple alerts as seen.

Code samples

# You can also use wget
curl -X PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/alerts/seen \
  -H 'Content-Type: application/json' \
  -H 'X-Correlation-ID: string' \
  -H 'Authorization: API_KEY'

PUT https://partner.demo.subaio.com:9443/partner/{partnerId}/2.0.0/alerts/seen HTTP/1.1
Host: partner.demo.subaio.com:9443
Content-Type: application/json

X-Correlation-ID: string

PUT /partner/{partnerId}/2.0.0/alerts/seen

Marks multiple alerts as seen. After an alert has been marked as seen it will not show up as an alert anymore.

Body parameter

[
  "88dd6b5d-69db-43ef-87df-638688b37756",
  "664f30b2-123e-40c5-90ed-78495dc00fb4"
]

Parameters

Name In Type Required Description
partnerId path string true none
X-Correlation-ID header string false Optionally provide an ID to track requests throughout the system for debugging purposes. There are no limitations on format. If the ID is not provided as a request header, a UUID is generated. Whether provided or generated, the correlation ID of is also returned as the X-Correlation-ID response header.
body body AlertSeenRequest true none

Responses

Status Meaning Description Schema
200 OK The alerts have been marked as seen. None

Response Headers

Status Header Type Format Description
200 X-Correlation-ID string none

Schemas

Psd2InitiateRequest

{
  "redirectUrl": "string"
}

Properties

Name Type Required Restrictions Description
redirectUrl string false none URL to redirect to when PSD2 login is complete.

Psd2InitiateResponse

{
  "url": "http://example.com",
  "loginId": "8f568ecd-0198-4d41-91e2-cb501f4140f6"
}

Properties

Name Type Required Restrictions Description
url string(uri) false none URL to redirect to when PSD2 login is complete.
loginId string(uuid) false none Id associated with current login.

CrowdsourcingRequest

{
  "id": "string",
  "paymentFrequency": "MONTHLY"
}

Properties

Name Type Required Restrictions Description
id string true none Transaction id.
paymentFrequency string false none Payment frequency.

Enumerated Values

Property Value
paymentFrequency DAILY
paymentFrequency WEEKLY
paymentFrequency BIWEEKLY
paymentFrequency MONTHLY
paymentFrequency BIMONTHLY
paymentFrequency QUARTERLY
paymentFrequency HALFYEARLY
paymentFrequency YEARLY
paymentFrequency UNKNOWN

RawTransaction

{
  "uid": "28d2044d-a550-465f-8404-f750ca3595ce",
  "type": "TX",
  "card": {
    "id": "caa652a3-3d16-4b97-b07a-97a6828de8a4",
    "pan4": "0875",
    "cardType": "DEBIT",
    "paymentNetwork": "string"
  },
  "account": {
    "id": "aaa652a3-3d16-4b97-b07a-97a6828de8a4",
    "name": "595900001234",
    "iban": "DK12595900001234"
  },
  "tx": {
    "txid": "9456cc69-e50e-4e9f-bc0b-bd44b87734a3",
    "description": "Netflix 20.00 USD",
    "txTime": "2018-11-16T12:45:53+02:00",
    "type": "string",
    "amount": -158.99,
    "currency": "NOK",
    "originalAmount": -187792.687,
    "originalCurrency": "NOK",
    "merchant": {
      "cid": "1905481-8",
      "name": "Zlatnicka Täityö",
      "address": "string",
      "city": "OSLO",
      "postCode": "string",
      "country": "GB",
      "mcc": 6011
    }
  }
}

A single transaction to receive partner transaction notifications.

Properties

Name Type Required Restrictions Description
uid string true none Partner user id for the owner of this transaction. A generated unique id assigned for a particular customer and partner combination at registration time.
type string true none Type of the transaction event. TX is a new transaction for the user. IMPORT_COMPLETED is sent after the last transaction import for a newly onboarded user.
card object false none The card details.
» id string true none Partner card id, uniquely identifying the card this transaction belongs to among all cards and partners. The ID for the card is assigned during registration to the partner.
» pan4 string true none Last four digits of the card pan. Used for displaying the card to the user.
» cardType string false none The card type (CREDIT, DEBIT)
» paymentNetwork string false none Payment network for the card, if known. Example values are MC, VISA, VISABAX, VISADK, DANKORT or BAX
account object false none The account details.
» id string true none Partner account id, uniquely identifying the account this transaction belongs to among all accounts and partners. The ID for the account is assigned during registration to the partner.
» name string true none The user visible name of the account or the account number. Used for displaying the account to the user.
» iban string true none The user visible name of the account or the account number. Used for displaying the account to the user.
tx object true none The detail fields of a single transaction. Required if type is TX, not present for IMPORT_COMPLETED marker transactions.
» txid string true none Unique transaction id identifying a single transaction globally. Required if type is TX.
» description string true none Raw transaction description
» txTime any true none Timestamp of the transaction in ISO 8601. Only the date-part of the timestamp is reliable, for some transaction sources the time-part is always 00:00. In other cases, the time may be the processing time at the bank, not necessarily the time of actual purchase. The timestamp may come with a timezone, or without any timezone info.
» type string true none Raw transaction type. Example values are CARD_PURCHASE, CASH_WITHDRAWAL, ACCOUNT_TRANSFER
» amount number(double) true none Purchase amount in cardholder currency. Purchases (money is taken from card/account) have a negative amount, and refunds have a positive amount.
» currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
» originalAmount number(double) false none Original amount if purchase done in some other currency. May contain more than two significant decimal digits if the originating currency supports them.
» originalCurrency Currency false none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
» merchant object false none Details of the merchant associated with the transaction. All of the fields are optional, most transactions will have at least the name populated, but even that is not guaranteed for all transactions.
»» cid string false none Card acceptor id, as provided by the payment network.
»» name string true none Merchant name
»» address string false none Address of merchant
»» city string false none City of merchant
»» postCode string false none Postal code of merchant
»» country string false none Country of merchant
»» mcc integer false none Merchant category code

Enumerated Values

Property Value
type TX
type IMPORT_COMPLETED

JweParams

{
  "alg": "RSA-OAEP",
  "enc": "A256GCM",
  "kid": "partner1-26-05-2018",
  "zip": "DEF"
}

Supported JWE encryption header parameters. See the JWE speficiation for details on formatting the JWE token, and where to place each header value.

Properties

Name Type Required Restrictions Description
alg string true none The supported content encryption key protection algorithm is RSAES OAEP using default parameters.
enc string true none The supported ciphertext encryption algorithm is AES GCM using 256-bit content encryption key (CEK).
kid string true none The key identifier for the public key used to encrypt the CEK.
zip string false none The compression used on the plaintext before encryption. If this header value is not present, the contents are not compressed. DEF referes to DEFLATE algorithm defined in RFC1951.

Enumerated Values

Property Value
alg RSA-OAEP
enc A256GCM
zip DEF

ServicePayment

{
  "id": 0,
  "sourceTransactionId": "string",
  "amount": 1.23,
  "currency": "NOK",
  "originalAmount": 1.23,
  "originalCurrency": "NOK",
  "date": "2020-01-15"
}

Properties

Name Type Required Restrictions Description
id integer(int64) true none none
sourceTransactionId string true none none
amount number(double) true none The amount of the payment converted to currency.
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
originalAmount number(double) true none The amount of the payment in the original currency.
originalCurrency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
date string(date) true none Payment date

UpcomingPayment

{
  "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
  "expectedPaymentDate": "2019-08-24",
  "expectedPaymentCost": 19.75,
  "currency": "NOK",
  "expectedOriginalPaymentCost": 2.95,
  "originalCurrency": "NOK",
  "accountId": "string",
  "cardId": "string",
  "product": {
    "title": "Audible",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
    "type": "SUBSCRIPTION",
    "isGateway": true,
    "isUnknownStoreSubscription": true
  },
  "additionalInfo": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
serviceId string(uuid) true none Unique ID for recurring payment group
expectedPaymentDate string(date) true none none
expectedPaymentCost number(double) true none none
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
expectedOriginalPaymentCost number(double) true none none
originalCurrency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
accountId string false none Account Id from the service which the upcoming payment belongs to. This field will be null if no account info has been provided by the bank.
cardId string false none Card Id from the service which the upcoming payment belongs to. This field will be null if no card info has been provided by the bank.
product Product true none none
additionalInfo object false none Implementation specific extra details - usually this is empty.
» additionalProperties string false none none

Product

{
  "title": "Audible",
  "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
  "type": "SUBSCRIPTION",
  "isGateway": true,
  "isUnknownStoreSubscription": true
}

Properties

Name Type Required Restrictions Description
title string true none none
imageUrl string(uri) true none none
type string true none Product type can be used to group recurring payments into two lists.
SUBSCRIPTION are non-essential recurring expenses such as streaming services, fitness centers, and
OTHER_RECURRING are fixed expenses such as insurance, rent, loans, utility bills etc.
isGateway boolean true none Used to explain how this service might look like something they don't know what is, but 'sells' another product they pay for through them. An example could be a publisher that sells magazine subscriptions. You have a subscription on a specific magazine but the subscription is with the publisher.
isUnknownStoreSubscription boolean true none The service has a fake product to help visualize unknown service. This is generally only applicable to the Apple Store

Enumerated Values

Property Value
type SUBSCRIPTION
type OTHER_RECURRING

BudgetProduct

{
  "title": "Audible",
  "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
}

Properties

Name Type Required Restrictions Description
title string true none none
imageUrl string(uri) true none none

Notification

{
  "type": "CANCELLATION_COMPLETED",
  "country": "string",
  "userId": "string",
  "suggestedLocale": "da-dk",
  "payload": [
    {
      "name": "string",
      "params": {
        "property1": "string",
        "property2": "string"
      }
    }
  ],
  "texts": {
    "en": {
      "title": "",
      "body": "string"
    },
    "property1": {
      "title": "",
      "body": "string"
    },
    "property2": {
      "title": "",
      "body": "string"
    }
  }
}

A single notification send from subaio.

Properties

Name Type Required Restrictions Description
type string true none Describes the type of notification being send.
country string true none Country for receiving user using ISO 3166-1 alpha-2
userId string true none none
suggestedLocale string true none The suggest local for displaying notification text.
payload [NotificationPayload] true none none
texts object true none A map of locals to translations. The properties are named based on the available locals
» additionalProperties NotificationTranslation false none A notification message in a specific locale.
» en NotificationTranslation false none A notification message in a specific locale.

Enumerated Values

Property Value
type CANCELLATION_COMPLETED
type CANCELLATION_ABORTED
type CANCELLATION_MOREINFOREQUIRED
type NEW_SUBSCRIPTION
type NEW_PAYMENT_CANCELLED_SUBSCRIPTION
type NEW_PAYMENT
type TEST_NOTIFICATION
type PAYMENT_CHANGED
type USER_UPDATE_REQUIRED

NotificationPayload

{
  "name": "string",
  "params": {
    "property1": "string",
    "property2": "string"
  }
}

Properties

Name Type Required Restrictions Description
name string true none none
params object true none none
» additionalProperties string false none none

NotificationTranslation

{
  "title": "",
  "body": "string"
}

A notification message in a specific locale.

Properties

Name Type Required Restrictions Description
title string true none The notification title/header to be displayed to the user.
body string true none We have had to abort the cancellation of your subscription with Netflix

Service

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "amount": 1.23,
  "currency": "NOK",
  "paymentFrequency": "MONTHLY",
  "accountId": "string",
  "cardId": "string",
  "product": {
    "title": "Audible",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
    "type": "SUBSCRIPTION",
    "isGateway": true,
    "isUnknownStoreSubscription": true
  },
  "status": "ACTIVE",
  "userActionsRequired": [
    "CANCELLATION_NEED_MORE_INFO"
  ],
  "payments": [
    {
      "id": 0,
      "sourceTransactionId": "string",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "date": "2020-01-15"
    }
  ],
  "yearlyCost": 1.23,
  "totalAmountLastTwelveMonths": 1200,
  "notifications": [
    "NEW_PAYMENT",
    "NEW_SUBSCRIPTION"
  ],
  "visibility": "HIDDEN",
  "nextExpectedTransactionDate": "2022-09-01",
  "store": {
    "type": "ITUNES",
    "url": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
  },
  "visibilityOption": "ASK_TO_HIDE",
  "cancellation": {
    "confirmationContent": "string",
    "directDebit": true,
    "equipmentBack": true,
    "freeTextMessage": "string",
    "moneyBack": true,
    "endDate": "2020-01-15",
    "abortReason": "USER_NOT_RESPONDING"
  },
  "amountToDisplay": "AMOUNT",
  "cancellationOption": "HIDE",
  "iban": "DK5000403333333333"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
amount number(double) true none none
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
paymentFrequency PaymentFrequency true none none
accountId string true none Account Id for the payments recognized for the service. This field will be null if no account info has been provided by the bank.
cardId string true none Card Id for the payments recognized for the service. This field will be null if no card info has been provided by the bank.
product Product true none none
status string true none none
userActionsRequired [UserActionRequiredType] true none none
payments [ServicePayment] true none none
yearlyCost number(double) true none none
totalAmountLastTwelveMonths number(double) true none The total amount paid for service in the last twelve months.
notifications [NotificationType] true none Set of notifications for service.
visibility string true none The visibility state of the service. Relates to the /partner/{partnerId}/2.0.0/services endpoint visibility query parameter. The value can be changed on the /partner/{partnerId}/2.0.0/services/{serviceId}/hidden endpoint.

If UNDECIDED, it may be a subscription, but it could also be a single purchase of a subscription-like amount from the same company (for instance, a fitness center selling both monthly subscriptions and towels for the same amount). The subscription should be visible, and the user should be asked to confirm whether or not it’s a false positive. These services will be visible on /partner/{partnerId}/2.0.0/services endpoint.
nextExpectedTransactionDate string true none The next expected transaction date for a service.
store Store false none Contains information of the store connected to the service.
visibilityOption VisibilityOptionType true none Wether to ask the user if they want the service shown or hidden. ASK_BOTH refers to the scenario of a 'possible subscription', where the subscription was just added and the merchant also sells other non-recurring items under the same description. If that is the case, we ask the user if it is a purchase or a subscription.
cancellation Cancellation true none There are several hardcoded responses support can attach to a cancellation to inform the user. There is also the possibility of a free text response from support but this is used with confirmation from the customer.
amountToDisplay AmountToDisplayType true none Amount data are sometimes not fully available, which means we might have to fall back to a more accurate number

- TOTAL_LAST_TWELVE_MONTHS - Fallback to use totalLastTwelveMonths instead of amount
- AMOUNT - Should use amount and not totalLastTwelveMonths
cancellationOption CancellationOptionType false none - POSSIBLE: Cancellation is possible.
- EXPLAIN_WHY_NOT: Cancellations for a product may be disabled if the company is not accepting cancellation requests
- STORE: Store subscriptions, such as iTunes, cannot be cancelled automatically by us.
- HIDE: Hide the ability to cancel the subscription from the user. There are certain instances where a service cannot be cancelled: fixed products (such as insurance, rent, or utility bills); if the user already has an ongoing cancellation for this service; if we are not sure if it's a subscription or the user has hidden the service.
iban string false none IBAN for the latest payment of the service. Null, if no IBAN has been provided by the bank.

Enumerated Values

Property Value
status ACTIVE
status INACTIVE
status UNDER_CANCELLATION
status CANCELLED
visibility VISIBLE
visibility HIDDEN
visibility UNDECIDED

Cancellation

{
  "confirmationContent": "string",
  "directDebit": true,
  "equipmentBack": true,
  "freeTextMessage": "string",
  "moneyBack": true,
  "endDate": "2020-01-15",
  "abortReason": "USER_NOT_RESPONDING"
}

There are several hardcoded responses support can attach to a cancellation to inform the user. There is also the possibility of a free text response from support but this is used with confirmation from the customer.

Properties

Name Type Required Restrictions Description
confirmationContent string false none Confirmation content to the user from support. This is usually a message from the subscription company that we believe is important for the user to know.
directDebit boolean true none If the service is paid with direct debit. If that is the case, there is a chance that the user has already received a bill in the applicable system of their resident country and we recommend they cancel that bill when the subscription ends unless instructed otherwise.
equipmentBack boolean true none If the user should give equipment back.
freeTextMessage string false none Free text message from support to the user.
moneyBack boolean true none If the user gets money back.
endDate string(date) false none The reported last payment date from the service holder or the date that the user reported themselves during self-cancellation
abortReason CancellationAbortReason false none Reason cancellation was aborted.

- USER_NOT_RESPONDING - user has not responded to request by support.
- USER_ABORTED - the user has aborted the cancellation process.
- COMPANY_NOT_RESPONDING - company has not replied to the cancellation request.
- COMPANY_NOT_ACCEPTING - company does not accept cancellation requests.
- COMPANY_CANNOT_FIND_SUBSCRIPTION - company could not find the subscription. Usually happens if a wrong email is given by the user.
- USER_WRONG_INFORMATION_PROVIDED_MULTIPLE_TIMES - user has given us the wrong information repeatably.
- BRANCH_UNKNOWN - we could not find the branch/country/service the user had submitted.
- CONTINUATION_DEAL - user has accepted a deal made by the company to continue the subscription.

UserActionRequiredType

"CANCELLATION_NEED_MORE_INFO"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous CANCELLATION_NEED_MORE_INFO

Budget

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "createdTime": "2022-05-16T11:28:07",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
status string true none none
createdTime string(date-time) true none Budget creation date, format yyyy-MM-dd'T'HH:mm:ss
totalMonthlyAmount number(double) true none none
totalMonthlyAmountUserProvided number(double) true none Calculated expenses if user provided one or more values, null if no user provided value exist
totalMonthlyIncome number(double) true none none
totalMonthlyIncomeUserProvided number(double) true none Calculated income if user provided one or more values, null if no user provided value exist
averageExpensesLastThreeMonths number(double) true none none
averageExpensesLastTwelveMonths number(double) true none none
averageIncomeLastThreeMonths number(double) true none none
averageIncomeLastTwelveMonths number(double) true none none
amountCategorized number(double) true none none
amountCategorizedUserProvided number(double) true none Categorized expenses if user provided one or more values, null if no user provided value exist
disposableIncome number(double) true none Categorized expenses subtracted from income, null if income is not enabled
disposableIncomeUserProvided number(double) true none Categorized expenses subtracted from income, null if income is not enabled or if no user provided value exist
categorizationTarget number(double) true none none
categories [Category] true none none
uncategorized [Expense] true none none
income [BudgetIncome] true none null if income is not enabled
alerts [BudgetAlert] true none none
accounts [BudgetAccounts] true none none
userData BudgetUserData true none none
riskIndicators [BudgetRiskIndicators] true none List of all risk indicators, null if risk indicators are not enabled
comment string true none none

Enumerated Values

Property Value
status DRAFT
status READY
status ACCEPTED
status DENIED

BudgetDetails

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "nonrecurringTransactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment",
  "nonrecurringSpending": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  },
  "nonrecurringIncome": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  },
  "nonrecurringExpenses": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  }
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
status string true none none
totalMonthlyAmount number(double) true none none
totalMonthlyAmountUserProvided number(double) true none Calculated expenses if user provided one or more values, null if no user provided value exist
totalMonthlyIncome number(double) true none none
totalMonthlyIncomeUserProvided number(double) true none Calculated income if user provided one or more values, null if no user provided value exist
averageExpensesLastThreeMonths number(double) true none none
averageExpensesLastTwelveMonths number(double) true none none
averageIncomeLastThreeMonths number(double) true none none
averageIncomeLastTwelveMonths number(double) true none none
amountCategorized number(double) true none none
amountCategorizedUserProvided number(double) true none Calculated value if user provided one or more values, null if no user provided value exist
disposableIncome number(double) true none Categorized expenses subtracted from income, null if income is not enabled
disposableIncomeUserProvided number(double) true none Categorized expenses subtracted from income, null if income is not enabled or if no user provided value exist
categorizationTarget number(double) true none none
categories [Category] true none none
uncategorized [Expense] true none none
nonrecurringTransactions [Transaction] true none none
income [BudgetIncome] true none null if income is not enabled
alerts [BudgetAlert] true none none
accounts [BudgetAccounts] true none none
userData BudgetUserData true none none
riskIndicators [BudgetRiskIndicators] true none List of all risk indicators, null if risk indicators are not enabled
comment string true none none
nonrecurringSpending BudgetSpending true none none
nonrecurringIncome BudgetSpending true none none
nonrecurringExpenses BudgetSpending true none none

Enumerated Values

Property Value
status DRAFT
status READY
status ACCEPTED
status DENIED

BudgetRiskIndicators

{
  "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
  "isMarked": true,
  "title": "Possible payments to debt collection",
  "type": "DEBT_COLLECTION"
}

Properties

Name Type Required Restrictions Description
description string true none Description of the risk indicator
isMarked boolean true none true if the risk indicator is applicable, false otherwise
title string true none none
type string true none none

Enumerated Values

Property Value
type EXCESSIVE_DISPOSABLE_INCOME
type DEBT_COLLECTION

BudgetUserData

{
  "personal": {
    "children": [
      {
        "age": 30
      }
    ],
    "hasChildren": true,
    "maritalStatus": "MARRIED",
    "dateOfBirth": "1990-10-21"
  },
  "residence": {
    "ownership": "HOMEOWNER",
    "type": "HOUSE",
    "occupancyDate": "2019-06-15",
    "hasVacationHome": true
  },
  "employment": {
    "status": "EMPLOYED",
    "type": "SALARIED",
    "date": "2020-01-15",
    "unemploymentFund": true,
    "unemploymentInsuranceMonths": 12
  },
  "education": {
    "type": "HIGHER_LONG"
  },
  "transport": {
    "vehicles": [
      {
        "ownership": "OWNED"
      }
    ],
    "hasVehicle": true
  },
  "expenses": {
    "share": 50
  }
}

Properties

Name Type Required Restrictions Description
personal object true none Person data
» children [any] true none Used to define more information about the children
»» age integer false none none
» hasChildren boolean true none Does the user have any children
» maritalStatus string true none none
» dateOfBirth string(date) true none none
residence object true none Residential information
» ownership string true none none
» type string true none none
» occupancyDate string(date) true none Date for legal possession of home
» hasVacationHome boolean true none Does the user own a vacation home
employment object true none Employment information
» status string true none none
» type string true none none
» date string(date) true none Employment date
» unemploymentFund boolean true none Does the user have an unemployment fund
» unemploymentInsuranceMonths integer true none How many months does the user have back on the unemployment fund
education object true none Education information
» type string true none none
transport object true none Transportation information
» vehicles [any] true none none
»» ownership string false none Ownership of vehicle
» hasVehicle boolean false none Does the user have access to a vehicle
expenses object true none Expense information
» share integer true none Percentage of expenses owned by the user

Enumerated Values

Property Value
maritalStatus SINGLE
maritalStatus MARRIED
maritalStatus COHABITANT
maritalStatus DIVORCED
maritalStatus WIDOWED
maritalStatus SEPARATED
ownership HOMEOWNER
ownership COOPERATIVE
ownership RENT
ownership PARENTS
ownership OTHER
type HOUSE
type APARTMENT
type ROOM
status EMPLOYED
status UNEMPLOYED
status RETIRED
status STUDENT
status APPRENTICE
type SALARIED
type PART_TIME
type HOURLY_WAGE
type SELF_EMPLOYED
type ELEMENTARY
type SECONDARY
type VOCATIONAL
type HIGHER_SHORT
type HIGHER_MEDIUM
type HIGHER_LONG
type BACHELOR
type PHD
ownership OWNED
ownership LEASED
ownership COMPANY

Category

{
  "id": "house_rent",
  "name": "House",
  "totalMonthlyAmount": 1234.56,
  "totalMonthlyAmountUserProvided": 1250,
  "averageLastThreeMonths": 1234.56,
  "averageLastTwelveMonths": 1234.56,
  "expenses": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "notes": [
    {
      "type": "INCLUDES_OTHERS",
      "message": "string",
      "categories": [
        "string"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
totalMonthlyAmount number(double) true none none
totalMonthlyAmountUserProvided number(double) true none Calculated expenses if user provided one or more values, null if no user provided value exist
averageLastThreeMonths number(double) true none none
averageLastTwelveMonths number(double) true none none
expenses [Expense] false none none
categories [Category] false none none
notes [CategoryNote] false none none

CategoryNote

{
  "type": "INCLUDES_OTHERS",
  "message": "string",
  "categories": [
    "string"
  ]
}

Properties

Name Type Required Restrictions Description
type string true none Type of category note
message string true none Note message
categories [string] false none Only present if type = 'INCLUDES_OTHERS' or type = 'INCLUDED_IN_OTHERS'.

Enumerated Values

Property Value
type INCLUDES_OTHERS
type INCLUDED_IN_OTHERS
type EXPECTED_EMPTY
type EXPECTED_NONEMPTY

BudgetAlert

{
  "type": "CATEGORIZATION_TARGET_NOT_MET",
  "severity": "LOW",
  "message": "string"
}

Properties

Name Type Required Restrictions Description
type string false none Type of alert
severity string false none Severity level of the alert
message string false none Alert message

Enumerated Values

Property Value
type CATEGORIZATION_TARGET_NOT_MET
type MISSING_EXPENSES
type UNEXPECTED_EXPENSES
type GROUPED_CATEGORIES
type MISSING_ACCOUNTS
type REFERENCE_MISMATCH
type USER_PROVIDED_EXPENSES
severity LOW
severity MEDIUM
severity HIGH

BudgetAccounts

{
  "providerId": "string",
  "name": "string",
  "iban": "string",
  "bban": "string",
  "selectedStatus": "SELECTED"
}

Properties

Name Type Required Restrictions Description
providerId string false none The provider id
name string false none Name of the account
iban string false none IBAN for the account
bban string false none BBAN for the account
selectedStatus string false none Selected status

Enumerated Values

Property Value
selectedStatus SELECTED
selectedStatus DESELECTED
selectedStatus UNDECIDED

Expense

{
  "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
  "source": "ENGINE",
  "currency": "NOK",
  "title": "Himmerland Boligforening",
  "paymentFrequency": "MONTHLY",
  "paymentCost": 12.34,
  "paymentCostMonthly": 12.34,
  "averageLastThreeMonths": 12.34,
  "averageLastTwelveMonths": 12.34,
  "type": "SERVICE",
  "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
  "service": {
    "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
    "paymentCost": 123.45,
    "currency": "NOK",
    "paymentFrequency": "MONTHLY",
    "totalPastYear": 1234.56,
    "product": {
      "title": "Audible",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
    }
  },
  "categories": [
    "house_rent"
  ],
  "transactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
source BudgetTransactionalSource true none none
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
title string true none none
paymentFrequency PaymentFrequency true none none
paymentCost number(double) true none none
paymentCostMonthly number(double) true none none
averageLastThreeMonths number(double) true none none
averageLastTwelveMonths number(double) true none none
type BudgetTransactionalType true none none
imageUrl string(uri) true none none
service BudgetService true none none
categories [string] true none none
transactions [Transaction] true none none

BudgetIncome

{
  "id": "other_income",
  "name": "Other income",
  "totalMonthlyAmount": 25000,
  "totalMonthlyAmountUserProvided": 24000,
  "averageLastThreeMonths": 25000,
  "averageLastTwelveMonths": 24500,
  "categories": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "income": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Salary",
      "frequency": "MONTHLY",
      "amount": 1000,
      "monthlyAmount": 1000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "type": "SERVICE",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "notes": [
    {
      "type": "INCLUDES_OTHERS",
      "message": "string",
      "categories": [
        "string"
      ]
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string true none none
name string true none none
totalMonthlyAmount number(double) true none none
totalMonthlyAmountUserProvided number(double) true none Calculated expenses if user provided one or more values, null if no user provided value exist
averageLastThreeMonths number(double) true none none
averageLastTwelveMonths number(double) true none none
categories [BudgetIncome] true none none
income [Income] true none none
notes [CategoryNote] true none none

Income

{
  "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
  "source": "ENGINE",
  "currency": "NOK",
  "title": "Salary",
  "frequency": "MONTHLY",
  "amount": 1000,
  "monthlyAmount": 1000,
  "averageLastThreeMonths": 25000,
  "averageLastTwelveMonths": 24500,
  "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
  "type": "SERVICE",
  "service": {
    "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
    "paymentCost": 123.45,
    "currency": "NOK",
    "paymentFrequency": "MONTHLY",
    "totalPastYear": 1234.56,
    "product": {
      "title": "Audible",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
    }
  },
  "categories": [
    "house_rent"
  ],
  "transactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
source BudgetTransactionalSource true none none
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
title string true none none
frequency PaymentFrequency true none none
amount number(double) true none none
monthlyAmount number(double) true none none
averageLastThreeMonths number(double) true none none
averageLastTwelveMonths number(double) true none none
imageUrl string(uri) true none none
type BudgetTransactionalType true none none
service BudgetService true none none
categories [string] true none none
transactions [Transaction] true none none

BudgetTransactionalSource

"ENGINE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous ENGINE
anonymous ACTION
anonymous DERIVED_FROM_TRANSACTIONS

BudgetTransactionalType

"SERVICE"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous SERVICE
anonymous TRANSACTION
anonymous RAW
anonymous DERIVE
anonymous DERIVED_FROM_TRANSACTIONS
anonymous USER_PROVIDED

BudgetService

{
  "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
  "paymentCost": 123.45,
  "currency": "NOK",
  "paymentFrequency": "MONTHLY",
  "totalPastYear": 1234.56,
  "product": {
    "title": "Audible",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
  }
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
paymentCost number(double) true none none
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
paymentFrequency PaymentFrequency true none none
totalPastYear number(double) true none none
product BudgetProduct true none none

CreateUserRequest

{
  "bankUserId": "string",
  "brand": "somebank_dk",
  "locale": "da-DK",
  "details": {}
}

Properties

Name Type Required Restrictions Description
bankUserId string true none Key or ID that links the user in both the Subaio systems and the partner systems. Do not use a sensitive key such as SSN.
brand string true none Partner specific brand identifier supplied by Subaio. Banks in multiple countries or with sub-brands are provided with multiple brands.
locale string true none User locale if known - this allow Subaio to localize push notifications.
details object false none Implementation specific extra details - usually this is empty.

LoginRequest

{
  "payload": "string"
}

Properties

Name Type Required Restrictions Description
payload string true none JWT signed with banks private key containing user id in subject claim, and brand identifier as custom claim. Subaio needs public certificate to verify JWT.

TransactionsRequest

{
  "reqId": "27e2e489-205c-412e-bb41-e1b65ddf754e",
  "txs": "string"
}

Properties

Name Type Required Restrictions Description
reqId string(uuid) true none Unique request identifier.
txs string true none JWE Encrypted list of transactions. The encrypted payload will be a list of Transaction objects, as specified in this document, in JSON format. Depending on the headers, the payload may be compressed before encryption. The maximum number of Transaction objects in a single encrypted payload is configurable.


The encryption parameters for the JWE are {"alg":"RSA-OAEP","enc":"A256GCM","zip":"DEF"}.


See JweParams for more details on supported header values.


The payload is an array of Transactions: [{"uid":"ab",...},{"uid":"cd",...},...]. Only keys that have a non-null value are sent in the payload, null keys are filtered out during serialization. The receiver must ignore unknown keys, as adding new fields to the models is not considered a breaking change.

TransactionsResponse

[
  {
    "id": "string",
    "transactionDate": "string",
    "type": "CARD_PURCHASE",
    "amount": 1.23,
    "currency": "NOK",
    "originalAmount": 1.23,
    "originalCurrency": "NOK",
    "merchantName": "Zlatnicka Täityö",
    "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
    "accountId": "string",
    "cardId": "string"
  }
]

Properties

Name Type Required Restrictions Description
anonymous [Transaction] false none none

Transaction

{
  "id": "string",
  "transactionDate": "string",
  "type": "CARD_PURCHASE",
  "amount": 1.23,
  "currency": "NOK",
  "originalAmount": 1.23,
  "originalCurrency": "NOK",
  "merchantName": "Zlatnicka Täityö",
  "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
  "accountId": "string",
  "cardId": "string"
}

Properties

Name Type Required Restrictions Description
id string true none ID of the transaction.
transactionDate string true none Date of the transaction
type string true none The type of transaction.
amount number(double) true none The amount of the transaction converted to currency.
currency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
originalAmount number(double) true none The amount of the transaction in the original currency.
originalCurrency Currency true none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
merchantName string true none Merchant name
serviceId string false none Service ID related to this transaction. Only present where applicable.
accountId string false none Account ID related to this transaction. Only present where applicable.
cardId string false none Card ID related to this transaction. Only present where applicable.

Enumerated Values

Property Value
type CARD_PURCHASE
type CASH_WITHDRAWAL
type OTHER
type ACCOUNT_TRANSFER
type DIRECT_DEBIT
type INVOICE
type CASH_DEPOSIT
type UNKNOWN

ServiceUpdateHiddenRequest

{
  "hidden": "true"
}

Properties

Name Type Required Restrictions Description
hidden boolean true none New value for hidden for the service.

AccountsRequest

[
  "Account id",
  "Account id2"
]

Properties

None

ReportRequest

{
  "type": "NEXT_OF_KIN",
  "effectiveDate": "2021-03-17"
}

Properties

Name Type Required Restrictions Description
type string true none The report type
effectiveDate string(date) false none Currently not in use, placeholder for future implementations

Enumerated Values

Property Value
type NEXT_OF_KIN

ReportResponse

{
  "documentId": "fcc113b7-fd34-4d63-81d1-a154c5014139"
}

Properties

Name Type Required Restrictions Description
documentId string(uuid) true none Unique document identifier

AccountsBalancesRequest

{
  "accounts": [
    {
      "accountId": "string",
      "accountName": "string",
      "observedTime": "string",
      "balance": 1234.56
    }
  ]
}

Properties

Name Type Required Restrictions Description
accounts [AccountBalance] true none none

AccountBalance

{
  "accountId": "string",
  "accountName": "string",
  "observedTime": "string",
  "balance": 1234.56
}

Properties

Name Type Required Restrictions Description
accountId string true none The unique id of the account.
accountName string false none Name of the account
observedTime string true none At what time this balance observed.
balance number(double) true none none

BudgetRequest

{
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  }
}

Properties

Name Type Required Restrictions Description
userData BudgetUserData false none none

BudgetAdjustCategoryRequest

{
  "amount": 299.95,
  "frequency": "MONTHLY"
}

Properties

Name Type Required Restrictions Description
amount number(double) true none none
frequency PaymentFrequency true none none

BudgetCoapplicantRequest

{
  "type": "SHARED_FINANCES",
  "budgetId": "fcf1d230-a9d0-4836-9e20-f98f3396e01b"
}

Properties

Name Type Required Restrictions Description
type BudgetApplicantType true none none
budgetId string(uuid) false none Applicable only if type is SEPARATE_FINANCES

BudgetCompletionsRequest

{
  "status": "ACCEPTED"
}

Properties

Name Type Required Restrictions Description
status string true none New status for budget

Enumerated Values

Property Value
status ACCEPTED
status DENIED

BudgetSkipRequest

{
  "notApplicable": true
}

Properties

Name Type Required Restrictions Description
notApplicable boolean true none none

BudgetActionRequest

{
  "categories": [
    {
      "id": "house_internet",
      "amount": 299.95,
      "paymentFrequency": "MONTHLY"
    }
  ],
  "type": "SERVICE",
  "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
  "amount": 1.23,
  "paymentFrequency": "MONTHLY",
  "transactionId": "54070120-823d-4227-b70a-9f226b8f4b1e",
  "title": "Rent"
}

Properties

Name Type Required Restrictions Description
categories [any] true none none
» id string false none none
» amount number(double) false none none
» paymentFrequency PaymentFrequency false none none
type BudgetTransactionalType true none none
serviceId string(uuid) true none none
amount number(double) true none none
paymentFrequency PaymentFrequency false none none
transactionId string(uuid) true none none
title string true none none

BudgetUserDataRequest

{
  "personal": {
    "children": [
      {
        "age": 30
      }
    ],
    "hasChildren": true,
    "maritalStatus": "MARRIED",
    "dateOfBirth": "1990-10-21"
  },
  "residence": {
    "ownership": "HOMEOWNER",
    "type": "HOUSE",
    "occupancyDate": "2019-06-15",
    "hasVacationHome": true
  },
  "employment": {
    "status": "EMPLOYED",
    "type": "SALARIED",
    "date": "2020-01-15",
    "unemploymentFund": true,
    "unemploymentInsuranceMonths": 12
  },
  "education": {
    "type": "HIGHER_LONG"
  },
  "transport": {
    "vehicles": [
      {
        "ownership": "OWNED"
      }
    ],
    "hasVehicle": true
  },
  "expenses": {
    "share": 50
  }
}

Properties

None

LoginResponse

{
  "token": "string"
}

Properties

Name Type Required Restrictions Description
token string true none none

ServiceResponse

{
  "averageTotalAmount": -1115.92,
  "services": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "amount": 1.23,
      "currency": "NOK",
      "paymentFrequency": "MONTHLY",
      "accountId": "string",
      "cardId": "string",
      "product": {
        "title": "Audible",
        "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
        "type": "SUBSCRIPTION",
        "isGateway": true,
        "isUnknownStoreSubscription": true
      },
      "status": "ACTIVE",
      "userActionsRequired": [
        "CANCELLATION_NEED_MORE_INFO"
      ],
      "payments": [
        {
          "id": 0,
          "sourceTransactionId": "string",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "date": "2020-01-15"
        }
      ],
      "yearlyCost": 1.23,
      "totalAmountLastTwelveMonths": 1200,
      "notifications": [
        "NEW_PAYMENT",
        "NEW_SUBSCRIPTION"
      ],
      "visibility": "HIDDEN",
      "nextExpectedTransactionDate": "2022-09-01",
      "store": {
        "type": "ITUNES",
        "url": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
      },
      "visibilityOption": "ASK_TO_HIDE",
      "cancellation": {
        "confirmationContent": "string",
        "directDebit": true,
        "equipmentBack": true,
        "freeTextMessage": "string",
        "moneyBack": true,
        "endDate": "2020-01-15",
        "abortReason": "USER_NOT_RESPONDING"
      },
      "amountToDisplay": "AMOUNT",
      "cancellationOption": "HIDE",
      "iban": "DK5000403333333333"
    }
  ],
  "totalAmountLastTwelveMonths": 1200,
  "alerts": [
    {
      "id": "string",
      "source": "string"
    }
  ]
}

Properties

Name Type Required Restrictions Description
averageTotalAmount number(double) true none Estimated average monthly amount payed to subscriptions.
services [Service] true none none
totalAmountLastTwelveMonths number(double) false none The total amount paid for all services in the last twelve months.
alerts [Alert] false none An array with any of #/definitions/CrowdsourcingAlert and #/definitions/MembershipAlert

UpcomingPaymentsResponse

[
  {
    "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
    "expectedPaymentDate": "2019-08-24",
    "expectedPaymentCost": 19.75,
    "currency": "NOK",
    "expectedOriginalPaymentCost": 2.95,
    "originalCurrency": "NOK",
    "accountId": "string",
    "cardId": "string",
    "product": {
      "title": "Audible",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "type": "SUBSCRIPTION",
      "isGateway": true,
      "isUnknownStoreSubscription": true
    },
    "additionalInfo": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Properties

Name Type Required Restrictions Description
anonymous [UpcomingPayment] false none none

TransactionsErrorResponse

{
  "errorCode": "TX_DATA_ERROR"
}

Properties

Name Type Required Restrictions Description
errorCode string true none none

Enumerated Values

Property Value
errorCode TX_DATA_ERROR
errorCode SIGNATURE_ERROR
errorCode DECRYPTION_ERROR
errorCode UNKNOWN_ERROR

BudgetCreateResponse

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none

BudgetResponse

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "createdTime": "2022-05-16T11:28:07",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment"
}

Properties

None

BudgetDetailsResponse

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "status": "DRAFT",
  "totalMonthlyAmount": 9500,
  "totalMonthlyAmountUserProvided": 9000,
  "totalMonthlyIncome": 25000,
  "totalMonthlyIncomeUserProvided": 24000,
  "averageExpensesLastThreeMonths": 1200,
  "averageExpensesLastTwelveMonths": 1150,
  "averageIncomeLastThreeMonths": 25000,
  "averageIncomeLastTwelveMonths": 24500,
  "amountCategorized": 6500,
  "amountCategorizedUserProvided": 6400,
  "disposableIncome": 6400,
  "disposableIncomeUserProvided": 6400,
  "categorizationTarget": 8000,
  "categories": [
    {
      "id": "house_rent",
      "name": "House",
      "totalMonthlyAmount": 1234.56,
      "totalMonthlyAmountUserProvided": 1250,
      "averageLastThreeMonths": 1234.56,
      "averageLastTwelveMonths": 1234.56,
      "expenses": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Himmerland Boligforening",
          "paymentFrequency": "MONTHLY",
          "paymentCost": 12.34,
          "paymentCostMonthly": 12.34,
          "averageLastThreeMonths": 12.34,
          "averageLastTwelveMonths": 12.34,
          "type": "SERVICE",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "categories": [
        {}
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "uncategorized": [
    {
      "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
      "source": "ENGINE",
      "currency": "NOK",
      "title": "Himmerland Boligforening",
      "paymentFrequency": "MONTHLY",
      "paymentCost": 12.34,
      "paymentCostMonthly": 12.34,
      "averageLastThreeMonths": 12.34,
      "averageLastTwelveMonths": 12.34,
      "type": "SERVICE",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
      "service": {
        "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
        "paymentCost": 123.45,
        "currency": "NOK",
        "paymentFrequency": "MONTHLY",
        "totalPastYear": 1234.56,
        "product": {
          "title": "Audible",
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
        }
      },
      "categories": [
        "house_rent"
      ],
      "transactions": [
        {
          "id": "string",
          "transactionDate": "string",
          "type": "CARD_PURCHASE",
          "amount": 1.23,
          "currency": "NOK",
          "originalAmount": 1.23,
          "originalCurrency": "NOK",
          "merchantName": "Zlatnicka Täityö",
          "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
          "accountId": "string",
          "cardId": "string"
        }
      ]
    }
  ],
  "nonrecurringTransactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ],
  "income": [
    {
      "id": "other_income",
      "name": "Other income",
      "totalMonthlyAmount": 25000,
      "totalMonthlyAmountUserProvided": 24000,
      "averageLastThreeMonths": 25000,
      "averageLastTwelveMonths": 24500,
      "categories": [
        {}
      ],
      "income": [
        {
          "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
          "source": "ENGINE",
          "currency": "NOK",
          "title": "Salary",
          "frequency": "MONTHLY",
          "amount": 1000,
          "monthlyAmount": 1000,
          "averageLastThreeMonths": 25000,
          "averageLastTwelveMonths": 24500,
          "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
          "type": "SERVICE",
          "service": {
            "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
            "paymentCost": 123.45,
            "currency": "NOK",
            "paymentFrequency": "MONTHLY",
            "totalPastYear": 1234.56,
            "product": {
              "title": "Audible",
              "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
            }
          },
          "categories": [
            "house_rent"
          ],
          "transactions": [
            {
              "id": "string",
              "transactionDate": "string",
              "type": "CARD_PURCHASE",
              "amount": 1.23,
              "currency": "NOK",
              "originalAmount": 1.23,
              "originalCurrency": "NOK",
              "merchantName": "Zlatnicka Täityö",
              "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
              "accountId": "string",
              "cardId": "string"
            }
          ]
        }
      ],
      "notes": [
        {
          "type": "INCLUDES_OTHERS",
          "message": "string",
          "categories": [
            "string"
          ]
        }
      ]
    }
  ],
  "alerts": [
    {
      "type": "CATEGORIZATION_TARGET_NOT_MET",
      "severity": "LOW",
      "message": "string"
    }
  ],
  "accounts": [
    {
      "providerId": "string",
      "name": "string",
      "iban": "string",
      "bban": "string",
      "selectedStatus": "SELECTED"
    }
  ],
  "userData": {
    "personal": {
      "children": [
        {
          "age": 30
        }
      ],
      "hasChildren": true,
      "maritalStatus": "MARRIED",
      "dateOfBirth": "1990-10-21"
    },
    "residence": {
      "ownership": "HOMEOWNER",
      "type": "HOUSE",
      "occupancyDate": "2019-06-15",
      "hasVacationHome": true
    },
    "employment": {
      "status": "EMPLOYED",
      "type": "SALARIED",
      "date": "2020-01-15",
      "unemploymentFund": true,
      "unemploymentInsuranceMonths": 12
    },
    "education": {
      "type": "HIGHER_LONG"
    },
    "transport": {
      "vehicles": [
        {
          "ownership": "OWNED"
        }
      ],
      "hasVehicle": true
    },
    "expenses": {
      "share": 50
    }
  },
  "riskIndicators": [
    {
      "description": "For this applicant payments to debt collection has been found. In this case these are solely debt collection and not consumer loans.",
      "isMarked": true,
      "title": "Possible payments to debt collection",
      "type": "DEBT_COLLECTION"
    }
  ],
  "comment": "This is a user provided comment",
  "nonrecurringSpending": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  },
  "nonrecurringIncome": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  },
  "nonrecurringExpenses": {
    "averages": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "lows": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    },
    "highs": {
      "lastMonth": 0,
      "lastThreeMonths": 0,
      "lastTwelveMonths": 0,
      "months": [
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        },
        {
          "month": "2022-06",
          "amount": 1234.56
        }
      ]
    }
  }
}

Properties

None

BudgetExpenseResponse

{
  "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
  "source": "ENGINE",
  "currency": "NOK",
  "title": "Himmerland Boligforening",
  "paymentFrequency": "MONTHLY",
  "paymentCost": 12.34,
  "paymentCostMonthly": 12.34,
  "averageLastThreeMonths": 12.34,
  "averageLastTwelveMonths": 12.34,
  "type": "SERVICE",
  "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
  "service": {
    "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
    "paymentCost": 123.45,
    "currency": "NOK",
    "paymentFrequency": "MONTHLY",
    "totalPastYear": 1234.56,
    "product": {
      "title": "Audible",
      "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
    }
  },
  "categories": [
    "house_rent"
  ],
  "transactions": [
    {
      "id": "string",
      "transactionDate": "string",
      "type": "CARD_PURCHASE",
      "amount": 1.23,
      "currency": "NOK",
      "originalAmount": 1.23,
      "originalCurrency": "NOK",
      "merchantName": "Zlatnicka Täityö",
      "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
      "accountId": "string",
      "cardId": "string"
    }
  ]
}

Properties

None

BudgetUserDataResponse

{
  "personal": {
    "children": [
      {
        "age": 30
      }
    ],
    "hasChildren": true,
    "maritalStatus": "MARRIED",
    "dateOfBirth": "1990-10-21"
  },
  "residence": {
    "ownership": "HOMEOWNER",
    "type": "HOUSE",
    "occupancyDate": "2019-06-15",
    "hasVacationHome": true
  },
  "employment": {
    "status": "EMPLOYED",
    "type": "SALARIED",
    "date": "2020-01-15",
    "unemploymentFund": true,
    "unemploymentInsuranceMonths": 12
  },
  "education": {
    "type": "HIGHER_LONG"
  },
  "transport": {
    "vehicles": [
      {
        "ownership": "OWNED"
      }
    ],
    "hasVehicle": true
  },
  "expenses": {
    "share": 50
  }
}

Properties

None

BudgetActionResponse

{
  "id": "c8f2df69-1162-435c-9486-4e27506cbf9e",
  "title": "Action title",
  "content": "Please recategorize [expense.product.title]",
  "skipped": false,
  "type": "RECATEGORIZATION",
  "expense": {
    "id": "d0e2c719-f9d8-4022-86a6-37e949870f45",
    "source": "ENGINE",
    "currency": "NOK",
    "title": "Himmerland Boligforening",
    "paymentFrequency": "MONTHLY",
    "paymentCost": 12.34,
    "paymentCostMonthly": 12.34,
    "averageLastThreeMonths": 12.34,
    "averageLastTwelveMonths": 12.34,
    "type": "SERVICE",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
    "service": {
      "id": "d99c24e6-32e3-4975-baf3-cb70425242f0",
      "paymentCost": 123.45,
      "currency": "NOK",
      "paymentFrequency": "MONTHLY",
      "totalPastYear": 1234.56,
      "product": {
        "title": "Audible",
        "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
      }
    },
    "categories": [
      "house_rent"
    ],
    "transactions": [
      {
        "id": "string",
        "transactionDate": "string",
        "type": "CARD_PURCHASE",
        "amount": 1.23,
        "currency": "NOK",
        "originalAmount": 1.23,
        "originalCurrency": "NOK",
        "merchantName": "Zlatnicka Täityö",
        "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
        "accountId": "string",
        "cardId": "string"
      }
    ]
  },
  "potentialCategories": [
    "house_electricity",
    "house_internet"
  ],
  "category": "house_rent"
}

Properties

Name Type Required Restrictions Description
id string(uuid) true none none
title string true none none
content string true none none
skipped boolean true none none
type string true none none
expense Expense false none none
potentialCategories [string] false none Only present on type = 'RECATEGORIZATION'
category string false none Only present on type = 'MISSING_CATEGORY'

Enumerated Values

Property Value
type RECATEGORIZATION
type MISSING_CATEGORY

BudgetCommentRequest

{
  "comment": "This is a user provided comment"
}

Properties

Name Type Required Restrictions Description
comment string true none none

Currency

"NOK"

ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.

Properties

Name Type Required Restrictions Description
anonymous string false none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.

Store

{
  "type": "ITUNES",
  "url": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png"
}

Contains information of the store connected to the service.

Properties

Name Type Required Restrictions Description
type string true none Type of the store.
url string true none Reference to the stores subscription list.

Enumerated Values

Property Value
type ITUNES
type GOOGLE_PLAY

PaymentFrequency

"MONTHLY"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous DAILY
anonymous WEEKLY
anonymous BIWEEKLY
anonymous MONTHLY
anonymous BIMONTHLY
anonymous QUARTERLY
anonymous HALFYEARLY
anonymous YEARLY
anonymous UNKNOWN

BudgetApplicantType

"SHARED_FINANCES"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous SHARED_FINANCES
anonymous SEPARATE_FINANCES

NotificationType

"NEW_PAYMENT"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous NEW_PAYMENT
anonymous NEW_SUBSCRIPTION
anonymous NEW_PAYMENT_CANCELLED_SUBSCRIPTION
anonymous CANCELLATION_MORE_INFORMATION_REQUIRED
anonymous CANCELLATION_CONFIRMED
anonymous CANCELLATION_ABORTED

BudgetReport

{
  "reportId": "c8f2df69-1162-435c-9486-4e27506cbf9e"
}

Properties

Name Type Required Restrictions Description
reportId string false none Identifier to be shown in report.

BudgetSpending

{
  "averages": {
    "lastMonth": 0,
    "lastThreeMonths": 0,
    "lastTwelveMonths": 0,
    "months": [
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      }
    ]
  },
  "lows": {
    "lastMonth": 0,
    "lastThreeMonths": 0,
    "lastTwelveMonths": 0,
    "months": [
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      }
    ]
  },
  "highs": {
    "lastMonth": 0,
    "lastThreeMonths": 0,
    "lastTwelveMonths": 0,
    "months": [
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      },
      {
        "month": "2022-06",
        "amount": 1234.56
      }
    ]
  }
}

Properties

Name Type Required Restrictions Description
averages BudgetAverageSpending true none none
lows BudgetAverageSpending true none none
highs BudgetAverageSpending true none none

BudgetAverageSpending

{
  "lastMonth": 0,
  "lastThreeMonths": 0,
  "lastTwelveMonths": 0,
  "months": [
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    },
    {
      "month": "2022-06",
      "amount": 1234.56
    }
  ]
}

Properties

Name Type Required Restrictions Description
lastMonth number true none none
lastThreeMonths number false none Null if transaction data does not go three months back, starting from last month.
lastTwelveMonths number false none Null if transaction data does not go twelve months back, starting from last month.
months [BudgetMonthlySpending] true none none

BudgetMonthlySpending

{
  "month": "2022-06",
  "amount": 1234.56
}

Properties

Name Type Required Restrictions Description
month string true none Format is YYYY-MM
amount number false none Null if no transactions exists for this month.

Alert

{
  "id": "string",
  "source": "string"
}

Properties

Name Type Required Restrictions Description
id string true none Unique ID for the alert.
source string true none Which kind of alert.

AlertSource

"MEMBERSHIP"

The kind of alert.

Properties

Name Type Required Restrictions Description
anonymous string false none The kind of alert.

- MEMBERSHIP "#/definitions/MembershipAlert"
- CROWDSOURCING "#/definitions/CrowdsourcingAlert"

Enumerated Values

Property Value
anonymous MEMBERSHIP
anonymous CROWDSOURCING

MembershipAlertType

"WARNING"

Describes the severity of the alert.

Properties

Name Type Required Restrictions Description
anonymous string false none Describes the severity of the alert.

Enumerated Values

Property Value
anonymous WARNING

MembershipAlert

{
  "id": "string",
  "source": "string",
  "membershipAlertType": "WARNING",
  "product": {
    "title": "Audible",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
    "type": "SUBSCRIPTION",
    "isGateway": true,
    "isUnknownStoreSubscription": true
  },
  "transaction": {
    "id": "string",
    "transactionDate": "string",
    "type": "CARD_PURCHASE",
    "amount": 1.23,
    "currency": "NOK",
    "originalAmount": 1.23,
    "originalCurrency": "NOK",
    "merchantName": "Zlatnicka Täityö",
    "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
    "accountId": "string",
    "cardId": "string"
  }
}

Properties

allOf

Name Type Required Restrictions Description
anonymous Alert false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» id string false none Unique ID for the alert.
» membershipAlertType MembershipAlertType false none Describes the severity of the alert.
» product Product false none none
» transaction Transaction false none none

CrowdsourcingAlertType

"SUCCESS"

Properties

Name Type Required Restrictions Description
anonymous string false none none

Enumerated Values

Property Value
anonymous SUCCESS
anonymous NOT_SUBSCRIPTION
anonymous TECHNICAL_LIMITATION

CrowdsourcingAlert

{
  "id": "string",
  "source": "string",
  "type": "SUCCESS",
  "crowdsourceTime": "2018-11-16T12:45:53+02:00",
  "sourceTransactionId": "string",
  "transaction": {
    "id": "string",
    "transactionDate": "string",
    "type": "CARD_PURCHASE",
    "amount": 1.23,
    "currency": "NOK",
    "originalAmount": 1.23,
    "originalCurrency": "NOK",
    "merchantName": "Zlatnicka Täityö",
    "serviceId": "34302f6b-d0ae-473e-8e1b-2b500dfa028b",
    "accountId": "string",
    "cardId": "string"
  },
  "product": {
    "title": "Audible",
    "imageUrl": "https://cdn.demo.subaio.com/products/DK/b025dc90-ea55-11e7-9343-0242ac130002/e8266645cb3aff1d8b36329281a3ffa5.png",
    "type": "SUBSCRIPTION",
    "isGateway": true,
    "isUnknownStoreSubscription": true
  },
  "paymentFrequency": "MONTHLY",
  "amount": 1.23,
  "currency": "NOK",
  "originalAmount": 1.23,
  "originalCurrency": "NOK"
}

Properties

allOf

Name Type Required Restrictions Description
anonymous Alert false none none

and

Name Type Required Restrictions Description
anonymous object false none none
» id string false none Unique ID for the alert.
» type CrowdsourcingAlertType false none none
» crowdsourceTime string false none Timestamp of the crowdsourcing time.
» sourceTransactionId string false none The transaction ID of the original transaction provided by the bank.
» transaction Transaction false none none
» product Product false none none
» paymentFrequency PaymentFrequency false none none
» amount number(double) false none The amount of the payment crowdsourced.
» currency Currency false none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.
» originalAmount number(double) false none The amount of the payment crowdsourced.
» originalCurrency Currency false none ISO 4217 alphabetic currency code for the transaction currency, i.e. the cardholder's own currency.

VisibilityOptionType

"ASK_TO_HIDE"

Wether to ask the user if they want the service shown or hidden. ASK_BOTH refers to the scenario of a 'possible subscription', where the subscription was just added and the merchant also sells other non-recurring items under the same description. If that is the case, we ask the user if it is a purchase or a subscription.

Properties

Name Type Required Restrictions Description
anonymous string false none Wether to ask the user if they want the service shown or hidden. ASK_BOTH refers to the scenario of a 'possible subscription', where the subscription was just added and the merchant also sells other non-recurring items under the same description. If that is the case, we ask the user if it is a purchase or a subscription.

Enumerated Values

Property Value
anonymous ASK_TO_HIDE
anonymous ASK_TO_SHOW
anonymous ASK_BOTH
anonymous HIDE

CancellationOptionType

"HIDE"

Properties

Name Type Required Restrictions Description
anonymous string false none - POSSIBLE: Cancellation is possible.
- EXPLAIN_WHY_NOT: Cancellations for a product may be disabled if the company is not accepting cancellation requests
- STORE: Store subscriptions, such as iTunes, cannot be cancelled automatically by us.
- HIDE: Hide the ability to cancel the subscription from the user. There are certain instances where a service cannot be cancelled: fixed products (such as insurance, rent, or utility bills); if the user already has an ongoing cancellation for this service; if we are not sure if it's a subscription or the user has hidden the service.

Enumerated Values

Property Value
anonymous POSSIBLE
anonymous EXPLAIN_WHY_NOT
anonymous STORE
anonymous HIDE

AmountToDisplayType

"AMOUNT"

Amount data are sometimes not fully available, which means we might have to fall back to a more accurate number

Properties

Name Type Required Restrictions Description
anonymous string false none Amount data are sometimes not fully available, which means we might have to fall back to a more accurate number

- TOTAL_LAST_TWELVE_MONTHS - Fallback to use totalLastTwelveMonths instead of amount
- AMOUNT - Should use amount and not totalLastTwelveMonths

Enumerated Values

Property Value
anonymous TOTAL_LAST_TWELVE_MONTHS
anonymous AMOUNT

CancellationAbortReason

"USER_NOT_RESPONDING"

Reason cancellation was aborted.

Properties

Name Type Required Restrictions Description
anonymous string false none Reason cancellation was aborted.

- USER_NOT_RESPONDING - user has not responded to request by support.
- USER_ABORTED - the user has aborted the cancellation process.
- COMPANY_NOT_RESPONDING - company has not replied to the cancellation request.
- COMPANY_NOT_ACCEPTING - company does not accept cancellation requests.
- COMPANY_CANNOT_FIND_SUBSCRIPTION - company could not find the subscription. Usually happens if a wrong email is given by the user.
- USER_WRONG_INFORMATION_PROVIDED_MULTIPLE_TIMES - user has given us the wrong information repeatably.
- BRANCH_UNKNOWN - we could not find the branch/country/service the user had submitted.
- CONTINUATION_DEAL - user has accepted a deal made by the company to continue the subscription.

Enumerated Values

Property Value
anonymous USER_NOT_RESPONDING
anonymous USER_ABORTED
anonymous COMPANY_NOT_RESPONDING
anonymous COMPANY_NOT_ACCEPTING
anonymous COMPANY_CANNOT_FIND_SUBSCRIPTION
anonymous USER_WRONG_INFORMATION_PROVIDED_MULTIPLE_TIMES
anonymous BRANCH_UNKNOWN
anonymous CONTINUATION_DEAL

AlertSeenRequest

[
  "88dd6b5d-69db-43ef-87df-638688b37756",
  "664f30b2-123e-40c5-90ed-78495dc00fb4"
]

Properties

None