Skip to content

Overview

This API is intended for registered partners in agreement with Fondo.

The API is subject to change.

Download OpenAPI description
Overview
Languages
Servers
Mock server
https://docs.fondo.se/_mock/openapi/api_3.0.3
Production
https://api.fondo.se
Sandbox
https://api.sandbox.fondo.se

Authorization

Obtain and manage access tokens via OAuth 2.0 Client Credentials. Send grant_type=client_credentials with your client_id and client_secret. Use the returned access_token in Authorization: Bearer <token>. Tokens are short-lived—reuse during validity and renew on expiry.

Operations

Accounts

Accounts hold investor positions, balances, and cash movements under a client. Endpoints let you list accounts, fetch details, and close accounts. Responses include status, owner info, currency, linked bank accounts, positions, and timestamps.

Operations

Agreements

Retrieve account agreements and generate PDF documents for account-related contracts.

Operations
Operations

Clients

A client is your legal entity (B2B) or grouping for end-investor accounts. Use these endpoints to list, create, read, and update clients, manage bank accounts and service types, and fetch client-specific resources (instruments, custodians).

Operations

Request

Returns all clients associated with the authenticated partner, including IDs, display names, bank account info for fees/settlements, service types, registration/country details, and timestamps. Use to show or manage your client portfolio.

Security
oAuth
Query
startstring

The sortedId to start from. Use for pagination.

Example: start=20240101abcdef
limitnumber

Limit results. Default is none

Example: limit=100
modifiedFromstring(date-time)

The modifiedDate to start from. Use for reconciliation.

Example: modifiedFrom=2024-01-01T00:00:01.000Z
curl -i -X GET \
  'https://docs.fondo.se/_mock/openapi/api_3.0.3/v2/partner/client?start=20240101abcdef&limit=100&modifiedFrom=2024-01-01T00%3A00%3A01.000Z' \
  -H 'Authorization: Bearer <YOUR_Token_HERE>'

Responses

Array of clients

Bodyapplication/jsonArray [
idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-only

UUID (Universally Unique Identifier)

Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
sortedIdstring(ULID)^[0-9a-zA-Z]{26}$read-only

ULID (Universally Unique Lexicographically Sortable Identifier)

Example: "01ARZ3NDEKTSV4RRFFQ69G5FAV"
namestringrequired

Name of client

Example: "Advise AB"
displayNamestringrequired

Name of client as displayed in journeys

Example: "Advise"
bankAccountsArray of objects(bankAccount)unique

Bank account defintions based on fee type. No duplicate feeTypes allowed

serviceTypesArray of objects(serviceType)non-emptyrequired
serviceTypes[].​accountServiceTypeportfolioManagement (string) or investmentAdvise (string) or executionOnly (string)(accountServiceType)required

Account service type

One of:

Portfolio management

string(portfolioManagement)
Value"portfolioManagement"
serviceTypes[].​codestring^[0-9]{6}$read-only

client activation code. 6 digits

Example: "123456"
createdDatestring(date-time)read-only

Date when acocunt was created

Example: "2018-12-13T23:59:00.001Z"
modifiedDatestring(date-time)read-only

Date when last modified

Example: "2018-12-13T23:59:00.001Z"
crnstringrequired

Company registration number

Example: "1034567891"
countrystring^[A-Z][A-Z]$required

Two-letter country code

Example: "SE"
]
Response
application/json
[ { "id": "string", "sortedId": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "name": "Advise AB", "displayName": "Advise", "bankAccounts": [], "serviceTypes": [], "createdDate": "2018-12-13T23:59:00.001Z", "modifiedDate": "2018-12-13T23:59:00.001Z", "crn": "1034567891", "country": "SE" } ]

Request

Creates a client record (company or individual) with identifiers (name, displayName, optional id), regulatory and operational details (crn, country), optional bank accounts for fee handling, and service types. The response returns the full persisted client including sortedId and timestamps.

Security
oAuth
Bodyapplication/json

Create client request

namestringrequired

Name of client

Example: "Advise AB"
displayNamestringrequired

Name of client as displayed in journeys

Example: "Advise"
bankAccountsArray of objects(bankAccount)unique

Bank account defintions based on fee type. No duplicate feeTypes allowed

serviceTypesArray of objects(serviceType)non-emptyrequired
serviceTypes[].​accountServiceTypeportfolioManagement (string) or investmentAdvise (string) or executionOnly (string)(accountServiceType)required

Account service type

One of:

Portfolio management

string(portfolioManagement)
Value"portfolioManagement"
crnstringrequired

Company registration number

Example: "1034567891"
countrystring^[A-Z][A-Z]$required

Two-letter country code

Example: "SE"
curl -i -X POST \
  https://docs.fondo.se/_mock/openapi/api_3.0.3/v2/partner/client \
  -H 'Authorization: Bearer <YOUR_Token_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Advise AB",
    "displayName": "Advise",
    "bankAccounts": [
      {
        "feeType": "client_fee_oneoff",
        "iban": "SE7280000810340009783242"
      }
    ],
    "serviceTypes": [
      {
        "accountServiceType": "portfolioManagement"
      }
    ],
    "crn": "1034567891",
    "country": "SE"
  }'

Responses

client

Bodyapplication/json
idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-only

UUID (Universally Unique Identifier)

Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
sortedIdstring(ULID)^[0-9a-zA-Z]{26}$read-only

ULID (Universally Unique Lexicographically Sortable Identifier)

Example: "01ARZ3NDEKTSV4RRFFQ69G5FAV"
namestringrequired

Name of client

Example: "Advise AB"
displayNamestringrequired

Name of client as displayed in journeys

Example: "Advise"
bankAccountsArray of objects(bankAccount)unique

Bank account defintions based on fee type. No duplicate feeTypes allowed

serviceTypesArray of objects(serviceType)non-emptyrequired
serviceTypes[].​accountServiceTypeportfolioManagement (string) or investmentAdvise (string) or executionOnly (string)(accountServiceType)required

Account service type

One of:

Portfolio management

string(portfolioManagement)
Value"portfolioManagement"
serviceTypes[].​codestring^[0-9]{6}$read-only

client activation code. 6 digits

Example: "123456"
createdDatestring(date-time)read-only

Date when acocunt was created

Example: "2018-12-13T23:59:00.001Z"
modifiedDatestring(date-time)read-only

Date when last modified

Example: "2018-12-13T23:59:00.001Z"
crnstringrequired

Company registration number

Example: "1034567891"
countrystring^[A-Z][A-Z]$required

Two-letter country code

Example: "SE"
Response
application/json
{ "id": "string", "sortedId": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "name": "Advise AB", "displayName": "Advise", "bankAccounts": [ {} ], "serviceTypes": [ {} ], "createdDate": "2018-12-13T23:59:00.001Z", "modifiedDate": "2018-12-13T23:59:00.001Z", "crn": "1034567891", "country": "SE" }

Request

Returns the full client object for client_id, including names, service types (with any assigned codes), bank accounts, and timestamps. Use to display or verify a single client's profile.

Security
oAuth
Path
client_idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-onlyrequired

The ID of requested client.

Example: 49ad7378-121c-4a53-9894-dfd14a7b4877
curl -i -X GET \
  https://docs.fondo.se/_mock/openapi/api_3.0.3/v2/partner/client/49ad7378-121c-4a53-9894-dfd14a7b4877 \
  -H 'Authorization: Bearer <YOUR_Token_HERE>'

Responses

client

Bodyapplication/json
idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-only

UUID (Universally Unique Identifier)

Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
sortedIdstring(ULID)^[0-9a-zA-Z]{26}$read-only

ULID (Universally Unique Lexicographically Sortable Identifier)

Example: "01ARZ3NDEKTSV4RRFFQ69G5FAV"
namestringrequired

Name of client

Example: "Advise AB"
displayNamestringrequired

Name of client as displayed in journeys

Example: "Advise"
bankAccountsArray of objects(bankAccount)unique

Bank account defintions based on fee type. No duplicate feeTypes allowed

serviceTypesArray of objects(serviceType)non-emptyrequired
serviceTypes[].​accountServiceTypeportfolioManagement (string) or investmentAdvise (string) or executionOnly (string)(accountServiceType)required

Account service type

One of:

Portfolio management

string(portfolioManagement)
Value"portfolioManagement"
serviceTypes[].​codestring^[0-9]{6}$read-only

client activation code. 6 digits

Example: "123456"
createdDatestring(date-time)read-only

Date when acocunt was created

Example: "2018-12-13T23:59:00.001Z"
modifiedDatestring(date-time)read-only

Date when last modified

Example: "2018-12-13T23:59:00.001Z"
crnstringrequired

Company registration number

Example: "1034567891"
countrystring^[A-Z][A-Z]$required

Two-letter country code

Example: "SE"
Response
application/json
{ "id": "string", "sortedId": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "name": "Advise AB", "displayName": "Advise", "bankAccounts": [ {} ], "serviceTypes": [ {} ], "createdDate": "2018-12-13T23:59:00.001Z", "modifiedDate": "2018-12-13T23:59:00.001Z", "crn": "1034567891", "country": "SE" }

Request

Partially updates the client identified by client_id. Provide only the fields to change (e.g., displayName, bank accounts, service types, country). The response returns the updated client with refreshed timestamps.

Security
oAuth
Path
client_idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-onlyrequired

The ID of requested client.

Example: 49ad7378-121c-4a53-9894-dfd14a7b4877
Bodyapplication/json

Modify client request

non-empty
namestring

Name of client

Example: "Advise AB"
displayNamestring

Name of client as displayed in journeys

Example: "Advise"
bankAccountsArray of objects(bankAccount)unique

Bank account defintions based on fee type. No duplicate feeTypes allowed

serviceTypesArray of objects(serviceType)non-empty
crnstring

Company registration number

Example: "1034567891"
countrystring^[A-Z][A-Z]$

Two-letter country code

Example: "SE"
curl -i -X PATCH \
  https://docs.fondo.se/_mock/openapi/api_3.0.3/v2/partner/client/49ad7378-121c-4a53-9894-dfd14a7b4877 \
  -H 'Authorization: Bearer <YOUR_Token_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "Advise AB",
    "displayName": "Advise",
    "bankAccounts": [
      {
        "feeType": "client_fee_oneoff",
        "iban": "SE7280000810340009783242"
      }
    ],
    "serviceTypes": [
      {
        "accountServiceType": "portfolioManagement"
      }
    ],
    "crn": "1034567891",
    "country": "SE"
  }'

Responses

client

Bodyapplication/json
idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-only

UUID (Universally Unique Identifier)

Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
sortedIdstring(ULID)^[0-9a-zA-Z]{26}$read-only

ULID (Universally Unique Lexicographically Sortable Identifier)

Example: "01ARZ3NDEKTSV4RRFFQ69G5FAV"
namestringrequired

Name of client

Example: "Advise AB"
displayNamestringrequired

Name of client as displayed in journeys

Example: "Advise"
bankAccountsArray of objects(bankAccount)unique

Bank account defintions based on fee type. No duplicate feeTypes allowed

serviceTypesArray of objects(serviceType)non-emptyrequired
serviceTypes[].​accountServiceTypeportfolioManagement (string) or investmentAdvise (string) or executionOnly (string)(accountServiceType)required

Account service type

One of:

Portfolio management

string(portfolioManagement)
Value"portfolioManagement"
serviceTypes[].​codestring^[0-9]{6}$read-only

client activation code. 6 digits

Example: "123456"
createdDatestring(date-time)read-only

Date when acocunt was created

Example: "2018-12-13T23:59:00.001Z"
modifiedDatestring(date-time)read-only

Date when last modified

Example: "2018-12-13T23:59:00.001Z"
crnstringrequired

Company registration number

Example: "1034567891"
countrystring^[A-Z][A-Z]$required

Two-letter country code

Example: "SE"
Response
application/json
{ "id": "string", "sortedId": "01ARZ3NDEKTSV4RRFFQ69G5FAV", "name": "Advise AB", "displayName": "Advise", "bankAccounts": [ {} ], "serviceTypes": [ {} ], "createdDate": "2018-12-13T23:59:00.001Z", "modifiedDate": "2018-12-13T23:59:00.001Z", "crn": "1034567891", "country": "SE" }

Request

Returns instruments available for the given client_id, including identifiers (id, isincode), name, currency, latest price (closePrice, priceDate), KIID links, trade flags (isBuyable, isSellable, isTradable), cost breakdowns, rebates, and rules (unit decimals, minimum investment). Use to power search, eligibility checks, and order tickets for that client.

Security
oAuth
Path
client_idstring(UUID)^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]...read-onlyrequired

The ID of requested client.

Example: 49ad7378-121c-4a53-9894-dfd14a7b4877
curl -i -X GET \
  https://docs.fondo.se/_mock/openapi/api_3.0.3/v2/partner/client/49ad7378-121c-4a53-9894-dfd14a7b4877/instrument \
  -H 'Authorization: Bearer <YOUR_Token_HERE>'

Responses

Array of instruments

Bodyapplication/jsonArray [
fund (object)(instrument)
]
Response
application/json
[ { "id": "SE0012193019SEK", "isincode": "SE0001862426", "name": "Adrigo Hedge", "currency": "NOK", "closePrice": 0, "priceDate": "2018-12-13T23:59:00.001Z", "kiid": [], "decimalsUnits": 0, "minInvestmentAmountSEK": 0, "minInitialAmountSek": 0, "minSubsequentAmountSek": 0, "isComplex": true, "isBuyable": true, "isSellable": true, "isTradable": true, "cost": {}, "rebate": 96 } ]

Custodians

Fetch custodians linked to a client—useful for transfer instructions and operational routing. Returns identifiers and names for display and validation.

Operations

Journeys (Hosted Flows)

Journeys are secure, hosted web flows for customer interactions: account opening (e-sign), KYC/KYB questionnaires, fund transfers, and allocation plan setup. Create a Journey via API, redirect customers to the time-limited URL, and poll/callback for results.

Operations

Instruments

The instrument universe consists of mutual funds available for a given client or globally. Retrieve instrument metadata: identifiers (e.g., ISIN), currency, latest price, KIID links, tradability flags, unit decimals, minimums, and cost/fee breakdowns.

Operations

Payment Instructions

Payment instructions (e.g., autogiro) batch one or more payments to accounts. Create instructions, then track the payments under each instruction (amounts, status, and references).

Operations

Orders

Fund orders (subscription/redemption) drive the trading lifecycle. Create, read, list, and cancel orders; track status from receivedsentconfirmedsettled. Orders reference accounts and instruments, and map to cash/fund transactions on settlement.

Operations

Transactions

Transactions record movements of money and units.

  • Cash transactions (CT): deposits, withdrawals, cash legs of fund orders (with settlement dates).
  • Fund transactions (FT): unit movements from subscriptions/redemptions (trade & settlement dates). Use these endpoints to reconcile ledgers and statements.
Operations

Subscriptions (WebSocket & Webhooks)

Receive real-time updates from Fondo without polling.

  • WebSocket: open a persistent stream for .create, .update, .delete, and heartbeat events.
  • Webhooks: register a callback URL to get signed POSTs with current/previous payloads. Include replay/retry handling in your consumers.
Operations
Operations