Skip to main content

How to generate and use the Holded API

Connect Holded with other applications using an API Key

Written by Héctor Emperador
Updated over 2 weeks ago

What is the Holded API?

The Holded API (Application Programming Interface) allows you to connect your account with other applications to automatically exchange information.

It is the system that enables different programs to work together and share data in a structured way.

For example, you can:

  • Create contacts from another CRM.

  • Generate invoices from an e-commerce platform.

  • Sync products or stock.

The API works through requests that allow you to:

  • Retrieve information (GET)

  • Create data (POST)

  • Update data (PUT)

  • Delete data (DELETE)

These actions are performed through a specific endpoint (the URL that defines the operation). For example:

https://api.holded.com/api/invoicing/v1/documents/invoice

Although Holded provides native integrations with various applications, if you need custom automation you can use the API to connect Holded with any other software your company uses.


Who can use the API?

The API is available on all paid plans. It is not available on the Free plan.

To generate an API Key, you must:

  • Be the Owner or an Administrator of the account.

  • Have an active paid plan (not Free).

☝🏼 Users with custom roles cannot generate or view API Keys.


How to generate an API Key

An API Key is the credential that identifies your Holded account in each request.

It must be included in every API call to indicate which account the operation belongs to.

To generate it:

  1. Go to your account (top left) and click Settings.

  2. In the More section, click Developers.

  3. Click + New API Key.

  4. Enter a name in the Description field.

    ☝🏼 We recommend using a name that refers to the integration you are creating (for example, “Shopify”).

  5. Click Save.

A unique alphanumeric code will be generated, which you can copy.

⚠️ The API Key is private. Do not share or expose it publicly.


Can multiple API Keys be created?

Yes. However, keep in mind:

  • Only the first API Key created allows bidirectional synchronization (read and write access).

  • Any additional API Keys only allow data retrieval (read-only access).


How to access the API documentation

Once you have generated your API Key, you can access the technical documentation to review available endpoints and actions.

To access it:

  1. In the More section, click on Developers.

From there, you can consult:

  • Available endpoints across Holded modules:

    • Invoicing: Contacts, Contact groups, Products, Warehouses, Taxes, Treasury, Numbering series, Expense accounts, Sales channels, Payments, Documents, Remittances and Services.

    • CRM: Pipelines, Events and Leads.

    • Projects: Projects, Tasks and Time tracking.

    • Team: Employees and Time tracking.

    • Accounting: Journal entries and Chart of accounts.

  • Required parameters.

  • Request examples.

  • Responses and error codes.


How to test the API before integrating it

Before implementing a full integration, it is recommended to test the API to ensure the required actions work correctly.

You can test it using:

  • The interactive API documentation.

  • External tools such as Postman.


1. Testing from the documentation

  1. Access the endpoint you want to use.

  2. Enter your API Key in the Header.

  3. Complete the required parameters.

  4. Click Try It.

If the response returns:

  • status: 1 → the operation was successful.

  • status: 0 or error 400 → there is an issue with the request and you should review the parameters sent.


2. Testing with Postman

Postman is a testing tool that allows you to send API requests and verify their behavior before implementing a final integration.

To test with Postman:

  1. Download and install the Postman application.

  2. Select the appropriate method (GET, POST, PUT or DELETE).

  3. Enter the endpoint you want to use.

  4. In the Headers section, add:

    • key → your API Key

    • Content-Typeapplication/json

  5. Add the required parameters in the Body.

  6. Send the request and review the response.

If everything works correctly, you can proceed with the final integration in your system.


Frequently Asked Questions about the Holded API

Is there a limit on API calls?

According to commercial conditions, there may be limits depending on the subscribed plan.

Currently, there is no active technical limit or visible usage counter available within the account.


Does the API follow my user role permissions?

No. The API Key does not inherit role-based permissions and does not allow custom access restrictions.

Anyone who has access to the API Key will be able to access, via the API, all endpoints available for that account according to the documentation.

For this reason, it is important not to share your API Key and to restrict access only to trusted individuals or systems.


In which format is data sent?

The API uses JSON format.

Dates must be sent in Unix timestamp format.


What support does Holded provide for API developments?

API integrations must be developed by a technical specialist.

The support team can clarify doubts regarding specific fields or endpoints, but does not develop custom integrations.

If you do not have a developer, you can contact a Solution Partner.

Did this answer your question?