Data from the accounts domain represents an account on the platform. To be able to create new accounts, you must have access to an accountant portal.


URL Structure

  • /api/v1/accounts: Returns all accounts the authenticated user has access to.
  • /api/v1/accounts/1111: Returns the account with ID 1111.
  • /api/v1/accounts/CAAAAAAAAA: Returns the account with account number CAAAAAAAAA.
  • /api/v1/accounts/current: Returns the currently active account.


Domain: accounts

Field NameTypeDescriptionExample
account_idintUnique ID of the account, generated by the system.1111
numbertextUnique account number. Can also be provided in the API via X-AccountId header.CAAAAAAAA
nametextName of the account. Defaults to the company name.Company X
company_nametextName of the company.Company X
streettextStreet and house number of the company.Langestraat 189
citytextCity of the company.Antwerp
postal_codetextPostal code of the company's city.2000
vat_numbertextVAT number of the company.BE 0123.456.789
company_idtextCompany registration number (only if no VAT number is available).0123.456.789
languagetextLanguage of the account. Values: empty, dutch, french, english.french
email_addresstextEmail address of the account’s main user.jan@domain.be
account_typetextCurrent subscription plan. Possible values: starter (Free), peppol (Peppol Inbox), limited (Mini), professional (Pro), team (Team), enterprise (Enterprise), reseller (Portal), disabled (Disabled).
professional
account_type_untildateSubscription validity end date.2026-12-31
createddatetimeTimestamp when the account was created.2023-02-10 10:10:10
last_logindatetimeTimestamp of the last login.2023-02-15 10:10:10


Example JSON Representation

{
  "account_id": 1111,
  "number": "CAAAAAAAAA",
  "name": "My Company",
  "company_name": "My Company",
  "street": "Olifantenstraat 200",
  "postal_code": "9000",
  "city": "Gent",
  "country": "Belgium",
  "vat_number": "BE 0123.456.789",
  "company_id": "",
  "language": "",
  "email_address": "my@domain.be",
  "account_type": "professional",
  "account_type_until": "2028-12-31",
  "created": "2024-04-13 10:16",
  "last_login": "2025-06-05 13:33"
}


Creating Accounts

Additional accounts can only be created via an accountant portal. Therefore, you must use an API key linked to such a portal to perform this action.

Accounts are created using a POST request to: /api/v1/accounts


Assigning the Main User

When creating an account, you can either:

  • create a new main user, or

  • assign an existing user as the main user.

Whether the user is new or existing is automatically determined based on the provided email address. You only need to supply the user’s email.

Note: You can only assign an existing user as the main user if that user already has access to the accountant portal


Account Ownership

An account can be:

  • created under the user's ownership, or

  • created under the portal's management (set via managed_by: "portal").


Password or Activation Email

When adding a new user, you have two options:

  • Without password: The user will automatically receive an activation email to set a password.

  • With password: The user can log in immediately. No activation email is sent.


Examples

1. Minimum data (activation email + user-managed)

{
  "company_name": "My Company",
  "country": "Belgium",
  "email_address": "jan@domain.be",
  "contact_name": "Jan Desmet",
  "managed_by": "user"
}

2. Extended data (portal-managed, with password and company details)

{
  "company_name": "My Company",
  "street": "Olifantenstraat 200",
  "postal_code": "9000",
  "city": "Gent",
  "country": "Belgium",
  "vat_number": "BE 0123.456.789",
  "email_address": "my@domain.be",
  "password": "-MySecretPassword-",
  "contact_name": "Jan Desmet",
  "managed_by": "portal",
  "account_type": "limited"
}

Note: When an account is created under portal management, you can specify the subscription type via the account_type field.


3. Activating modules and enabling SSO at creation

{
  "company_name": "My Company",
  "country": "Belgium",
  "email_address": "my@domain.be",
  "password": "-MySecretPassword-",
  "contact_name": "Jan Desmet",
  "managed_by": "portal",
  "sso": [
    {
      "identity": "1111111111111",
      "type": "google",
      "username": "Jan Desmet"
    }
  ],
  "modules": ["quotes", "structured_message", "bank"]
}

With these parameters, you can specify which modules should be enabled by default and which single sign-on (SSO) configurations should be applied for the new user.