Documentation Index

Fetch the complete documentation index at: https://docs.connect.visma.com/llms.txt

Use this file to discover all available pages before exploring further.

Holded

Prev Next

Holded for Flows

Connection instructions

1) Log in to Holded and navigate to API settings.
2) Create an API key and enter it when connecting in Flows.

Actions

Version: 1.0.0

The application can perform the following actions:

Create an accounting account

Creates a new accounting account in your chart of accounts. Accounting accounts categorize financial transactions for reporting and comply with your country's accounting plan. The response returns the new account `id`. Provide `number` to assign a specific account number. Provide `prefix` alone to auto-assign the next available number within that group.

Create a contact

Creates a new contact in your account. Contacts represent the people and companies you do business with — customers, suppliers, leads, debtors, or creditors. At minimum you must provide a `name`. The `type` field controls how the contact appears in your accounting (e.g. client, supplier). If omitted, the contact is created without a type and can be classified later. The response returns the new contact `id`. Use it to create invoices, purchases, or any other document linked to this contact.

Create an employee

Creates a new employee. The response returns the new employee `id`.

Create a project

Creates a new project. The response returns the new project `id`.

Delete a project

Deletes an existing project.

Get a contact by ID

Retrieves the full details of a single contact by its unique identifier. The response includes all contact data: billing address, shipping addresses, contact persons, custom fields, default invoicing settings, social networks, and accounting records. Use this endpoint when you need the complete contact profile — for list views, prefer the List contacts endpoint which returns the same fields but paginated.

Generates a portal access link for a specific contact. The link allows the contact to access their client portal where they can view documents. The link expires after 2 days.

Get an employee

Returns a single employee by its ID.

Get a project

Returns a single project by its ID.

Get a project summary

Returns the summary of a project by its ID.

List chart of accounts

Returns the list of all accounting accounts in your chart of accounts. The response includes each account's number, name, and group. Use this endpoint to discover available accounts before creating ledger entries.

List banking accounts

Returns a cursor-paginated list of banking accounts in your account. Use `archived=true` to retrieve only archived accounts, `archived=false` for only active accounts, or omit the parameter to return both. Use the `cursor` returned by `ApiListResponse` to fetch the next page; `limit` defaults to the standard list page size and is capped at the API-wide maximum.

List contacts

Returns a paginated list of contacts in your account. You can filter by `phone`, `mobile`, `email`, `code`, or `custom_id` to find specific contacts. All filters use exact matching. Results are cursor-paginated: the response includes a `cursor` value and a `has_more` boolean. Pass the `cursor` to the next request to fetch the following page. The default page size is 25 contacts. You can increase it up to 100 using the `limit` parameter.

List credit notes

Returns a paginated list of credit notes in your account. Results are cursor-paginated: the response includes a `cursor` value and a `has_more` boolean. Pass the `cursor` to the next request to fetch the following page.

List all employees

Returns a paginated list of employees. Results are paginated with `limit` and `cursor` parameters. Default page size is 50, configurable up to 200. When resolving an employee the user named, match against BOTH first name and surname, accent- and case-insensitively, and gather ALL matches — never stop at the first result. If more than one employee matches, present the complete list of matches (name plus email or employee code) and let the user choose; never pick one on your own.

List invoices

Returns a paginated list of invoices in your account. Results are cursor-paginated: the response includes a `cursor` value and a `has_more` boolean. Pass the `cursor` to the next request to fetch the following page.

List ledger entries

Returns a paginated list of ledger entries in your accounting books. Results are cursor-paginated: the response includes a `cursor` value and a `has_more` boolean. Default page size is 50, configurable up to 200 with `limit`.

List projects

Returns a paginated list of projects. Supports filtering by status to retrieve active (in-progress), completed, cancelled, waiting, or budgeted projects. Use `status=active` or `status=in_progress` to list only active projects. Results are paginated with `limit` and `cursor` parameters. Default page size is 50, configurable up to 200.

Update a contact

Replaces all mutable fields of an existing contact. This is a full replacement — any field you omit from the request body will be reset to its default value. To avoid accidentally clearing data, first fetch the contact with GET, modify the fields you need, and send back the full object. Partial updates are not supported on this endpoint.

Update an employee

Updates basic personal data of an employee (name, email, phone, nationality, workplace, etc.). Does NOT update job title, position (puesto/cargo), or any other contract data — use the "Update contract data" endpoint for those fields.

Update a project

Updates an existing project.