# Open WebSocket connection

This is a WebSocket endpoint, not a regular HTTP GET. A plain GET against this path returns 404. The client must perform the WebSocket opening handshake (Upgrade: websocket, Connection: Upgrade, Sec-WebSocket-Version: 13, Sec-WebSocket-Key). On success the server responds with 101 Switching Protocols and the connection is upgraded.

Use this endpoint to receive live updates (for example on orders, transactions, or journeys) without polling the REST API.

Use the wss:// scheme (TLS is required). The full URL is wss://{host}/v2/partner/client/{clientId}/subscribe — for example wss://api.sandbox.fondo.se/... in sandbox.

### Authentication

Authenticate the upgrade with the same OAuth2 bearer token used for REST requests, sent as the Authorization: Bearer  header. Browsers cannot set this header on the WebSocket handshake — partners should connect from a backend.

### Events

Once connected, the server pushes JSON-encoded events. Every event has an eventType; events that carry data also have an eventId and a payload:

- .create — payload.current is the newly created object.
- .update — payload.current is the new state, payload.previous is the prior state.
- .delete — payload.previous is the removed object.
- hello — sent once when the connection opens. Includes an instanceId identifying the server instance handling this connection; a different value on reconnect means you've been routed to a different instance.
- heartbeat — sent at regular intervals to keep the connection alive.
- server_closing — sent shortly before the server initiates a graceful close (for example during a deploy), typically ~2 seconds ahead. Use this signal to open a parallel connection and switch over before the close. Not emitted for unplanned disconnects or the load balancer's hourly connection cap.

### eventId and deduplication

Every data event (.create, .update, .delete) carries an eventId — an opaque UUID string that is unique per WebSocket message and deterministic across server instances. Use it to deduplicate when running parallel connections during reconnect: the same logical event delivered on both connections shares the same eventId, even when the connections are routed to different server instances. eventId is not set on hello, heartbeat, or server_closing, which are per-connection control signals.

### Connection lifetime

The upstream load balancer enforces a maximum lifetime of approximately one hour per connection. Expect a clean close at roughly connectTime + 3600s and reconnect on your side. The hourly cap has no heads-up — server_closing is only emitted for planned server shutdowns (for example deploys), not for the LB timer. To avoid missing events on the cap, open a parallel connection shortly before the hour expires, deduplicate using eventId, then close the original.

See the Real-Time Events guide for the event-type catalogue, code samples, and reconnection guidance.

Endpoint: GET /v2/partner/client/{clientId}/subscribe
Version: 2.0.0
Security: oAuth

## Path parameters:

  - `clientId` (string, required)
    The ID of requested client.
    Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"

## Response 101 fields (application/json):

  - `body` (hello (object) or heartbeat (object) or server_closing (object) or account.create (object) or account.update (object) or account.delete (object) or client.update (object) or client.delete (object) or cashTransaction.create (object) or cashTransaction.update (object) or cashTransaction.delete (object) or fundTransaction.create (object) or fundTransaction.update (object) or fundTransaction.delete (object) or order.create (object) or order.update (object) or order.delete (object) or instrument.reloaded (object) or journey.delete (object) or journey.update (object)) — one of:
    - hello:
      - `eventType` (string)
        Sent by the server when a connection is established
        Enum: "hello"
      - `instanceId` (string)
        Identifier for the server instance handling this connection. A different value on reconnect means the partner has been routed to a different instance.
    - heartbeat:
      - `eventType` (string)
        Heartbeat to keep connection alive
        Enum: "heartbeat"
    - server_closing:
      - `eventType` (string)
        Heads-up that the server will close this connection shortly (typically ~2 seconds ahead), for example during a deploy. Open a parallel WebSocket connection immediately and switch over before the close arrives. Not emitted for unplanned disconnects (crashes, network faults) or the load balancer's hourly connection cap.
        Enum: "server_closing"
    - account.create:
      - `eventType` (string)
        Account created
        Enum: "account.create"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
      - `payload.current.id` (string)
      - `payload.current.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.ref` (string)
        ref is a unique account number, based on
epoch, length and Luhn. OCR length digit compliant.
        Example: "160367146695159"
      - `payload.current.name` (string, required)
        Name of account
        Example: "Spar"
      - `payload.current.accountType` (string, required)
        - isk — ISK, investeringssparkonto
- depot — Depot, fonddepå
- insurance — Endowment insurance, kapitalförsäkring. Requires the user to sign separately with the insurance provider.
        Enum: "isk", "depot", "insurance"
      - `payload.current.status` (string)
        - pending — Account created, waiting for approval
- active — Account is open and operational
- rejected — Account application was rejected
- confirm — Account is awaiting confirmation from the end customer
- closing — Account is being closed; new orders, payments and withdrawals are not accepted
        Enum: "pending", "active", "rejected", "confirm", "closing"
      - `payload.current.serviceType` (string, required)
        - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
        Enum: "portfolioManagement", "investmentAdvise", "executionOnly"
      - `payload.current.owner` (any) — one of (discriminator: ownerType):
        - natural_person:
          - `ownerType` (string, required)
            Enum: "natural_person"
          - `firstName` (string, required)
            First name of account holder
            Example: "Ben"
          - `lastName` (string, required)
            Last name of account holder
            Example: "Rangel"
          - `fullName` (string, required)
            Full name of account holder
            Example: "Ben Rangel"
          - `ssn` (string, required)
            Social security number of account holder
        - legal_entity:
          - `ownerType` (string, required)
            Enum: "legal_entity"
          - `name` (string, required)
            Legal name of entity
            Example: "Acme Corp AB"
          - `crn` (string, required)
            Company registration number. 10-digits
          - `type` (string)
            Type of legal entity
            Example: "aktiebolag"
          - `registrationCountry` (string,null)
            Country of registration (ISO 3166-1 alpha-2)
            Example: "SE"
          - `countriesOfTaxation` (array,null)
            Countries where the entity is tax resident
            Example: ["SE"]
          - `address` (object,null)
            Registered address
          - `address.streetAddress` (string)
          - `address.zipCode` (string)
          - `address.city` (string)
          - `address.country` (string)
          - `contactPerson` (object,null)
            Primary contact person for the entity
          - `contactPerson.name` (string)
          - `contactPerson.phone` (string)
          - `contactPerson.email` (string)
          - `signatoryGroups` (array)
            Signatory group combinations for the legal entity
          - `signatoryGroups.name` (string)
            Name of signatory
          - `signatoryGroups.ssn` (string)
            Social security number of signatory
          - `signatoryGroups.email` (string,null)
            Email of signatory
      - `payload.current.balance` (number)
        Snapshot of cash amount on account
        Example: 100
      - `payload.current.amounts` (object)
        Amounts on account
      - `payload.current.amounts.deposited` (number)
        Amount deposited to account
        Example: 123.45
      - `payload.current.amounts.withdrawn` (number)
        Amount withdrawn from account
        Example: 123.45
      - `payload.current.positions` (array)
        List of positions held
      - `payload.current.positions.instrument` (string)
        Instrument identifier
      - `payload.current.positions.units` (number)
        Number of units, including unsettled.
      - `payload.current.positions.unitsSettled` (number)
        Number of units settled
      - `payload.current.positions.value` (number,null)
        The total value of the position (units * closePrice)
      - `payload.current.positions.closePrice` (number,null)
        Last published NAV (closing price) for the fund
      - `payload.current.positions.gav` (number)
        Average acquisition value (Genomsnittligt Anskaffningsvärde)
      - `payload.current.category` (string)
        MiFID II investor classification.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
        Enum: "pro", "retail"
      - `payload.current.deleted` (boolean, required)
        Is account deleted?
      - `payload.current.clientId` (string, required)
        The ID of the client managing this account
      - `payload.current.bankAccounts` (array)
      - `payload.current.bankAccounts.id` (string)
      - `payload.current.bankAccounts.iban` (string, required)
        IBAN (ISO 13616, International Bank Account Number)
        Example: "SE7280000810340009783242"
      - `payload.current.bankAccounts.bban` (string)
        Local bank account number
        Example: "666 666 666"
      - `payload.current.bankAccounts.bank` (string, required)
        Bank name
        Example: "Buy n' Large"
      - `payload.current.bankAccounts.name` (string,null, required)
        Name of account
        Example: "Lönekonto"
      - `payload.current.bankAccounts.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.bankAccounts.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.bankAccounts.deletedDate` (string)
        Date when and if deleted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.bankAccounts.validated` (boolean)
        Whether the bank account is validated by account check service.
Required for withdrawals
        Example: true
      - `payload.current.bankAccounts.mandateStatus` (string)
        Status of the autogiro mandate for this account
        Enum: "missing", "invalid", "pending", "active"
      - `payload.current.currency` (string, required)
        Three letter ISO currency code
        Example: "SEK"
      - `payload.current.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.deletedDate` (string)
        Date when flagged as deleted
        Example: "2018-12-13T23:59:00.001Z"
    - account.update:
      - `eventType` (string)
        Account updated
        Enum: "account.update"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
      - `payload.current.id` (string)
      - `payload.current.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.ref` (string)
        ref is a unique account number, based on
epoch, length and Luhn. OCR length digit compliant.
        Example: "160367146695159"
      - `payload.current.name` (string, required)
        Name of account
        Example: "Spar"
      - `payload.current.accountType` (string, required)
        - isk — ISK, investeringssparkonto
- depot — Depot, fonddepå
- insurance — Endowment insurance, kapitalförsäkring. Requires the user to sign separately with the insurance provider.
        Enum: same as `payload.current.accountType` in "account.create" (3 values)
      - `payload.current.status` (string)
        - pending — Account created, waiting for approval
- active — Account is open and operational
- rejected — Account application was rejected
- confirm — Account is awaiting confirmation from the end customer
- closing — Account is being closed; new orders, payments and withdrawals are not accepted
        Enum: same as `payload.current.status` in "account.create" (5 values)
      - `payload.current.serviceType` (string, required)
        - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
        Enum: same as `payload.current.serviceType` in "account.create" (3 values)
      - `payload.current.owner` (any) — one of (discriminator: ownerType):
        - natural_person:
          - `ownerType` (string, required)
            Enum: same as `ownerType` in "natural_person" (1 values)
          - `firstName` (string, required)
            First name of account holder
            Example: "Ben"
          - `lastName` (string, required)
            Last name of account holder
            Example: "Rangel"
          - `fullName` (string, required)
            Full name of account holder
            Example: "Ben Rangel"
          - `ssn` (string, required)
            Social security number of account holder
        - legal_entity:
          - `ownerType` (string, required)
            Enum: same as `ownerType` in "legal_entity" (1 values)
          - `name` (string, required)
            Legal name of entity
            Example: "Acme Corp AB"
          - `crn` (string, required)
            Company registration number. 10-digits
          - `type` (string)
            Type of legal entity
            Example: "aktiebolag"
          - `registrationCountry` (string,null)
            Country of registration (ISO 3166-1 alpha-2)
            Example: "SE"
          - `countriesOfTaxation` (array,null)
            Countries where the entity is tax resident
            Example: ["SE"]
          - `address` (object,null)
            Registered address
          - `address.streetAddress` (string)
          - `address.zipCode` (string)
          - `address.city` (string)
          - `address.country` (string)
          - `contactPerson` (object,null)
            Primary contact person for the entity
          - `contactPerson.name` (string)
          - `contactPerson.phone` (string)
          - `contactPerson.email` (string)
          - `signatoryGroups` (array)
            Signatory group combinations for the legal entity
          - `signatoryGroups.name` (string)
            Name of signatory
          - `signatoryGroups.ssn` (string)
            Social security number of signatory
          - `signatoryGroups.email` (string,null)
            Email of signatory
      - `payload.current.balance` (number)
        Snapshot of cash amount on account
        Example: 100
      - `payload.current.amounts` (object)
        Amounts on account
      - `payload.current.amounts.deposited` (number)
        Amount deposited to account
        Example: 123.45
      - `payload.current.amounts.withdrawn` (number)
        Amount withdrawn from account
        Example: 123.45
      - `payload.current.positions` (array)
        List of positions held
      - `payload.current.positions.instrument` (string)
        Instrument identifier
      - `payload.current.positions.units` (number)
        Number of units, including unsettled.
      - `payload.current.positions.unitsSettled` (number)
        Number of units settled
      - `payload.current.positions.value` (number,null)
        The total value of the position (units * closePrice)
      - `payload.current.positions.closePrice` (number,null)
        Last published NAV (closing price) for the fund
      - `payload.current.positions.gav` (number)
        Average acquisition value (Genomsnittligt Anskaffningsvärde)
      - `payload.current.category` (string)
        MiFID II investor classification.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
        Enum: same as `payload.current.category` in "account.create" (2 values)
      - `payload.current.deleted` (boolean, required)
        Is account deleted?
      - `payload.current.clientId` (string, required)
        The ID of the client managing this account
      - `payload.current.bankAccounts` (array)
      - `payload.current.bankAccounts.id` (string)
      - `payload.current.bankAccounts.iban` (string, required)
        IBAN (ISO 13616, International Bank Account Number)
        Example: "SE7280000810340009783242"
      - `payload.current.bankAccounts.bban` (string)
        Local bank account number
        Example: "666 666 666"
      - `payload.current.bankAccounts.bank` (string, required)
        Bank name
        Example: "Buy n' Large"
      - `payload.current.bankAccounts.name` (string,null, required)
        Name of account
        Example: "Lönekonto"
      - `payload.current.bankAccounts.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.bankAccounts.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.bankAccounts.deletedDate` (string)
        Date when and if deleted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.bankAccounts.validated` (boolean)
        Whether the bank account is validated by account check service.
Required for withdrawals
        Example: true
      - `payload.current.bankAccounts.mandateStatus` (string)
        Status of the autogiro mandate for this account
        Enum: same as `payload.current.bankAccounts.mandateStatus` in "account.create" (4 values)
      - `payload.current.currency` (string, required)
        Three letter ISO currency code
        Example: "SEK"
      - `payload.current.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.deletedDate` (string)
        Date when flagged as deleted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous` (object)
    - account.delete:
      - `eventType` (string)
        Account deleted
        Enum: "account.delete"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.previous` (object)
      - `payload.previous.id` (string)
      - `payload.previous.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.ref` (string)
        ref is a unique account number, based on
epoch, length and Luhn. OCR length digit compliant.
        Example: "160367146695159"
      - `payload.previous.name` (string, required)
        Name of account
        Example: "Spar"
      - `payload.previous.accountType` (string, required)
        - isk — ISK, investeringssparkonto
- depot — Depot, fonddepå
- insurance — Endowment insurance, kapitalförsäkring. Requires the user to sign separately with the insurance provider.
        Enum: same as `payload.current.accountType` in "account.create" (3 values)
      - `payload.previous.status` (string)
        - pending — Account created, waiting for approval
- active — Account is open and operational
- rejected — Account application was rejected
- confirm — Account is awaiting confirmation from the end customer
- closing — Account is being closed; new orders, payments and withdrawals are not accepted
        Enum: same as `payload.current.status` in "account.create" (5 values)
      - `payload.previous.serviceType` (string, required)
        - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
        Enum: same as `payload.current.serviceType` in "account.create" (3 values)
      - `payload.previous.owner` (any) — one of (discriminator: ownerType):
        - natural_person:
          - `ownerType` (string, required)
            Enum: same as `ownerType` in "natural_person" (1 values)
          - `firstName` (string, required)
            First name of account holder
            Example: "Ben"
          - `lastName` (string, required)
            Last name of account holder
            Example: "Rangel"
          - `fullName` (string, required)
            Full name of account holder
            Example: "Ben Rangel"
          - `ssn` (string, required)
            Social security number of account holder
        - legal_entity:
          - `ownerType` (string, required)
            Enum: same as `ownerType` in "legal_entity" (1 values)
          - `name` (string, required)
            Legal name of entity
            Example: "Acme Corp AB"
          - `crn` (string, required)
            Company registration number. 10-digits
          - `type` (string)
            Type of legal entity
            Example: "aktiebolag"
          - `registrationCountry` (string,null)
            Country of registration (ISO 3166-1 alpha-2)
            Example: "SE"
          - `countriesOfTaxation` (array,null)
            Countries where the entity is tax resident
            Example: ["SE"]
          - `address` (object,null)
            Registered address
          - `address.streetAddress` (string)
          - `address.zipCode` (string)
          - `address.city` (string)
          - `address.country` (string)
          - `contactPerson` (object,null)
            Primary contact person for the entity
          - `contactPerson.name` (string)
          - `contactPerson.phone` (string)
          - `contactPerson.email` (string)
          - `signatoryGroups` (array)
            Signatory group combinations for the legal entity
          - `signatoryGroups.name` (string)
            Name of signatory
          - `signatoryGroups.ssn` (string)
            Social security number of signatory
          - `signatoryGroups.email` (string,null)
            Email of signatory
      - `payload.previous.balance` (number)
        Snapshot of cash amount on account
        Example: 100
      - `payload.previous.amounts` (object)
        Amounts on account
      - `payload.previous.amounts.deposited` (number)
        Amount deposited to account
        Example: 123.45
      - `payload.previous.amounts.withdrawn` (number)
        Amount withdrawn from account
        Example: 123.45
      - `payload.previous.positions` (array)
        List of positions held
      - `payload.previous.positions.instrument` (string)
        Instrument identifier
      - `payload.previous.positions.units` (number)
        Number of units, including unsettled.
      - `payload.previous.positions.unitsSettled` (number)
        Number of units settled
      - `payload.previous.positions.value` (number,null)
        The total value of the position (units * closePrice)
      - `payload.previous.positions.closePrice` (number,null)
        Last published NAV (closing price) for the fund
      - `payload.previous.positions.gav` (number)
        Average acquisition value (Genomsnittligt Anskaffningsvärde)
      - `payload.previous.category` (string)
        MiFID II investor classification.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
        Enum: same as `payload.current.category` in "account.create" (2 values)
      - `payload.previous.deleted` (boolean, required)
        Is account deleted?
      - `payload.previous.clientId` (string, required)
        The ID of the client managing this account
      - `payload.previous.bankAccounts` (array)
      - `payload.previous.bankAccounts.id` (string)
      - `payload.previous.bankAccounts.iban` (string, required)
        IBAN (ISO 13616, International Bank Account Number)
        Example: "SE7280000810340009783242"
      - `payload.previous.bankAccounts.bban` (string)
        Local bank account number
        Example: "666 666 666"
      - `payload.previous.bankAccounts.bank` (string, required)
        Bank name
        Example: "Buy n' Large"
      - `payload.previous.bankAccounts.name` (string,null, required)
        Name of account
        Example: "Lönekonto"
      - `payload.previous.bankAccounts.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.bankAccounts.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.bankAccounts.deletedDate` (string)
        Date when and if deleted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.bankAccounts.validated` (boolean)
        Whether the bank account is validated by account check service.
Required for withdrawals
        Example: true
      - `payload.previous.bankAccounts.mandateStatus` (string)
        Status of the autogiro mandate for this account
        Enum: same as `payload.current.bankAccounts.mandateStatus` in "account.create" (4 values)
      - `payload.previous.currency` (string, required)
        Three letter ISO currency code
        Example: "SEK"
      - `payload.previous.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.deletedDate` (string)
        Date when flagged as deleted
        Example: "2018-12-13T23:59:00.001Z"
    - client.update:
      - `eventType` (string)
        client updated
        Enum: "client.update"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
      - `payload.current.id` (string)
      - `payload.current.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.displayName` (string)
        Name of client as displayed in journeys
        Example: "Advise"
      - `payload.current.name` (string)
        Name of client
        Example: "Advise AB"
      - `payload.current.bankAccounts` (array)
        Bank account defintions based on fee type. No duplicate feeTypes allowed
      - `payload.current.bankAccounts.feeType` (string, required)
        - client_fee_oneoff — One-off fee
- client_fee_ongoing — Ongoing fee
- client_fee_transaction — Transactional fee
- client_fee_performance — Performance fee
- client_fee_other — Other fee
        Enum: "client_fee_oneoff", "client_fee_ongoing", "client_fee_transaction", "client_fee_performance", "client_fee_other"
      - `payload.current.bankAccounts.iban` (string, required)
        IBAN (ISO 13616, International Bank Account Number)
        Example: "SE7280000810340009783242"
      - `payload.current.serviceTypes` (array)
      - `payload.current.serviceTypes.accountServiceType` (string, required)
        - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
        Enum: same as `payload.current.serviceType` in "account.create" (3 values)
      - `payload.current.serviceTypes.code` (string)
        client activation code. 6 digits
        Example: "123456"
      - `payload.current.crn` (string)
        Company registration number
      - `payload.current.country` (string)
        Two-letter country code
        Example: "SE"
      - `payload.current.permissions` (object)
        Client permissions and capabilities
      - `payload.current.permissions.allowAutogiro` (boolean)
        Whether autogiro deposits are allowed for this client
      - `payload.current.permissions.allowSwishDeposits` (boolean)
        Whether Swish deposits are allowed for this client
      - `payload.current.permissions.allowLegalEntity` (boolean)
        Whether legal entity accounts are allowed for this client
      - `payload.current.permissions.allowEnrichedInstrument` (boolean)
        Whether enriched instrument data is returned for this client
      - `payload.current.permissions.allowHistoricalFundPrice` (boolean)
        Whether historical fund price data is available
      - `payload.current.permissions.allowedAccountCategories` (array)
        MiFID II investor classifications allowed for this client.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
        Enum: same as `payload.current.category` in "account.create" (2 values)
      - `payload.previous` (object)
    - client.delete:
      - `eventType` (string)
        client deleted
        Enum: "client.delete"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.previous` (object)
      - `payload.previous.id` (string)
      - `payload.previous.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.displayName` (string)
        Name of client as displayed in journeys
        Example: "Advise"
      - `payload.previous.name` (string)
        Name of client
        Example: "Advise AB"
      - `payload.previous.bankAccounts` (array)
        Bank account defintions based on fee type. No duplicate feeTypes allowed
      - `payload.previous.bankAccounts.feeType` (string, required)
        - client_fee_oneoff — One-off fee
- client_fee_ongoing — Ongoing fee
- client_fee_transaction — Transactional fee
- client_fee_performance — Performance fee
- client_fee_other — Other fee
        Enum: same as `payload.current.bankAccounts.feeType` in "client.update" (5 values)
      - `payload.previous.bankAccounts.iban` (string, required)
        IBAN (ISO 13616, International Bank Account Number)
        Example: "SE7280000810340009783242"
      - `payload.previous.serviceTypes` (array)
      - `payload.previous.serviceTypes.accountServiceType` (string, required)
        - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
        Enum: same as `payload.current.serviceType` in "account.create" (3 values)
      - `payload.previous.serviceTypes.code` (string)
        client activation code. 6 digits
        Example: "123456"
      - `payload.previous.crn` (string)
        Company registration number
      - `payload.previous.country` (string)
        Two-letter country code
        Example: "SE"
      - `payload.previous.permissions` (object)
        Client permissions and capabilities
      - `payload.previous.permissions.allowAutogiro` (boolean)
        Whether autogiro deposits are allowed for this client
      - `payload.previous.permissions.allowSwishDeposits` (boolean)
        Whether Swish deposits are allowed for this client
      - `payload.previous.permissions.allowLegalEntity` (boolean)
        Whether legal entity accounts are allowed for this client
      - `payload.previous.permissions.allowEnrichedInstrument` (boolean)
        Whether enriched instrument data is returned for this client
      - `payload.previous.permissions.allowHistoricalFundPrice` (boolean)
        Whether historical fund price data is available
      - `payload.previous.permissions.allowedAccountCategories` (array)
        MiFID II investor classifications allowed for this client.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
        Enum: same as `payload.current.category` in "account.create" (2 values)
    - cashTransaction.create:
      - `eventType` (string)
        Cash transaction created
        Enum: "cashTransaction.create"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        Cash Transaction
      - `payload.current.id` (string, required)
      - `payload.current.sortedId` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.transactionType` (string, required)
        Cash transaction type:
- deposit — Deposit of cash to account
- fxFee — FX fee
- withdrawal — Withdrawal of cash from account
- transfer_in — Transfer of cash to account
- transfer_out — Transfer of cash from account
- subscription — Subscription order
- redemption — Redemption order
- retrocession — Retrocession cash amount
- insurance_tax — Tax for the insurance
        Enum: "deposit", "fxFee", "withdrawal", "transfer_in", "transfer_out", "subscription", "redemption", "retrocession", "insurance_tax"
      - `payload.current.aborted` (boolean, required)
        Transaction has been aborted.
      - `payload.current.abortedReason` (string)
        Error code or freetext explaining abort
        Example: "referenced_order_canceled"
      - `payload.current.revision` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.abortedDate` (string)
        Date when transaction was aborted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.correctedBy` (string)
        If this value is set, the transaction has been corrected by the transaction referenced by the id.
Any calculations must ignore transactions where correctedBy is set.
      - `payload.current.correctedReason` (string)
        Reason for the correction
        Example: "order_amount_adjusted"
      - `payload.current.ref` (string)
        Transaction reference. External id. 255 chars.
      - `payload.current.refType` (string)
        The type of reference:
- text — Text reference
- order — Reference is an ID of an order object
- payment — Reference is an ID of a payment object
- ca — Reference is an ID of a ca (corporate action) object
- internal — Transaction between internal accounts
- external — Transaction between external accounts
- transfer — Reference is an ID of a transfer object
- client_fee_oneoff — One-off fee
- client_fee_ongoing — Ongoing fee
- client_fee_transaction — Transactional fee
- client_fee_performance — Performance fee
- client_fee_other — Other fee
- client_fee — Unspecified client fee
- correction — Correction
- gift — Gift
- compensations - Compensations
- inheritance - Inheritance
- dividend - Dividend
- donation - Donation
- endowment_101 - Endowment 101
- partner_fee - Partner Fee
- fondo_fee - Fondo Fee
- insurance_tax - Insurance Tax
- insurance_fee - Insurance Fee
- riskpremia_fee - Riskpremia Fee
        Enum: "text", "order", "payment", "ca", "internal", "external", "transfer", "client_fee_oneoff", "client_fee_ongoing", "client_fee_transaction", "client_fee_performance", "client_fee_other", "client_fee", "correction", "gift", "compensations", "inheritance", "dividend", "donation", "endowment_101", "partner_fee", "fondo_fee", "insurance_tax", "insurance_fee", "riskpremia_fee"
      - `payload.current.creditAccount` (string)
        UUID of credited (receiving) account
Used for transaction types:
      - deposit
      - transfer_in
      - redemption
      - retrocession
      - refund
      - refundCancel
      - `payload.current.debitAccount` (string)
        UUID of debited (charged) account
Used for transaction types:
      - withdrawal
      - subscription
      - transfer_out
      - fxFee
      - `payload.current.amount` (number, required)
        Transaction amount as a number
        Example: 1.2
      - `payload.current.currency` (string, required)
        Three letter ISO currency code
        Enum: "SEK"
      - `payload.current.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.current.clientRef` (string)
        Client applied ref
      - `payload.current.freetext` (string)
        Free text of transaction
        Example: "Hello world"
      - `payload.current.instrument` (string)
        Id of instrument if it is a transaction related to a specific instrument but not an order, ie retrocession
        Example: "SE0012193019SEK"
      - `payload.current.startDate` (string)
        If a transaction is regarding a period of time
Used for retrocession transactionType
      - `payload.current.endDate` (string)
        If a transaction is regarding a period of time.
Used for retrocession transaction type.
      - `payload.current.createdDate` (string)
        Date when transaction was created
        Example: "2018-12-13t23:59:00.001z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13t23:59:00.001z"
      - `payload.current.settlementDate` (string,null)
        Date when transaction was settled, null if not settled
        Example: "2018-12-13t23:59:00.001z"
    - cashTransaction.update:
      - `eventType` (string)
        Cash transaction updated
        Enum: "cashTransaction.update"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        Cash Transaction
      - `payload.current.id` (string, required)
      - `payload.current.sortedId` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.transactionType` (string, required)
        Cash transaction type:
- deposit — Deposit of cash to account
- fxFee — FX fee
- withdrawal — Withdrawal of cash from account
- transfer_in — Transfer of cash to account
- transfer_out — Transfer of cash from account
- subscription — Subscription order
- redemption — Redemption order
- retrocession — Retrocession cash amount
- insurance_tax — Tax for the insurance
        Enum: same as `payload.current.transactionType` in "cashTransaction.create" (9 values)
      - `payload.current.aborted` (boolean, required)
        Transaction has been aborted.
      - `payload.current.abortedReason` (string)
        Error code or freetext explaining abort
        Example: "referenced_order_canceled"
      - `payload.current.revision` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.abortedDate` (string)
        Date when transaction was aborted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.correctedBy` (string)
        If this value is set, the transaction has been corrected by the transaction referenced by the id.
Any calculations must ignore transactions where correctedBy is set.
      - `payload.current.correctedReason` (string)
        Reason for the correction
        Example: "order_amount_adjusted"
      - `payload.current.ref` (string)
        Transaction reference. External id. 255 chars.
      - `payload.current.refType` (string)
        The type of reference:
- text — Text reference
- order — Reference is an ID of an order object
- payment — Reference is an ID of a payment object
- ca — Reference is an ID of a ca (corporate action) object
- internal — Transaction between internal accounts
- external — Transaction between external accounts
- transfer — Reference is an ID of a transfer object
- client_fee_oneoff — One-off fee
- client_fee_ongoing — Ongoing fee
- client_fee_transaction — Transactional fee
- client_fee_performance — Performance fee
- client_fee_other — Other fee
- client_fee — Unspecified client fee
- correction — Correction
- gift — Gift
- compensations - Compensations
- inheritance - Inheritance
- dividend - Dividend
- donation - Donation
- endowment_101 - Endowment 101
- partner_fee - Partner Fee
- fondo_fee - Fondo Fee
- insurance_tax - Insurance Tax
- insurance_fee - Insurance Fee
- riskpremia_fee - Riskpremia Fee
        Enum: same as `payload.current.refType` in "cashTransaction.create" (25 values)
      - `payload.current.creditAccount` (string)
        UUID of credited (receiving) account
Used for transaction types:
      - deposit
      - transfer_in
      - redemption
      - retrocession
      - refund
      - refundCancel
      - `payload.current.debitAccount` (string)
        UUID of debited (charged) account
Used for transaction types:
      - withdrawal
      - subscription
      - transfer_out
      - fxFee
      - `payload.current.amount` (number, required)
        Transaction amount as a number
        Example: 1.2
      - `payload.current.currency` (string, required)
        Three letter ISO currency code
        Enum: same as `payload.current.currency` in "cashTransaction.create" (1 values)
      - `payload.current.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.current.clientRef` (string)
        Client applied ref
      - `payload.current.freetext` (string)
        Free text of transaction
        Example: "Hello world"
      - `payload.current.instrument` (string)
        Id of instrument if it is a transaction related to a specific instrument but not an order, ie retrocession
        Example: "SE0012193019SEK"
      - `payload.current.startDate` (string)
        If a transaction is regarding a period of time
Used for retrocession transactionType
      - `payload.current.endDate` (string)
        If a transaction is regarding a period of time.
Used for retrocession transaction type.
      - `payload.current.createdDate` (string)
        Date when transaction was created
        Example: "2018-12-13t23:59:00.001z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13t23:59:00.001z"
      - `payload.current.settlementDate` (string,null)
        Date when transaction was settled, null if not settled
        Example: "2018-12-13t23:59:00.001z"
      - `payload.previous` (object)
        Cash Transaction
    - cashTransaction.delete:
      - `eventType` (string)
        Cash transaction deleted
        Enum: "cashTransaction.delete"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.previous` (object)
        Cash Transaction
      - `payload.previous.id` (string, required)
      - `payload.previous.sortedId` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.transactionType` (string, required)
        Cash transaction type:
- deposit — Deposit of cash to account
- fxFee — FX fee
- withdrawal — Withdrawal of cash from account
- transfer_in — Transfer of cash to account
- transfer_out — Transfer of cash from account
- subscription — Subscription order
- redemption — Redemption order
- retrocession — Retrocession cash amount
- insurance_tax — Tax for the insurance
        Enum: same as `payload.current.transactionType` in "cashTransaction.create" (9 values)
      - `payload.previous.aborted` (boolean, required)
        Transaction has been aborted.
      - `payload.previous.abortedReason` (string)
        Error code or freetext explaining abort
        Example: "referenced_order_canceled"
      - `payload.previous.revision` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.abortedDate` (string)
        Date when transaction was aborted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.correctedBy` (string)
        If this value is set, the transaction has been corrected by the transaction referenced by the id.
Any calculations must ignore transactions where correctedBy is set.
      - `payload.previous.correctedReason` (string)
        Reason for the correction
        Example: "order_amount_adjusted"
      - `payload.previous.ref` (string)
        Transaction reference. External id. 255 chars.
      - `payload.previous.refType` (string)
        The type of reference:
- text — Text reference
- order — Reference is an ID of an order object
- payment — Reference is an ID of a payment object
- ca — Reference is an ID of a ca (corporate action) object
- internal — Transaction between internal accounts
- external — Transaction between external accounts
- transfer — Reference is an ID of a transfer object
- client_fee_oneoff — One-off fee
- client_fee_ongoing — Ongoing fee
- client_fee_transaction — Transactional fee
- client_fee_performance — Performance fee
- client_fee_other — Other fee
- client_fee — Unspecified client fee
- correction — Correction
- gift — Gift
- compensations - Compensations
- inheritance - Inheritance
- dividend - Dividend
- donation - Donation
- endowment_101 - Endowment 101
- partner_fee - Partner Fee
- fondo_fee - Fondo Fee
- insurance_tax - Insurance Tax
- insurance_fee - Insurance Fee
- riskpremia_fee - Riskpremia Fee
        Enum: same as `payload.current.refType` in "cashTransaction.create" (25 values)
      - `payload.previous.creditAccount` (string)
        UUID of credited (receiving) account
Used for transaction types:
      - deposit
      - transfer_in
      - redemption
      - retrocession
      - refund
      - refundCancel
      - `payload.previous.debitAccount` (string)
        UUID of debited (charged) account
Used for transaction types:
      - withdrawal
      - subscription
      - transfer_out
      - fxFee
      - `payload.previous.amount` (number, required)
        Transaction amount as a number
        Example: 1.2
      - `payload.previous.currency` (string, required)
        Three letter ISO currency code
        Enum: same as `payload.current.currency` in "cashTransaction.create" (1 values)
      - `payload.previous.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.previous.clientRef` (string)
        Client applied ref
      - `payload.previous.freetext` (string)
        Free text of transaction
        Example: "Hello world"
      - `payload.previous.instrument` (string)
        Id of instrument if it is a transaction related to a specific instrument but not an order, ie retrocession
        Example: "SE0012193019SEK"
      - `payload.previous.startDate` (string)
        If a transaction is regarding a period of time
Used for retrocession transactionType
      - `payload.previous.endDate` (string)
        If a transaction is regarding a period of time.
Used for retrocession transaction type.
      - `payload.previous.createdDate` (string)
        Date when transaction was created
        Example: "2018-12-13t23:59:00.001z"
      - `payload.previous.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13t23:59:00.001z"
      - `payload.previous.settlementDate` (string,null)
        Date when transaction was settled, null if not settled
        Example: "2018-12-13t23:59:00.001z"
    - fundTransaction.create:
      - `eventType` (string)
        Fund transaction created
        Enum: "fundTransaction.create"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        An object representing a fund transaction
      - `payload.current.id` (string, required)
      - `payload.current.sortedId` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.transactionType` (string, required)
        - redemption — Units of a redemption order
- subscription — Units of a subscription order
- transfer_in — Units transferred to account
- transfer_out — Units transferred out of account
        Enum: "redemption", "subscription", "transfer_in", "transfer_out"
      - `payload.current.aborted` (boolean)
        Transaction has been aborted.
      - `payload.current.abortedReason` (string)
        Error code or freetext explaining abort
        Example: "referenced_order_canceled"
      - `payload.current.correctedBy` (string)
        If this value is set, the transaction has been corrected by the transaction referenced by the id.
Any calculations must ignore transactions where correctedBy is set.
      - `payload.current.revision` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.abortedDate` (string)
        Date when transaction was aborted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.correctedReason` (string)
        Reason for the correction
        Example: "order_amount_adjusted"
      - `payload.current.ref` (string)
        Reference ID of the object that caused the transaction (order, ca etc)
      - `payload.current.refType` (string)
        Type that caused the transaction
        Enum: "order", "ca", "internal", "external", "transfer", "gift", "compensations", "inheritance", "dividend", "endowment_101", "text", "correction"
      - `payload.current.account` (string, required)
        UUID of account of transaction
      - `payload.current.instrument` (string, required)
        Fondo instrument ID
        Example: "SE0012193019SEK"
      - `payload.current.identifier` (string, required)
        ISIN code of fund instrument
        Example: "SE0012193019"
      - `payload.current.units` (number, required)
        Transaction fund units
      - `payload.current.price` (number)
        Transaction price per unit (NAV)
      - `payload.current.currency` (string, required)
        Three letter ISO currency code of transaction
        Example: "SEK"
      - `payload.current.freetext` (string)
        Free text of transaction
        Example: "Hello world"
      - `payload.current.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.current.clientRef` (string)
        Client applied ref
      - `payload.current.createdDate` (string)
        date when created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.settlementDate` (string)
        Date when transaction was settled, null if not settled
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.tradeDate` (string)
        Trade date (date of pricing)
        Example: "2018-12-13T23:59:00.001Z"
    - fundTransaction.update:
      - `eventType` (string)
        Fund transaction updated
        Enum: "fundTransaction.update"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        An object representing a fund transaction
      - `payload.current.id` (string, required)
      - `payload.current.sortedId` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.transactionType` (string, required)
        - redemption — Units of a redemption order
- subscription — Units of a subscription order
- transfer_in — Units transferred to account
- transfer_out — Units transferred out of account
        Enum: same as `payload.current.transactionType` in "fundTransaction.create" (4 values)
      - `payload.current.aborted` (boolean)
        Transaction has been aborted.
      - `payload.current.abortedReason` (string)
        Error code or freetext explaining abort
        Example: "referenced_order_canceled"
      - `payload.current.correctedBy` (string)
        If this value is set, the transaction has been corrected by the transaction referenced by the id.
Any calculations must ignore transactions where correctedBy is set.
      - `payload.current.revision` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.abortedDate` (string)
        Date when transaction was aborted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.correctedReason` (string)
        Reason for the correction
        Example: "order_amount_adjusted"
      - `payload.current.ref` (string)
        Reference ID of the object that caused the transaction (order, ca etc)
      - `payload.current.refType` (string)
        Type that caused the transaction
        Enum: same as `payload.current.refType` in "fundTransaction.create" (12 values)
      - `payload.current.account` (string, required)
        UUID of account of transaction
      - `payload.current.instrument` (string, required)
        Fondo instrument ID
        Example: "SE0012193019SEK"
      - `payload.current.identifier` (string, required)
        ISIN code of fund instrument
        Example: "SE0012193019"
      - `payload.current.units` (number, required)
        Transaction fund units
      - `payload.current.price` (number)
        Transaction price per unit (NAV)
      - `payload.current.currency` (string, required)
        Three letter ISO currency code of transaction
        Example: "SEK"
      - `payload.current.freetext` (string)
        Free text of transaction
        Example: "Hello world"
      - `payload.current.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.current.clientRef` (string)
        Client applied ref
      - `payload.current.createdDate` (string)
        date when created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.settlementDate` (string)
        Date when transaction was settled, null if not settled
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.tradeDate` (string)
        Trade date (date of pricing)
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous` (object)
        An object representing a fund transaction
    - fundTransaction.delete:
      - `eventType` (string)
        Fund transaction deleted
        Enum: "fundTransaction.delete"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.previous` (object)
        An object representing a fund transaction
      - `payload.previous.id` (string, required)
      - `payload.previous.sortedId` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.transactionType` (string, required)
        - redemption — Units of a redemption order
- subscription — Units of a subscription order
- transfer_in — Units transferred to account
- transfer_out — Units transferred out of account
        Enum: same as `payload.current.transactionType` in "fundTransaction.create" (4 values)
      - `payload.previous.aborted` (boolean)
        Transaction has been aborted.
      - `payload.previous.abortedReason` (string)
        Error code or freetext explaining abort
        Example: "referenced_order_canceled"
      - `payload.previous.correctedBy` (string)
        If this value is set, the transaction has been corrected by the transaction referenced by the id.
Any calculations must ignore transactions where correctedBy is set.
      - `payload.previous.revision` (string, required)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.abortedDate` (string)
        Date when transaction was aborted
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.correctedReason` (string)
        Reason for the correction
        Example: "order_amount_adjusted"
      - `payload.previous.ref` (string)
        Reference ID of the object that caused the transaction (order, ca etc)
      - `payload.previous.refType` (string)
        Type that caused the transaction
        Enum: same as `payload.current.refType` in "fundTransaction.create" (12 values)
      - `payload.previous.account` (string, required)
        UUID of account of transaction
      - `payload.previous.instrument` (string, required)
        Fondo instrument ID
        Example: "SE0012193019SEK"
      - `payload.previous.identifier` (string, required)
        ISIN code of fund instrument
        Example: "SE0012193019"
      - `payload.previous.units` (number, required)
        Transaction fund units
      - `payload.previous.price` (number)
        Transaction price per unit (NAV)
      - `payload.previous.currency` (string, required)
        Three letter ISO currency code of transaction
        Example: "SEK"
      - `payload.previous.freetext` (string)
        Free text of transaction
        Example: "Hello world"
      - `payload.previous.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.previous.clientRef` (string)
        Client applied ref
      - `payload.previous.createdDate` (string)
        date when created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.settlementDate` (string)
        Date when transaction was settled, null if not settled
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.tradeDate` (string)
        Trade date (date of pricing)
        Example: "2018-12-13T23:59:00.001Z"
    - order.create:
      - `eventType` (string)
        order created
        Enum: "order.create"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        order
      - `payload.current.id` (string, required)
      - `payload.current.status` (string, required)
        - received — Received by the system
- pending — Order is pending cut-off time
- sent — Order sent to external party / exchange
- settled — Order is settled and completed
- canceled — Order is canceled
- hold — Order is put on hold
        Enum: "received", "pending", "sent", "settled", "canceled", "hold"
      - `payload.current.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.orderType` (any, required)
        Enum: "subscription", "redemption"
      - `payload.current.account` (string, required)
        Account number
      - `payload.current.clientRef` (any)
      - `payload.current.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.current.instrument` (string, required)
        Fondo instrument ID
        Example: "US64110L1061USD"
      - `payload.current.units` (number)
        Number of units. 7 decimals. Required for redemption orders.
        Example: 1000
      - `payload.current.amount` (number)
        Required for subscription orders. For a redemption order this will be calculated on confirmation.
        Example: 100
      - `payload.current.clientId` (string)
        ID of the client
      - `payload.current.createdDate` (string)
        date when created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.cancelledDate` (string,null)
        Date when cancelled
        Example: "2018-12-13T23:59:00.001Z"
    - order.update:
      - `eventType` (string)
        order updated
        Enum: "order.update"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        order
      - `payload.current.id` (string, required)
      - `payload.current.status` (string, required)
        - received — Received by the system
- pending — Order is pending cut-off time
- sent — Order sent to external party / exchange
- settled — Order is settled and completed
- canceled — Order is canceled
- hold — Order is put on hold
        Enum: same as `payload.current.status` in "order.create" (6 values)
      - `payload.current.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.orderType` (any, required)
        Enum: same as `payload.current.orderType` in "order.create" (2 values)
      - `payload.current.account` (string, required)
        Account number
      - `payload.current.clientRef` (any)
      - `payload.current.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.current.instrument` (string, required)
        Fondo instrument ID
        Example: "US64110L1061USD"
      - `payload.current.units` (number)
        Number of units. 7 decimals. Required for redemption orders.
        Example: 1000
      - `payload.current.amount` (number)
        Required for subscription orders. For a redemption order this will be calculated on confirmation.
        Example: 100
      - `payload.current.clientId` (string)
        ID of the client
      - `payload.current.createdDate` (string)
        date when created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.cancelledDate` (string,null)
        Date when cancelled
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous` (object)
        order
    - order.delete:
      - `eventType` (string)
        order canceled (order status set to canceled)
        Enum: "order.delete"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.previous` (object)
        order
      - `payload.previous.id` (string, required)
      - `payload.previous.status` (string, required)
        - received — Received by the system
- pending — Order is pending cut-off time
- sent — Order sent to external party / exchange
- settled — Order is settled and completed
- canceled — Order is canceled
- hold — Order is put on hold
        Enum: same as `payload.current.status` in "order.create" (6 values)
      - `payload.previous.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.orderType` (any, required)
        Enum: same as `payload.current.orderType` in "order.create" (2 values)
      - `payload.previous.account` (string, required)
        Account number
      - `payload.previous.clientRef` (any)
      - `payload.previous.executorRef` (string)
        SSN of the individual executing the operation. On write operations, validated against the account owner's SSN — requests with a mismatched value are rejected.

The partner is responsible for verifying the executor's identity (e.g. via BankID) before including this value.
      - `payload.previous.instrument` (string, required)
        Fondo instrument ID
        Example: "US64110L1061USD"
      - `payload.previous.units` (number)
        Number of units. 7 decimals. Required for redemption orders.
        Example: 1000
      - `payload.previous.amount` (number)
        Required for subscription orders. For a redemption order this will be calculated on confirmation.
        Example: 100
      - `payload.previous.clientId` (string)
        ID of the client
      - `payload.previous.createdDate` (string)
        date when created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.cancelledDate` (string,null)
        Date when cancelled
        Example: "2018-12-13T23:59:00.001Z"
    - instrument.reloaded:
      - `eventType` (string)
        Funds updated
        Enum: "instrument.reloaded"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.reloaded` (boolean)
        Enum: true
    - journey.delete:
      - `eventType` (string)
        journey deleted
        Enum: "journey.delete"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.previous` (object)
        A Journey is a web journey for interacting with Fondo functionality, such as setting up an account.
The callback at the partner will be called with status of the journey, such as when it is completed or aborted due to end-user decision or error.
The callback information will also be sent over websocket if active.

The scope parameter can be any value and used to keep state on partners end.

The callback will be retried for any other status code than 200.

To ensure it is Fondo calling the callback URL, use the scope parameter to match.
Fondo will also provide the IP address used from Fondos side.
      - `payload.previous.type` (string)
        Type of journey.
Mirrors the journey.journeyType
      - `payload.previous.status` (any)
        - new — Journey created but not yet opened by the end customer
- pending — End customer has opened the journey and is in progress
- canceled — End customer aborted the journey
- error — An error occurred during the journey
- complete — Journey completed successfully
- expired — Journey URL expired before completion
      - `payload.previous.id` (string)
        The ID of web journey.
        Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
      - `payload.previous.clientId` (string)
        The ID of requested client.
        Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
      - `payload.previous.url` (string)
        journey url
        Example: "https://webbo.fondo.se/dT7KlfoMrjOspMBvyAq2bvD8cSSAVZg50bAh8G8U6z4nNPRHAy"
      - `payload.previous.expiryDate` (string)
        Date when journey token is considered stale
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.journey` (object, required) — one of:
        - signWithdrawal:
          - `payment` (string, required)
            Fondo paymentId. (usually located on cashTransaction.ref for withdrawals)
          - `journeyType` (string, required)
            Enum: "signWithdrawal"
        - createLegalEntityAccount:
          - `journeyType` (string, required)
            Enum: "createLegalEntityAccount"
          - `accountOptions` (object, required)
            Application payload data for legal entity accounts
          - `accountOptions.serviceTypes` (array, required)
            Enum: same as `payload.current.serviceType` in "account.create" (3 values)
          - `accountOptions.accountTypes` (array, required)
            insurance - Endowment Insurance
depot - Depot
            Enum: "insurance", "depot"
          - `accountOptions.accountCategories` (array, required)
            MiFID II investor classification.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
            Enum: same as `payload.current.category` in "account.create" (2 values)
          - `accountOptions.ownerType` (string, required)
            Enum: same as `ownerType` in "legal_entity" (1 values)
        - signSubmission:
          - `submission` (string, required)
            Fondo application. E.g. a legal-entity signing a new account
            Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
          - `ssn` (string, required)
            Social security number of signer
            Example: "197001010003"
          - `journeyType` (string, required)
            Enum: "signSubmission"
        - addBankAccount:
          - `account` (string, required)
            Fondo account
            Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
          - `autogiro` (object)
          - `autogiro.enforce` (any, required)
            Autogiro mandate signing requirement:
- required — End customer must sign an autogiro mandate
- optional — End customer may choose to sign an autogiro mandate
- none — No autogiro mandate option is presented
          - `autogiro.forceNewBankAccount` (boolean)
            Defaults to false.
If set to false and autogiro enforce is set to required or optional,
the end-user may select an existing account to connect to autogiro
instead of connecting a new account.

If set to true and autogiro enforce is set to required or
optional, force the end-user to connect a new bankAccount
irrespective of if old accounts exists.
          - `journeyType` (string, required)
            Enum: "addBankAccount"
        - kycRenewal:
          - `account` (string, required)
            Fondo account
          - `journeyType` (string, required)
            Enum: "kycRenewal"
        - updateAllocationPlan:
          - `journeyType` (string, required)
            Enum: "updateAllocationPlan"
          - `account` (string, required)
            Fondo account
          - `paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `paymentAccount.iban` (string, required)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `allocationPlan` (object)
            The new allocation plan. If provided, replaces the existing instruments and allocations.
          - `allocationPlan.instruments` (array, required)
            Instrument allocations. The sum of all allocations must be exactly 100.
            Example: [{"instrument":"SE0000810798SEK","allocation":100}]
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
        - updateSavingsPlan:
          - `journeyType` (string, required)
            Enum: "updateSavingsPlan"
          - `account` (string, required)
            Fondo account
          - `instruments` (array)
            Instruments available for the savings plan.
If omitted, the end user may choose from all instruments in the client universe.
          - `instruments.instrument` (string, required)
            Instrument ID
        - createAccount:
          - `journeyType` (string, required)
            Enum: "createAccount"
          - `welcomeScreen` (string)
            Optional custom welcome screen.
Currently only available when transfer is set.

- transfer — only allowed in combination with populated transfer field
            Enum: "transfer"
          - `email` (string,null)
            end user email address
            Example: "enduser@endUserDomain.com"
          - `accountName` (string)
            If not provided, the end-user will be asked to select accountName. If provided, the accountName will not be visible to the customer in this journey.
          - `accountTypes` (array, required)
            Allowed account types
            Enum: same as `payload.current.accountType` in "account.create" (3 values)
          - `accountServiceType` (string, required)
            Account service type
            Enum: same as `payload.current.serviceType` in "account.create" (3 values)
          - `accountCategories` (array)
            MiFID II investor classification. If the client permissions allows both pro and retail customers, this must be set.
It must never exceed the permissions on the client.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
            Enum: same as `payload.current.category` in "account.create" (2 values)
          - `allocationPlan` (object,null)
            Setup an allocation plan for the account. Deposits will allocate based on this plan.
If null the view will not be shown
          - `allocationPlan.depositType` (any)
          - `allocationPlan.periodicity` (any)
          - `allocationPlan.paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `allocationPlan.paymentAccount.iban` (string)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `allocationPlan.instruments` (array, required)
            Instrument allocations. The sum of all allocations must be exactly 100.
            Example: [{"instrument":"SE0000810798SEK","allocation":100}]
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
          - `savingsPlan` (object,null)
            Enable savings plan setup during account creation.
User will configure instruments and amounts in the UI.
If null the view will not be shown.
          - `savingsPlan.periodicity` (string, required)
            Enum: "monthly"
          - `savingsPlan.instruments` (array)
            Instruments available for the savings plan.
If omitted, the end user may choose from all instruments in the client universe.
          - `savingsPlan.instruments.instrument` (string, required)
            Instrument ID
          - `kycs` (array,null)
            Valid Know Your Customer answers used to prefill the options in the journey.
          - `kycs.qid` (string, required)
            Fondo ID of the question
            Example: "money_origin"
          - `kycs.answer` (any, required)
            Answer
            Example: "lön/pension"
          - `transfer` (object,null)
            Transfer configuration from 3rd party institution into newly created Fondo Account.
If defined, the transfer screen is shown.
If null the transfer view will not be shown.
          - `transfer.enforce` (string, required)
            Controls whether the end user can skip the transfer step.
required means the end user must complete the transfer step.
optional means the end user may skip the transfer step.
            Enum: "required", "optional"
          - `transfer.transfers` (array, required)
            List of custodians and their accounts to transfer from.
The custodian is always readonly. Account numbers, when provided, are readonly.
          - `transfer.transfers.custodian` (string, required)
            ID matching a custodian.
          - `transfer.transfers.accounts` (array, required)
            Accounts at this custodian. Each account is either known (accountNumber set)
or unknown (accountNumber null, end user enters it).
      - `payload.previous.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.previous.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.deleted` (boolean)
        True if the journey is deleted
      - `payload.previous.deletedDate` (string,null)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.previous.submission` (any)
        optional submission id.
May be created in legal entity journeys.
May be fetched on separate GET /submission/:id route
      - `payload.previous.callbackUrl` (string, required)
        URL that receives a POST request when the journey status changes to canceled, error, or complete.
The payload includes the journey id, status, and scope.
Must use https in production.
        Example: "https://api.habibisfonder.se/v1/fondo/callback"
      - `payload.previous.redirectUrl` (string,null)
        Passed to BankID as the redirect target after mobile signing completes.
Set this to a deep link (e.g. customerApp:///) so BankID returns the user to your app instead of the webview.
Not needed for web-only integrations.
        Example: "customerApp:///"
      - `payload.previous.completionRedirectUrl` (string,null)
        URL the browser is redirected to once the journey completes successfully.
Can be an http(s) URL or a custom-scheme deep link (e.g. myapp://done) for native-app handoff.
        Example: "https://partner.example/onboarding-done"
      - `payload.previous.errorCode` (string,null)
        Any errors occurring during journey
      - `payload.previous.context` (string,null)
        Where end-user exited the journey. On error on cancel, if applicable.
        Example: "createaccountsign"
      - `payload.previous.scope` (string,null, required)
        BASE64 encoded partner specific data attached to the journey, such as encrypted data containing session information. It will be passed back to callback.
      - `payload.previous.result` (object,null) — one of:
        Result of journey
        - createAccount result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "createAccount" (1 values)
          - `account` (object)
            account created in journey
          - `account.id` (string)
            id of account
          - `account.status` (string)
            - pending — Account created, waiting for approval
- active — Account is open and operational
- rejected — Account application was rejected
- confirm — Account is awaiting confirmation from the end customer
- closing — Account is being closed; new orders, payments and withdrawals are not accepted
            Enum: same as `payload.current.status` in "account.create" (5 values)
          - `account.accountType` (string)
            - isk — ISK, investeringssparkonto
- depot — Depot, fonddepå
- insurance — Endowment insurance, kapitalförsäkring. Requires the user to sign separately with the insurance provider.
            Enum: same as `payload.current.accountType` in "account.create" (3 values)
          - `account.serviceType` (string)
            - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
            Enum: same as `payload.current.serviceType` in "account.create" (3 values)
          - `bankAccounts` (array)
            Payment accounts registered with allocation plan or savings plan
          - `bankAccounts.id` (string)
            id of payment account
          - `bankAccounts.status` (string)
            Mandate status of the payment account
- pending — Pending verification
- rejected — Rejected
- active — Active, ready for withdrawals
            Enum: "pending", "rejected", "active"
          - `bankAccounts.iban` (string)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `transfers` (array)
            If transfers from other custodian was created, the results are provided here. One item per account.
          - `transfers.custodian` (string)
            ID matching an institution.
          - `transfers.account` (string)
            Account number at institution
            Example: "1223456789"
          - `allocationPlan` (object)
            If an allocationPlan was created. The results are provided here
          - `allocationPlan.id` (string)
            id of allocation plan
          - `allocationPlan.paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `allocationPlan.paymentAccount.id` (string)
            id of payment account
          - `allocationPlan.paymentAccount.iban` (string)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `allocationPlan.instruments` (array)
            Instrument allocations. The sum of all allocations must be exactly 100.
            Example: [{"instrument":"SE0000810798SEK","allocation":100}]
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
          - `savingsplan` (object)
            If a savings plan was created. The results are provided here
          - `savingsplan.id` (string)
            id of savings plan
          - `savingsplan.paymentAccountId` (string)
            id of payment account used for autogiro
          - `savingsplan.periodicity` (string)
            Enum: same as `savingsPlan.periodicity` in "createAccount" (1 values)
          - `savingsplan.day` (number)
            Day of the month to allocate
          - `savingsplan.instruments` (array)
            Instrument allocations with fixed amounts
          - `savingsplan.instruments.instrument` (string)
            Instrument ID
          - `savingsplan.instruments.amount` (number)
            Amount in SEK
        - updateAllocationPlan result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "updateAllocationPlan" (1 values)
          - `allocationPlan` (object)
          - `allocationPlan.account` (string)
            Fondo account id
          - `allocationPlan.instruments` (array)
            Updated instrument allocations. The sum of all allocations must be exactly 100.
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
          - `allocationPlan.paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `allocationPlan.paymentAccount.id` (string)
            id of payment account
        - updateSavingsPlan result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "updateSavingsPlan" (1 values)
          - `savingsplan` (object)
          - `savingsplan.id` (string)
            id of savings plan
          - `savingsplan.paymentAccountId` (string)
            id of payment account used for autogiro
          - `savingsplan.startDate` (string)
            Date when the savings plan starts
          - `savingsplan.instruments` (array)
            Instrument allocations with fixed amounts
          - `savingsplan.instruments.instrument` (string)
            Instrument ID
          - `savingsplan.instruments.amount` (number)
            Amount in SEK
        - signSubmission result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "signSubmission" (1 values)
          - `submission` (object)
          - `submission.submission` (string)
            id of the signed submission
        - createLegalEntityAccount result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "createLegalEntityAccount" (1 values)
          - `submission` (object)
          - `submission.submission` (string)
            id of the signed submission
        - kycRenewal result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "kycRenewal" (1 values)
        - addBankAccount result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "addBankAccount" (1 values)
    - journey.update:
      - `eventType` (string)
        journey updated
        Enum: "journey.update"
      - `eventId` (string)
        Opaque UUID identifier unique per WebSocket message, deterministic across server instances. Use for deduplication when running overlapping connections during reconnect.
      - `payload` (object)
      - `payload.current` (object)
        A Journey is a web journey for interacting with Fondo functionality, such as setting up an account.
The callback at the partner will be called with status of the journey, such as when it is completed or aborted due to end-user decision or error.
The callback information will also be sent over websocket if active.

The scope parameter can be any value and used to keep state on partners end.

The callback will be retried for any other status code than 200.

To ensure it is Fondo calling the callback URL, use the scope parameter to match.
Fondo will also provide the IP address used from Fondos side.
      - `payload.current.type` (string)
        Type of journey.
Mirrors the journey.journeyType
      - `payload.current.status` (any)
        - new — Journey created but not yet opened by the end customer
- pending — End customer has opened the journey and is in progress
- canceled — End customer aborted the journey
- error — An error occurred during the journey
- complete — Journey completed successfully
- expired — Journey URL expired before completion
      - `payload.current.id` (string)
        The ID of web journey.
        Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
      - `payload.current.clientId` (string)
        The ID of requested client.
        Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
      - `payload.current.url` (string)
        journey url
        Example: "https://webbo.fondo.se/dT7KlfoMrjOspMBvyAq2bvD8cSSAVZg50bAh8G8U6z4nNPRHAy"
      - `payload.current.expiryDate` (string)
        Date when journey token is considered stale
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.journey` (object, required) — one of:
        - signWithdrawal:
          - `payment` (string, required)
            Fondo paymentId. (usually located on cashTransaction.ref for withdrawals)
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "signWithdrawal" (1 values)
        - createLegalEntityAccount:
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "createLegalEntityAccount" (1 values)
          - `accountOptions` (object, required)
            Application payload data for legal entity accounts
          - `accountOptions.serviceTypes` (array, required)
            Enum: same as `payload.current.serviceType` in "account.create" (3 values)
          - `accountOptions.accountTypes` (array, required)
            insurance - Endowment Insurance
depot - Depot
            Enum: same as `accountOptions.accountTypes` in "createLegalEntityAccount" (2 values)
          - `accountOptions.accountCategories` (array, required)
            MiFID II investor classification.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
            Enum: same as `payload.current.category` in "account.create" (2 values)
          - `accountOptions.ownerType` (string, required)
            Enum: same as `ownerType` in "legal_entity" (1 values)
        - signSubmission:
          - `submission` (string, required)
            Fondo application. E.g. a legal-entity signing a new account
            Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
          - `ssn` (string, required)
            Social security number of signer
            Example: "197001010003"
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "signSubmission" (1 values)
        - addBankAccount:
          - `account` (string, required)
            Fondo account
            Example: "49ad7378-121c-4a53-9894-dfd14a7b4877"
          - `autogiro` (object)
          - `autogiro.enforce` (any, required)
            Autogiro mandate signing requirement:
- required — End customer must sign an autogiro mandate
- optional — End customer may choose to sign an autogiro mandate
- none — No autogiro mandate option is presented
          - `autogiro.forceNewBankAccount` (boolean)
            Defaults to false.
If set to false and autogiro enforce is set to required or optional,
the end-user may select an existing account to connect to autogiro
instead of connecting a new account.

If set to true and autogiro enforce is set to required or
optional, force the end-user to connect a new bankAccount
irrespective of if old accounts exists.
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "addBankAccount" (1 values)
        - kycRenewal:
          - `account` (string, required)
            Fondo account
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "kycRenewal" (1 values)
        - updateAllocationPlan:
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "updateAllocationPlan" (1 values)
          - `account` (string, required)
            Fondo account
          - `paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `paymentAccount.iban` (string, required)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `allocationPlan` (object)
            The new allocation plan. If provided, replaces the existing instruments and allocations.
          - `allocationPlan.instruments` (array, required)
            Instrument allocations. The sum of all allocations must be exactly 100.
            Example: [{"instrument":"SE0000810798SEK","allocation":100}]
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
        - updateSavingsPlan:
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "updateSavingsPlan" (1 values)
          - `account` (string, required)
            Fondo account
          - `instruments` (array)
            Instruments available for the savings plan.
If omitted, the end user may choose from all instruments in the client universe.
          - `instruments.instrument` (string, required)
            Instrument ID
        - createAccount:
          - `journeyType` (string, required)
            Enum: same as `journeyType` in "createAccount" (1 values)
          - `welcomeScreen` (string)
            Optional custom welcome screen.
Currently only available when transfer is set.

- transfer — only allowed in combination with populated transfer field
            Enum: same as `welcomeScreen` in "createAccount" (1 values)
          - `email` (string,null)
            end user email address
            Example: "enduser@endUserDomain.com"
          - `accountName` (string)
            If not provided, the end-user will be asked to select accountName. If provided, the accountName will not be visible to the customer in this journey.
          - `accountTypes` (array, required)
            Allowed account types
            Enum: same as `payload.current.accountType` in "account.create" (3 values)
          - `accountServiceType` (string, required)
            Account service type
            Enum: same as `payload.current.serviceType` in "account.create" (3 values)
          - `accountCategories` (array)
            MiFID II investor classification. If the client permissions allows both pro and retail customers, this must be set.
It must never exceed the permissions on the client.

- pro — Professional investor (MiFID II)
- retail — Retail investor, protected by consumer protection regulations (MiFID II)
            Enum: same as `payload.current.category` in "account.create" (2 values)
          - `allocationPlan` (object,null)
            Setup an allocation plan for the account. Deposits will allocate based on this plan.
If null the view will not be shown
          - `allocationPlan.depositType` (any)
          - `allocationPlan.periodicity` (any)
          - `allocationPlan.paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `allocationPlan.paymentAccount.iban` (string)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `allocationPlan.instruments` (array, required)
            Instrument allocations. The sum of all allocations must be exactly 100.
            Example: [{"instrument":"SE0000810798SEK","allocation":100}]
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
          - `savingsPlan` (object,null)
            Enable savings plan setup during account creation.
User will configure instruments and amounts in the UI.
If null the view will not be shown.
          - `savingsPlan.periodicity` (string, required)
            Enum: same as `savingsPlan.periodicity` in "createAccount" (1 values)
          - `savingsPlan.instruments` (array)
            Instruments available for the savings plan.
If omitted, the end user may choose from all instruments in the client universe.
          - `savingsPlan.instruments.instrument` (string, required)
            Instrument ID
          - `kycs` (array,null)
            Valid Know Your Customer answers used to prefill the options in the journey.
          - `kycs.qid` (string, required)
            Fondo ID of the question
            Example: "money_origin"
          - `kycs.answer` (any, required)
            Answer
            Example: "lön/pension"
          - `transfer` (object,null)
            Transfer configuration from 3rd party institution into newly created Fondo Account.
If defined, the transfer screen is shown.
If null the transfer view will not be shown.
          - `transfer.enforce` (string, required)
            Controls whether the end user can skip the transfer step.
required means the end user must complete the transfer step.
optional means the end user may skip the transfer step.
            Enum: same as `transfer.enforce` in "createAccount" (2 values)
          - `transfer.transfers` (array, required)
            List of custodians and their accounts to transfer from.
The custodian is always readonly. Account numbers, when provided, are readonly.
          - `transfer.transfers.custodian` (string, required)
            ID matching a custodian.
          - `transfer.transfers.accounts` (array, required)
            Accounts at this custodian. Each account is either known (accountNumber set)
or unknown (accountNumber null, end user enters it).
      - `payload.current.sortedId` (string)
        ULID (Universally Unique Lexicographically Sortable Identifier)
      - `payload.current.createdDate` (string)
        Date when acocunt was created
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.modifiedDate` (string)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.deleted` (boolean)
        True if the journey is deleted
      - `payload.current.deletedDate` (string,null)
        Date when last modified
        Example: "2018-12-13T23:59:00.001Z"
      - `payload.current.submission` (any)
        optional submission id.
May be created in legal entity journeys.
May be fetched on separate GET /submission/:id route
      - `payload.current.callbackUrl` (string, required)
        URL that receives a POST request when the journey status changes to canceled, error, or complete.
The payload includes the journey id, status, and scope.
Must use https in production.
        Example: "https://api.habibisfonder.se/v1/fondo/callback"
      - `payload.current.redirectUrl` (string,null)
        Passed to BankID as the redirect target after mobile signing completes.
Set this to a deep link (e.g. customerApp:///) so BankID returns the user to your app instead of the webview.
Not needed for web-only integrations.
        Example: "customerApp:///"
      - `payload.current.completionRedirectUrl` (string,null)
        URL the browser is redirected to once the journey completes successfully.
Can be an http(s) URL or a custom-scheme deep link (e.g. myapp://done) for native-app handoff.
        Example: "https://partner.example/onboarding-done"
      - `payload.current.errorCode` (string,null)
        Any errors occurring during journey
      - `payload.current.context` (string,null)
        Where end-user exited the journey. On error on cancel, if applicable.
        Example: "createaccountsign"
      - `payload.current.scope` (string,null, required)
        BASE64 encoded partner specific data attached to the journey, such as encrypted data containing session information. It will be passed back to callback.
      - `payload.current.result` (object,null) — one of:
        Result of journey
        - createAccount result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "createAccount" (1 values)
          - `account` (object)
            account created in journey
          - `account.id` (string)
            id of account
          - `account.status` (string)
            - pending — Account created, waiting for approval
- active — Account is open and operational
- rejected — Account application was rejected
- confirm — Account is awaiting confirmation from the end customer
- closing — Account is being closed; new orders, payments and withdrawals are not accepted
            Enum: same as `payload.current.status` in "account.create" (5 values)
          - `account.accountType` (string)
            - isk — ISK, investeringssparkonto
- depot — Depot, fonddepå
- insurance — Endowment insurance, kapitalförsäkring. Requires the user to sign separately with the insurance provider.
            Enum: same as `payload.current.accountType` in "account.create" (3 values)
          - `account.serviceType` (string)
            - portfolioManagement — Portfolio management
- investmentAdvise — Investment advice
- executionOnly — Execution only
            Enum: same as `payload.current.serviceType` in "account.create" (3 values)
          - `bankAccounts` (array)
            Payment accounts registered with allocation plan or savings plan
          - `bankAccounts.id` (string)
            id of payment account
          - `bankAccounts.status` (string)
            Mandate status of the payment account
- pending — Pending verification
- rejected — Rejected
- active — Active, ready for withdrawals
            Enum: same as `bankAccounts.status` in "createAccount result" (3 values)
          - `bankAccounts.iban` (string)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `transfers` (array)
            If transfers from other custodian was created, the results are provided here. One item per account.
          - `transfers.custodian` (string)
            ID matching an institution.
          - `transfers.account` (string)
            Account number at institution
            Example: "1223456789"
          - `allocationPlan` (object)
            If an allocationPlan was created. The results are provided here
          - `allocationPlan.id` (string)
            id of allocation plan
          - `allocationPlan.paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `allocationPlan.paymentAccount.id` (string)
            id of payment account
          - `allocationPlan.paymentAccount.iban` (string)
            IBAN (ISO 13616, International Bank Account Number)
            Example: "SE7280000810340009783242"
          - `allocationPlan.instruments` (array)
            Instrument allocations. The sum of all allocations must be exactly 100.
            Example: [{"instrument":"SE0000810798SEK","allocation":100}]
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
          - `savingsplan` (object)
            If a savings plan was created. The results are provided here
          - `savingsplan.id` (string)
            id of savings plan
          - `savingsplan.paymentAccountId` (string)
            id of payment account used for autogiro
          - `savingsplan.periodicity` (string)
            Enum: same as `savingsPlan.periodicity` in "createAccount" (1 values)
          - `savingsplan.day` (number)
            Day of the month to allocate
          - `savingsplan.instruments` (array)
            Instrument allocations with fixed amounts
          - `savingsplan.instruments.instrument` (string)
            Instrument ID
          - `savingsplan.instruments.amount` (number)
            Amount in SEK
        - updateAllocationPlan result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "updateAllocationPlan" (1 values)
          - `allocationPlan` (object)
          - `allocationPlan.account` (string)
            Fondo account id
          - `allocationPlan.instruments` (array)
            Updated instrument allocations. The sum of all allocations must be exactly 100.
          - `allocationPlan.instruments.instrument` (string, required)
            Instrument ID
            Example: "SE0000810798SEK"
          - `allocationPlan.instruments.allocation` (number, required)
            Allocation in percent for this instrument
            Example: 100
          - `allocationPlan.paymentAccount` (object)
            The details of the bank account to charge from (autogiro)
          - `allocationPlan.paymentAccount.id` (string)
            id of payment account
        - updateSavingsPlan result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "updateSavingsPlan" (1 values)
          - `savingsplan` (object)
          - `savingsplan.id` (string)
            id of savings plan
          - `savingsplan.paymentAccountId` (string)
            id of payment account used for autogiro
          - `savingsplan.startDate` (string)
            Date when the savings plan starts
          - `savingsplan.instruments` (array)
            Instrument allocations with fixed amounts
          - `savingsplan.instruments.instrument` (string)
            Instrument ID
          - `savingsplan.instruments.amount` (number)
            Amount in SEK
        - signSubmission result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "signSubmission" (1 values)
          - `submission` (object)
          - `submission.submission` (string)
            id of the signed submission
        - createLegalEntityAccount result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "createLegalEntityAccount" (1 values)
          - `submission` (object)
          - `submission.submission` (string)
            id of the signed submission
        - kycRenewal result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "kycRenewal" (1 values)
        - addBankAccount result:
          - `journeyType` (string)
            Enum: same as `journeyType` in "addBankAccount" (1 values)
      - `payload.previous` (object)
        A Journey is a web journey for interacting with Fondo functionality, such as setting up an account.
The callback at the partner will be called with status of the journey, such as when it is completed or aborted due to end-user decision or error.
The callback information will also be sent over websocket if active.

The scope parameter can be any value and used to keep state on partners end.

The callback will be retried for any other status code than 200.

To ensure it is Fondo calling the callback URL, use the scope parameter to match.
Fondo will also provide the IP address used from Fondos side.

## Response 400 fields (application/json):

  - `error` (string, required)
    Error code
    Enum: "invalid_request"

  - `error_description` (string)
    Description of error

## Response 401 fields (application/json):

  - `error` (string, required)
    Error code
    Enum: "unauthorized"

  - `error_description` (string)
    Description of error

## Response 403 fields (application/json):

  - `error` (string, required)
    Error code
    Enum: "forbidden"

  - `error_description` (string)
    Description of error

## Response 500 fields (application/json):

  - `error` (string, required)
    Error code
    Enum: "server_error"

  - `error_description` (string)
    Description of error

## Response 503 fields (application/json):

  - `error` (string, required)
    Error code
    Enum: "service_unavailable"

  - `error_description` (string)
    Description of error


## Response 404 fields
