The Holded connector lets your AI agent act in each user's Holded account. Each user connects their own Holded access token once, and Scalekit sends it with every call, so your agent never handles credentials. It comes with 109 tools.
- Tools
- 109
- What they doRead · write · destructive
- 66 · 43 · 066 read43 write0 destructive
- Users sign in with
- Access token
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Holded connection
In AgentKit > Connections, create a Holded connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'holded'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Holded:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'holded_accounting_accounts_list',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "holded"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Holded:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="holded_accounting_accounts_list",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user opens the link once and enters their Holded credentials there. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolholded_accounting_accounts_listList accounting accounts in Holded, optionally filtered by archived, start_date, end_date, include_empty, text.Read-onlyList Accounting Accounts
List accounting accounts in Holded, optionally filtered by archived, start_date, end_date, include_empty, text. Returns a page of records (fields include id, color, number, name, description, group) plus cursor and has_more for pagination. Use to browse or filter accounting accounts.
Inputs
archivedboolean- Include archived accounts when true. Example: true.
end_datestring- Filter accounts with activity up to this date (YYYY-MM-DD). Example: 2024-12-31.
include_emptyboolean- Include accounts with no transactions when true. Example: true.
start_datestring- Filter accounts with activity from this date (YYYY-MM-DD). Example: 2024-01-01.
textstring- Case-insensitive partial search on account name or number. Example: subscriptions.
holded_bank_account_getGet one bank account by ID with its full details.Read-onlyGet Bank Account
Get one bank account by ID with its full details. Returns id, name, type, currency, balance, iban, bic, and more. Use when you already have the bank account ID; use holded_bank_accounts_list to find IDs or filter. Needs the bank account ID from holded_bank_accounts_list.
Inputs
idstringrequired- Banking account identifier. Example: 507f1f77bcf86cd799439011.
holded_bank_accounts_listList bank accounts in Holded, optionally filtered by type, archived.Read-onlyList Bank Accounts
List bank accounts in Holded, optionally filtered by type, archived. Returns a page of records (fields include id, name, type, currency, balance, iban) plus cursor and has_more for pagination. Use to browse or filter bank accounts; use holded_bank_account_get for one record by ID.
Inputs
archivedboolean- Filter by archived state. `true` returns only archived accounts, `false` returns only active accounts. Omit to return both (default). Example: true.
cursorstring- Opaque cursor for pagination. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of banking accounts to return per page. Example: 25.
typestring- Filter banking accounts by account type. Allowed values: `bank` (bank account), `card` (credit or debit card), `gateway` (payment gateway such as Stripe or PayPal), `cash` (cash register / petty cash). Example: bank.one of
bankcardgatewaycash
holded_bank_movements_listList the raw bank statement movements of a bank account, with amount, balance after movement, value date and reconciliation status.Read-onlyList Bank Movements
List the raw bank statement movements of a bank account, with amount, balance after movement, value date and reconciliation status. Returns a page of records (fields include id, banking_account_id, description, note, amount, currency) plus cursor and has_more for pagination. Use for reconciliation and cash-flow analysis; use holded_payments_list for payments linked to documents. Needs the bank account ID from holded_bank_accounts_list.
Inputs
idstringrequired- Banking account identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Opaque cursor returned by the previous page. Example: eyJwYWdlIjoyfQ.
end_datestring- Inclusive upper bound on the movement value date (ISO 8601 date or date-time). Example: 2026-01-31.
limitinteger- Maximum number of movements per page. Defaults to 50, maximum 200. Example: 25.
start_datestring- Inclusive lower bound on the movement value date (ISO 8601 date or date-time). Example: 2026-01-01.
statusarray- Reconciliation statuses to filter by: 'pending' (not reconciled), 'reconciled' (fully matched), 'partial' (partially matched), 'forced_reconciled' (manually marked). Example: ["pending"].
holded_cash_movements_listList the cash movements of a bank or cash account.Read-onlyList Cash Movements
List the cash movements of a bank or cash account. Returns a page of records (fields include id, bankingAccountId, date, description, amount, currency) plus cursor and has_more for pagination. Use for cash-type accounts, which have no bank movements; use holded_bank_movements_list for bank-fed accounts. Needs the bank account ID from holded_bank_accounts_list.
Inputs
idstringrequired- Banking account identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Opaque cursor returned by the previous page. Example: eyJwYWdlIjoyfQ.
end_datestring- Inclusive upper bound on the movement accounting date (ISO 8601 date or date-time). Example: 2026-01-31.
limitinteger- Maximum number of movements per page. Defaults to 50, maximum 200. Example: 25.
start_datestring- Inclusive lower bound on the movement accounting date (ISO 8601 date or date-time). Example: 2026-01-01.
holded_contact_getGet one contact by ID with its full details.Read-onlyGet Contact
Get one contact by ID with its full details. Returns id, custom_id, name, code, vat_number, trade_name, is_person, and more. Use when you already have the contact ID; use holded_contacts_list to find IDs or filter. Needs the contact ID from holded_contacts_list.
Inputs
contact_idstringrequired- Contact ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_contact_group_getGet one contact group by ID with its full details.Read-onlyGet Contact Group
Get one contact group by ID with its full details. Returns id, name, description, color. Use when you already have the contact group ID; use holded_contact_groups_list to find IDs or filter. Needs the contact group ID from holded_contact_groups_list.
Inputs
contact_group_idstringrequired- Contact Group ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_contact_groups_listList contact groups in Holded.Read-onlyList Contact Groups
List contact groups in Holded. Returns a page of records (fields include id, name, description, color) plus cursor and has_more for pagination. Use to browse or filter contact groups; use holded_contact_group_get for one record by ID.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
holded_contacts_listList contacts in Holded, optionally filtered by phone, mobile, email, custom_id, code.Read-onlyList Contacts
List contacts in Holded, optionally filtered by phone, mobile, email, custom_id, code. Returns a page of records (fields include id, custom_id, name, code, vat_number, trade_name) plus cursor and has_more for pagination. Use to browse or filter contacts; use holded_contact_get for one record by ID.
Inputs
codestring- Filter contacts by exact tax identification number (NIF/CIF). Example: B12345678.
cursorstring- Opaque cursor for pagination. Use the value returned in the previous response to fetch the next page. Example: eyJwYWdlIjoyfQ.
custom_idstring- Filter contacts by your external reference identifier. Example: 507f1f77bcf86cd799439011.
emailstring- Filter contacts by exact email address match. Example: billing@example.com.
limitinteger- Maximum number of contacts to return per page. Defaults to 25, maximum 100. Example: 25.
mobilestring- Filter contacts by exact mobile number match. Example: +34600000000.
phonestring- Filter contacts by exact phone number match. Example: +34910000000.
holded_contacts_searchSearch Holded contacts by name using prefix (autocomplete-style) matching.Read-onlySearch Contacts
Search Holded contacts by name using prefix (autocomplete-style) matching. Returns a page of records (fields include id, custom_id, name, code, vat_number, trade_name) plus cursor and has_more for pagination. Use for finding a contact from part of its name; use holded_contacts_list to browse or filter by other fields.
Inputs
namestringrequired- Search term matched against the contact `name` field (prefix matching, case- and diacritic-insensitive). Example: Acme Corp.
cursorstring- Opaque cursor for pagination. Use the value returned in the previous response to fetch the next page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of contacts to return per page. Defaults to 25, maximum 100. Example: 25.
holded_credit_note_getGet one sales credit note by ID with its full details.Read-onlyGet Sales Credit Note
Get one sales credit note by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the sales credit note ID; use holded_credit_notes_list to find IDs or filter. Needs the sales credit note ID from holded_credit_notes_list.
Inputs
credit_note_idstringrequired- Credit Note ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_credit_notes_listList sales credit notes in Holded, optionally filtered by contact_id, status, start_date, end_date, sort, and more.Read-onlyList Sales Credit Notes
List sales credit notes in Holded, optionally filtered by contact_id, status, start_date, end_date, sort, and more. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter sales credit notes; use holded_credit_note_get for one record by ID.
Inputs
approval_statusstring- Filter by approval status. Use "draft" for unapproved credit notes, "approved" for approved ones. Example: draft.one of
draftapproved contact_idstring- Filter credit notes by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Return only credit notes issued on or before this date. Accepts ISO 8601 datetime (e.g. 2026-12-31T23:59:59+00:00) or date only (e.g. 2026-12-31). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent.
limitinteger- Maximum number of credit notes to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort order for results. Prefix with - for descending. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Return only credit notes issued on or after this date. Accepts ISO 8601 datetime (e.g. 2026-01-01T00:00:00+00:00) or date only (e.g. 2026-01-01).
statusstring- Filter credit notes by payment status. "pending" matches credit notes with no payment recorded and "partial" those paid in part; both still owe a balance. "outstanding" returns the two together, and "overdue" narrows that set to a due date already past. Allowed values: pending, completed, partial, cancelled, failed, overdue, outstanding. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdueoutstanding
holded_employee_getGet one employee by ID with its full details.Read-onlyGet Employee
Get one employee by ID with its full details. Returns id, holded_user_id, name, last_name, full_name, date_of_birth, nationality, and more. Use when you already have the employee ID; use holded_employees_list to find IDs or filter. Needs the employee ID from holded_employees_list.
Inputs
employee_idstringrequired- Employee ID. Example: 507f1f77bcf86cd799439011.
holded_employees_listList employees in the account.Read-onlyList Employees
List employees in the account. Returns a page of records (fields include id, holded_user_id, name, last_name, full_name, date_of_birth) plus cursor and has_more for pagination. Use to browse the team; use holded_employee_get for one employee's details.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
searchstring- Server-side free-text filter over name, surname, email and code, ignoring case and accents (e.g. "pablo diaz" matches "Pablo Díaz"). ALWAYS use this parameter to resolve an employee the user named — pass the user's exact text. Do NOT filter by name yourself client-side (jmespath/contains): that only sees the current page and cannot fold accents, so it misses matches and picks the wrong person. This search scans ALL employees and returns every match; if more than one comes back, present them and let the user choose.
holded_estimate_getGet one estimate by ID with its full details.Read-onlyGet Estimate
Get one estimate by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the estimate ID; use holded_estimates_list to find IDs or filter. Needs the estimate ID from holded_estimates_list.
Inputs
estimate_idstringrequired- Estimate ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_estimates_listList estimates in Holded, optionally filtered by contact_id, status, billing_status, start_date, end_date, and more.Read-onlyList Estimates
List estimates in Holded, optionally filtered by contact_id, status, billing_status, start_date, end_date, and more. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter estimates; use holded_estimate_get for one record by ID.
Inputs
approval_statusstring- Filter by approval status. Use "draft" for unapproved estimates, "approved" for approved ones. Example: draft.one of
draftapproved billing_statusstring- Filter estimates by their invoicing status (the **Billed** column in Sales > Quotes). Independent of `status`. Allowed values: pending, paid, partial. Example: pending.one of
pendingpaidpartial contact_idstring- Filter estimates by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Filter up to this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent. Example: 2026-12-31T23:59:59+00:00.
limitinteger- Maximum number of estimates to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort order for results. Prefix with - for descending. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Filter from this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). Example: 2026-01-01T00:00:00+00:00.
statusstring- Filter estimates by the customer's decision on the quote: "completed" is shown as **Accepted** in the app, "failed" as **Rejected**, "pending" as awaiting an answer. Independent of `billing_status`. Allowed values: pending, completed, partial, cancelled, failed, overdue. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdue
holded_event_getGet one calendar event by ID with its full details.Read-onlyGet Calendar Event
Get one calendar event by ID with its full details. Returns id, name, contact_id, contact_name, kind, description, start_date, and more. Use when you already have the calendar event ID; use holded_events_list to find IDs or filter. Needs the calendar event ID from holded_events_list.
Inputs
event_idstringrequired- Event ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_events_listList calendar events in Holded.Read-onlyList Calendar Events
List calendar events in Holded. Returns a page of records (fields include id, name, contact_id, contact_name, kind, description) plus cursor and has_more for pagination. Use to browse or filter calendar events; use holded_event_get for one record by ID.
Inputs
cursorstring- Pagination cursor from a previous response. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
holded_funnel_getGet one sales funnel by ID with its full details.Read-onlyGet Sales Funnel
Get one sales funnel by ID with its full details. Returns id, name, stages, labels, created_at, updated_at. Use when you already have the sales funnel ID; use holded_funnels_list to find IDs or filter. Needs the sales funnel ID from holded_funnels_list.
Inputs
funnel_idstringrequired- Funnel ID. Example: 507f1f77bcf86cd799439011.
holded_funnels_listList sales funnels in Holded.Read-onlyList Sales Funnels
List sales funnels in Holded. Returns a page of records (fields include id, name, stages, labels, created_at, updated_at) plus cursor and has_more for pagination. Use to browse or filter sales funnels; use holded_funnel_get for one record by ID.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
holded_invoice_getGet one sales invoice by ID with its full details.Read-onlyGet Sales Invoice
Get one sales invoice by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the sales invoice ID; use holded_invoices_list to find IDs or filter. Needs the sales invoice ID from holded_invoices_list.
Inputs
invoice_idstringrequired- Invoice ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_invoices_find_by_numberFind sales invoices by their document number.Read-onlyFind Invoices by Number
Find sales invoices by their document number. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use when you know the invoice number (for example INV-0001); use holded_invoices_list to filter by contact, status or dates.
Inputs
document_numberstringrequired- Document number to look up. Supports prefixes (e.g. `F260`) and tolerates minor typos.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of invoices to return per page. Example: 25.
holded_invoices_listList sales invoices in Holded, optionally filtered by contact_id, status, start_date, end_date, due_date_start, and more.Read-onlyList Sales Invoices
List sales invoices in Holded, optionally filtered by contact_id, status, start_date, end_date, due_date_start, and more. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter sales invoices; use holded_invoice_get for one record by ID.
Inputs
accounting_account_numinteger- Filter invoices that have at least one line booked to this accounting account, identified by its numeric PGC code (e.g. 70000000 for "Ventas de mercaderias"). Only the numeric code is accepted; a non-numeric value returns 400. Returns 404 if no accounting account with that number exists in the tenant. When called through the AI assistant, an account name is resolved to its code automatically before the request reaches this endpoint.
approval_statusstring- Filter by approval status. Use "draft" for unapproved invoices, "approved" for approved ones. Example: draft.one of
draftapproved contact_idstring- Filter invoices by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
due_date_endstring- Filter invoices whose DUE date is on or before this date. Accepts ISO 8601 datetime or date only (e.g. 2026-03-12). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent.
due_date_startstring- Filter invoices whose DUE date is on or after this date. Accepts ISO 8601 datetime or date only (e.g. 2026-01-01).
end_datestring- Filter invoices up to this date. Accepts ISO 8601 datetime (e.g. 2026-12-31T23:59:59+00:00) or date only (e.g. 2026-12-31). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent.
limitinteger- Maximum number of invoices to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort order for results. Prefix with - for descending. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Filter invoices from this date. Accepts ISO 8601 datetime (e.g. 2026-01-01T00:00:00+00:00) or date only (e.g. 2026-01-01).
statusstring- Filter invoices by payment status. "pending" matches invoices with no payment recorded and "partial" those collected in part; both still owe a balance. "outstanding" returns the two together, "overdue" narrows that set to a due date already past, and "completed" returns the settled ones. Allowed values: pending, completed, partial, cancelled, failed, overdue, outstanding. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdueoutstanding
holded_lead_getGet one lead by ID with its full details.Read-onlyGet Lead
Get one lead by ID with its full details. Returns id, user_id, created_by, assigned_to, funnel_id, contact_id, contact_name, and more. Use when you already have the lead ID; use holded_leads_list to find IDs or filter. Needs the lead ID from holded_leads_list.
Inputs
lead_idstringrequired- Lead ID. Example: 507f1f77bcf86cd799439011.
holded_leads_listList leads in Holded.Read-onlyList Leads
List leads in Holded. Returns a page of records (fields include id, user_id, created_by, assigned_to, funnel_id, contact_id) plus cursor and has_more for pagination. Use to browse or filter leads; use holded_lead_get for one record by ID.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
holded_ledger_entries_listList ledger entries in Holded, optionally filtered by start_date, end_date, account.Read-onlyList Ledger Entries
List ledger entries in Holded, optionally filtered by start_date, end_date, account. Returns a page of records (fields include id, entry_number, line, date, type, description) plus cursor and has_more for pagination. Use to browse or filter ledger entries; use holded_ledger_entry_get for one record by ID.
Inputs
end_datestringrequired- Filter entries up to this date. Example: 2026-12-31.
start_datestringrequired- Filter entries from this date onward. Example: 2026-01-01.
accountinteger- Filter entries by accounting account number (e.g. 70500001). Returns only entries posted to this exact account.
cursorstring- Opaque cursor for pagination. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of ledger entries to return per page. Defaults to 50, maximum 200. Example: 25.
holded_ledger_entry_getGet one ledger entry by ID with its full details.Read-onlyGet Ledger Entry
Get one ledger entry by ID with its full details. Returns id, date, type, entry_number, doc_description, notes, contact_id, and more. Use when you already have the ledger entry ID; use holded_ledger_entries_list to find IDs or filter. Needs the ledger entry ID from holded_ledger_entries_list.
Inputs
ledger_entry_idstringrequired- Ledger entry ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_payment_getGet one payment by ID with its full details.Read-onlyGet Payment
Get one payment by ID with its full details. Returns id, bank_account_id, contact_id, contact_name, amount, description, date, and more. Use when you already have the payment ID; use holded_payments_list to find IDs or filter. Needs the payment ID from holded_payments_list.
Inputs
payment_idstringrequired- Payment ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_payment_method_getGet one payment method by ID with its full details.Read-onlyGet Payment Method
Get one payment method by ID with its full details. Returns id, name, type, status, isDefault, bankingAccountId, dueDays, and more. Use when you already have the payment method ID; use holded_payment_methods_list to find IDs or filter. Needs the payment method ID from holded_payment_methods_list.
Inputs
payment_method_idstringrequired- Payment method identifier. Example: 507f1f77bcf86cd799439011.
holded_payment_methods_listList payment methods in Holded.Read-onlyList Payment Methods
List payment methods in Holded. Returns a page of records (fields include id, name, type, status, isDefault, bankingAccountId) plus cursor and has_more for pagination. Use to browse or filter payment methods; use holded_payment_method_get for one record by ID.
Inputs
cursorstring- Opaque cursor for pagination. Pass the value returned in the previous response to fetch the next page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of payment methods to return per page. Defaults to 50, maximum 200. Example: 25.
holded_payments_listList payments in Holded, optionally filtered by start_date, end_date, document_id, document_type, banking_account_id.Read-onlyList Payments
List payments in Holded, optionally filtered by start_date, end_date, document_id, document_type, banking_account_id. Returns a page of records (fields include id, bank_account_id, contact_id, contact_name, amount, description) plus cursor and has_more for pagination. Use to browse or filter payments; use holded_payment_get for one record by ID.
Inputs
banking_account_idstring- Filter payments linked to this banking account. Example: 507f1f77bcf86cd799439011.
cursorstring- Opaque cursor for pagination. Example: eyJwYWdlIjoyfQ.
document_idstring- Filter payments linked to this document. Combine with document_type to match a specific document. Example: 507f1f77bcf86cd799439011.
document_typestring- Filter payments by document type. Can be used alone, or combined with document_id to match a specific document. Example: invoice.
end_datestring- Filter payments up to this date. Accepts ISO 8601 datetime (e.g. 2024-12-31T23:59:59+00:00) or date only (e.g. 2024-12-31).
limitinteger- Maximum number of payments to return per page. Example: 25.
start_datestring- Filter payments from this date onward. Accepts ISO 8601 datetime (e.g. 2024-01-01T00:00:00+00:00) or date only (e.g. 2024-01-01).
holded_price_list_getGet one price list by ID with its full details.Read-onlyGet Price List
Get one price list by ID with its full details. Returns id, name, description. Use when you already have the price list ID; use holded_price_lists_list to find IDs or filter. Needs the price list ID from holded_price_lists_list.
Inputs
price_list_idstringrequired- Price List ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_price_lists_listList price lists in Holded.Read-onlyList Price Lists
List price lists in Holded. Returns a page of records (fields include id, name, description) plus cursor and has_more for pagination. Use to browse or filter price lists; use holded_price_list_get for one record by ID.
Inputs
This tool takes no inputs.
holded_product_getGet one product by ID with its full details.Read-onlyGet Product
Get one product by ID with its full details. Returns id, kind, name, description, type_id, price, taxes, and more. Use when you already have the product ID; use holded_products_list to find IDs or filter. Needs the product ID from holded_products_list.
Inputs
product_idstringrequired- Product ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_product_stock_getGet the stock levels of a product, in total and per warehouse.Read-onlyGet Product Stock
Get the stock levels of a product, in total and per warehouse. Returns product_id, has_stock, total, available, reserved, in_transit, warehouses, and more. Use to check availability; use holded_warehouse_stock_get to see all products held in one warehouse. Needs the product ID from holded_products_list.
Inputs
product_idstringrequired- Product ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_products_listList products in Holded, optionally filtered by name.Read-onlyList Products
List products in Holded, optionally filtered by name. Returns a page of records (fields include id, kind, name, description, type_id, price) plus cursor and has_more for pagination. Use to browse or filter products; use holded_product_get for one record by ID.
Inputs
cursorstring- Opaque cursor for pagination. Example: eyJwYWdlIjoyfQ.
limitinteger- Number of products per page. Defaults to 50, maximum 200. Example: 25.
namestring- Search products by name across your whole catalog. Optional. Example: Acme Corp.
holded_proforma_getGet one proforma invoice by ID with its full details.Read-onlyGet Proforma
Get one proforma invoice by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the proforma invoice ID; use holded_proformas_list to find IDs or filter. Needs the proforma invoice ID from holded_proformas_list.
Inputs
proforma_idstringrequired- Proforma ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_proformas_listList proforma invoices in Holded, optionally filtered by contact_id, status, start_date, end_date, sort.Read-onlyList Proformas
List proforma invoices in Holded, optionally filtered by contact_id, status, start_date, end_date, sort. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter proforma invoices; use holded_proforma_get for one record by ID.
Inputs
contact_idstring- Filter proformas by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Filter up to this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent. Example: 2026-12-31T23:59:59+00:00.
limitinteger- Maximum number of proformas to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort order for results. Prefix with - for descending. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Filter from this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). Example: 2026-01-01T00:00:00+00:00.
statusstring- Filter proformas by status. Allowed values: pending, completed, partial, cancelled, failed, overdue. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdue
holded_project_getGet one project by ID with its full details.Read-onlyGet Project
Get one project by ID with its full details. Returns id, name, description, type, icon, color, key, and more. Use when you already have the project ID; use holded_projects_list to find IDs or filter. Needs the project ID from holded_projects_list.
Inputs
project_idstringrequired- Project ID. Example: 507f1f77bcf86cd799439011.
holded_project_summary_getGet the summary of a project by its ID.Read-onlyGet Project Summary
Get the summary of a project by its ID. Returns an empty success response. Use for a quick project overview; use holded_project_get for its full details. Needs the project ID from holded_projects_list.
Inputs
project_idstringrequired- Project ID. Example: 507f1f77bcf86cd799439011.
holded_project_time_entries_listList the time tracking entries of one project.Read-onlyList Project Time Entries
List the time tracking entries of one project. Returns a page of records (fields include id, duration, user_name, description, cost_per_hour, user_id) plus cursor and has_more for pagination. Use for one project's logged hours; use holded_project_times_list for all projects. Needs the project ID from holded_projects_list.
Inputs
project_idstringrequired- Project ID. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
endDatestring- Filter entries on or before this date (ISO 8601, YYYY-MM-DD). Example: 2025-12-31.
limitinteger- Maximum number of items to return. Example: 25.
startDatestring- Filter entries on or after this date (ISO 8601, YYYY-MM-DD). Example: 2025-01-01.
holded_project_times_listList time tracking entries across all projects.Read-onlyList All Project Time Entries
List time tracking entries across all projects. Returns a page of records (fields include id, duration, user_name, description, cost_per_hour, user_id) plus cursor and has_more for pagination. Use for account-wide time reports; use holded_project_time_entries_list for a single project.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
holded_projects_listList projects in Holded, optionally filtered by status.Read-onlyList Projects
List projects in Holded, optionally filtered by status. Returns a page of records (fields include id, name, description, type, icon, color) plus cursor and has_more for pagination. Use to browse or filter projects; use holded_project_get for one record by ID.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
statusstring- Filter projects by status. Use "active" or "in_progress" to retrieve only active/in-progress projects. Allowed values: active, in_progress, completed, cancelled, waiting, budgeted. Example: active.one of
activein_progresscompletedcancelledwaitingbudgeted
holded_purchase_getGet one purchase invoice by ID with its full details.Read-onlyGet Purchase Invoice
Get one purchase invoice by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the purchase invoice ID; use holded_purchases_list to find IDs or filter. Needs the purchase invoice ID from holded_purchases_list.
Inputs
purchase_idstringrequired- Purchase ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_purchase_order_getGet one purchase order by ID with its full details.Read-onlyGet Purchase Order
Get one purchase order by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the purchase order ID; use holded_purchase_orders_list to find IDs or filter. Needs the purchase order ID from holded_purchase_orders_list.
Inputs
purchase_order_idstringrequired- Purchase Order ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_purchase_orders_listList purchase orders in Holded, optionally filtered by contact_id, status, start_date, end_date, sort.Read-onlyList Purchase Orders
List purchase orders in Holded, optionally filtered by contact_id, status, start_date, end_date, sort. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter purchase orders; use holded_purchase_order_get for one record by ID.
Inputs
contact_idstring- Filter by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Return only purchase orders issued on or before this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent. Example: 2026-12-31T23:59:59+00:00.
limitinteger- Maximum number of purchase orders to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort field and direction. Prefix with - for descending order. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Return only purchase orders issued on or after this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). Example: 2026-01-01T00:00:00+00:00.
statusstring- Filter by payment status. Allowed values: pending, completed, partial, cancelled, failed, overdue. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdue
holded_purchases_listList purchase invoices in Holded, optionally filtered by contact_id, status, start_date, end_date, due_date_start, and more.Read-onlyList Purchase Invoices
List purchase invoices in Holded, optionally filtered by contact_id, status, start_date, end_date, due_date_start, and more. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter purchase invoices; use holded_purchase_get for one record by ID.
Inputs
approval_statusstring- Filter by approval status. Use "draft" for unapproved purchases, "approved" for approved ones. Example: draft.one of
draftapproved contact_idstring- Filter by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
due_date_endstring- Return only purchases whose DUE date is on or before this date. Combine with status=pending to list overdue purchases (set this to the cut-off date). Accepts ISO 8601 datetime or date only (YYYY-MM-DD). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent. Example: 2026-03-12.
due_date_startstring- Return only purchases whose DUE date is on or after this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). Example: 2026-01-01T00:00:00+00:00.
end_datestring- Return only purchases issued on or before this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent. Example: 2026-12-31T23:59:59+00:00.
limitinteger- Maximum number of purchases to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort field and direction. Prefix with - for descending order. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Return only purchases issued on or after this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). Example: 2026-01-01T00:00:00+00:00.
statusstring- Filter by payment status. "pending" matches purchases with no payment recorded and "partial" those paid in part; both still owe a balance. "outstanding" returns the two together, "overdue" narrows that set to a due date already past, and "completed" returns the settled ones. Allowed values: pending, completed, partial, cancelled, failed, overdue, outstanding. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdueoutstanding
holded_remittance_getGet one remittance by ID with its full details.Read-onlyGet Remittance
Get one remittance by ID with its full details. Returns id, type, treasury_id, description, date, mode, iban, and more. Use when you already have the remittance ID; use holded_remittances_list to find IDs or filter. Needs the remittance ID from holded_remittances_list.
Inputs
remittance_idstringrequired- Remittance ID. Example: 507f1f77bcf86cd799439011.
holded_remittances_listList remittances in Holded, optionally filtered by type, status, start_date, end_date, bank_id, and more.Read-onlyList Remittances
List remittances in Holded, optionally filtered by type, status, start_date, end_date, bank_id, and more. Returns a page of records (fields include id, type, treasury_id, description, date, mode) plus cursor and has_more for pagination. Use to browse or filter remittances; use holded_remittance_get for one record by ID.
Inputs
bank_idstring- Filter by treasury bank account identifier. Example: 507f1f77bcf86cd799439011.
creditor_ibanstring- Filter by creditor IBAN. Example: ES9121000418450200051332.
creditor_idstring- Filter by SEPA creditor identifier. Example: 507f1f77bcf86cd799439011.
creditor_swiftstring- Filter by creditor SWIFT/BIC code (8 or 11 alphanumeric characters). Example: CAIXESBB.
cursorstring- Opaque cursor for pagination. Example: eyJwYWdlIjoyfQ.
end_datestring- Inclusive upper bound on the remittance date (ISO 8601 date, e.g. 2026-12-31).
issuer_idstring- Filter by issuer identifier. Example: 507f1f77bcf86cd799439011.
limitinteger- Maximum number of remittances to return per page. Defaults to 25, maximum 100. Example: 25.
start_datestring- Inclusive lower bound on the remittance date (ISO 8601 date, e.g. 2026-01-01).
statusstring- Filter by processing status. Allowed values: pending, completed, processing. Example: pending.one of
pendingcompletedprocessing typestring- Filter by remittance direction. `inbound` returns collection remittances received from customers. `outbound` returns payment remittances issued to suppliers. Example: inbound.one of
inboundoutbound
holded_sales_channels_listList sales channels in Holded.Read-onlyList Sales Channels
List sales channels in Holded. Returns a page of records (fields include id, name, color, account_num, archived, description) plus cursor and has_more for pagination. Use to browse or filter sales channels.
Inputs
This tool takes no inputs.
holded_sales_order_getGet one sales order by ID with its full details.Read-onlyGet Sales Order
Get one sales order by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the sales order ID; use holded_sales_orders_list to find IDs or filter. Needs the sales order ID from holded_sales_orders_list.
Inputs
sales_order_idstringrequired- Sales Order ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_sales_orders_listList sales orders in Holded, optionally filtered by contact_id, status, start_date, end_date, sort.Read-onlyList Sales Orders
List sales orders in Holded, optionally filtered by contact_id, status, start_date, end_date, sort. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter sales orders; use holded_sales_order_get for one record by ID.
Inputs
contact_idstring- Filter by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Filter up to this date. Accepts ISO 8601 datetime (e.g. 2026-12-31T23:59:59+00:00) or date only (e.g. 2026-12-31). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent.
limitinteger- Maximum number of sales orders to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort field and direction. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Filter from this date. Accepts ISO 8601 datetime (e.g. 2026-01-01T00:00:00+00:00) or date only (e.g. 2026-01-01).
statusstring- Filter by sales order status. Allowed values: pending, completed, partial, cancelled, failed, overdue. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdue
holded_sales_receipt_getGet one sales receipt by ID with its full details.Read-onlyGet Sales Receipt
Get one sales receipt by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the sales receipt ID; use holded_sales_receipts_list to find IDs or filter. Needs the sales receipt ID from holded_sales_receipts_list.
Inputs
sales_receipt_idstringrequired- Sales Receipt ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_sales_receipts_listList sales receipts in Holded, optionally filtered by contact_id, status, start_date, end_date, sort, and more.Read-onlyList Sales Receipts
List sales receipts in Holded, optionally filtered by contact_id, status, start_date, end_date, sort, and more. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter sales receipts; use holded_sales_receipt_get for one record by ID.
Inputs
approval_statusstring- Filter by approval status. Use "draft" for unapproved sales receipts, "approved" for approved ones. Example: draft.one of
draftapproved contact_idstring- Filter by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Filter up to this date. Accepts ISO 8601 datetime (e.g. 2026-12-31T23:59:59+00:00) or date only (e.g. 2026-12-31). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent.
limitinteger- Maximum number of sales receipts to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort field and direction. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Filter from this date. Accepts ISO 8601 datetime (e.g. 2026-01-01T00:00:00+00:00) or date only (e.g. 2026-01-01).
statusstring- Filter by sales receipt status. "pending" matches sales receipts with no payment recorded and "partial" those paid in part; both still owe a balance. "outstanding" returns the two together, and "overdue" narrows that set to a due date already past. Allowed values: pending, completed, partial, cancelled, failed, overdue, outstanding. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdueoutstanding
holded_service_getGet one service by ID with its full details.Read-onlyGet Service
Get one service by ID with its full details. Returns id, name, code, description, price, cost, tags, and more. Use when you already have the service ID; use holded_services_list to find IDs or filter. Needs the service ID from holded_services_list.
Inputs
service_idstringrequired- Service ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_services_listList services in Holded, optionally filtered by include_archived.Read-onlyList Services
List services in Holded, optionally filtered by include_archived. Returns a page of records (fields include id, name, code, description, price, cost) plus cursor and has_more for pagination. Use to browse or filter services; use holded_service_get for one record by ID.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
include_archivedboolean- Whether to include archived services in the results. Example: true.
limitinteger- Maximum number of services to return per page. Defaults to 25, maximum 100. Example: 25.
holded_task_getGet one task by ID with its full details.Read-onlyGet Task
Get one task by ID with its full details. Returns id, project_id, list_id, name, description, index, status, and more. Use when you already have the task ID; use holded_tasks_list to find IDs or filter. Needs the task ID from holded_tasks_list.
Inputs
task_idstringrequired- Task ID. Example: 507f1f77bcf86cd799439011.
holded_tasks_listList tasks in Holded.Read-onlyList Tasks
List tasks in Holded. Returns a page of records (fields include id, project_id, list_id, name, description, index) plus cursor and has_more for pagination. Use to browse or filter tasks; use holded_task_get for one record by ID.
Inputs
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
limitinteger- Maximum number of items to return. Example: 25.
holded_taxes_listList taxes in Holded.Read-onlyList Taxes
List taxes in Holded. Returns a page of records (fields include id, name, amount, scope, key, group) plus cursor and has_more for pagination. Use to browse or filter taxes.
Inputs
This tool takes no inputs.
holded_time_offs_listList time-off requests (holidays, absences, sick leave) across all employees within a start-date range.Read-onlyList Time-Off Requests
List time-off requests (holidays, absences, sick leave) across all employees within a start-date range. Returns a page of records (fields include id, employee_id, time_off_type_id, time_off_type_name, start_date, end_date) plus cursor and has_more for pagination. Use for team absence overviews; both start_date_from and start_date_to are required.
Inputs
start_date_fromstringrequired- Start date lower bound (YYYY-MM-DD). Example: 2026-01-01.
start_date_tostringrequired- Start date upper bound (YYYY-MM-DD). Example: 2026-12-31.
cursorstring- Cursor. Example: eyJwYWdlIjoyfQ.
limitinteger- Limit. Example: 50.
statusstring- Filter by status. Allowed values: pending, accepted, rejected, cancelled. Example: pending.one of
pendingacceptedrejectedcancelled team_idstring- Filter by team. Example: 507f1f77bcf86cd799439014.
time_off_type_idstring- Filter by absence / time off type (e.g. holiday, sick leave, vacation).
holded_warehouse_getGet one warehouse by ID with its full details.Read-onlyGet Warehouse
Get one warehouse by ID with its full details. Returns id, user_id, name, notes, email, phone, mobile, and more. Use when you already have the warehouse ID; use holded_warehouses_list to find IDs or filter. Needs the warehouse ID from holded_warehouses_list.
Inputs
warehouse_idstringrequired- Warehouse ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_warehouse_stock_getList the products and quantities stored in one warehouse.Read-onlyGet Warehouse Stock
List the products and quantities stored in one warehouse. Returns a page of records (fields include product_id, variant_id, stock) plus cursor and has_more for pagination. Use to audit a single warehouse; use holded_product_stock_get for one product across all warehouses. Needs the warehouse ID from holded_warehouses_list.
Inputs
warehouse_idstringrequired- Warehouse ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_warehouses_listList warehouses in Holded.Read-onlyList Warehouses
List warehouses in Holded. Returns a page of records (fields include id, user_id, name, notes, email, phone) plus cursor and has_more for pagination. Use to browse or filter warehouses; use holded_warehouse_get for one record by ID.
Inputs
This tool takes no inputs.
holded_waybill_getGet one waybill by ID with its full details.Read-onlyGet Waybill
Get one waybill by ID with its full details. Returns id, document_number, contact_id, contact_name, description, date, due_date, and more. Use when you already have the waybill ID; use holded_waybills_list to find IDs or filter. Needs the waybill ID from holded_waybills_list.
Inputs
waybill_idstringrequired- Waybill ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_waybills_listList waybills in Holded, optionally filtered by contact_id, status, start_date, end_date, sort.Read-onlyList Waybills
List waybills in Holded, optionally filtered by contact_id, status, start_date, end_date, sort. Returns a page of records (fields include id, document_number, contact_id, contact_name, description, date) plus cursor and has_more for pagination. Use to browse or filter waybills; use holded_waybill_get for one record by ID.
Inputs
contact_idstring- Filter by contact identifier. Example: 507f1f77bcf86cd799439011.
cursorstring- Pagination cursor returned by the previous response. Omit to start from the first page. Example: eyJwYWdlIjoyfQ.
end_datestring- Filter waybills issued on or before this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). A date without a time (YYYY-MM-DD) includes that whole day; a value with a time is applied exactly as sent. Example: 2026-12-31T23:59:59+00:00.
limitinteger- Maximum number of waybills to return per page. Defaults to 50, maximum 200. Example: 25.
sortstring- Sort order for results. Prefix with - for descending. Allowed values: date, -date, dueDate, -dueDate, total, -total. Example: date.one of
date-datedueDate-dueDatetotal-total start_datestring- Filter waybills issued on or after this date. Accepts ISO 8601 datetime or date only (YYYY-MM-DD). Example: 2026-01-01T00:00:00+00:00.
statusstring- Filter by waybill status. Allowed values: pending, completed, partial, cancelled, failed, overdue. Example: pending.one of
pendingcompletedpartialcancelledfailedoverdue
holded_accounting_account_createCreate an account in the chart of accounts, using a group prefix and optionally a specific number.WriteCreate Accounting Account
Create an account in the chart of accounts, using a group prefix and optionally a specific number. Returns the id of the affected record. Use to add ledger accounts; prefix is the 1-4 digit group code, not the full account number.
Inputs
namestringrequired- Display name for the accounting account. Example: Acme Corp.
prefixintegerrequired- Chart-of-accounts group code (1–4 digits). The full account number is auto-assigned within this group when `number` is absent. Must be 1–4 digits. Example: 4300.
colorstring- Hex color code for UI display. Example: blue.
descriptionstring- Optional description of the account purpose. Example: Consulting services for Q1.
numberinteger- Exact account number to assign (e.g. 70000013). Must start with `prefix`. When provided the number is used as-is and must be unique; otherwise the next available number in the group is assigned.
holded_contact_createCreate a contact in Holded.WriteCreate Contact
Create a contact in Holded. Returns the id of the affected record. Use to add a new contact; use the matching list tool first to avoid duplicates.
Inputs
namestringrequired- Contact full name or company name. Example: Acme Corp.
bill_addressobject- Billing address. Example: {"address": "Calle Mayor 1", "city": "Madrid", "postal_code": "28013", "country_code": "ES"}.
client_recordinteger- Number of the accounting account (chart of accounts) used when this contact acts as a client. Example: 430000.
codestring- Tax identification number (NIF, CIF, etc.). Example: B12345678.
custom_fieldsarray- User-defined custom fields. Example: [{"field": "Example field", "value": "5000"}].
defaultsobject- Default settings applied to documents created for this contact. Example: {"payment_method_id": "507f1f77bcf86cd799439011"}.
emailstring- Primary email address. Example: billing@example.com.
ibanstring- IBAN bank account number. Example: ES9121000418450200051332.
is_personboolean- True if the contact is an individual, false if a company. Example: true.
mobilestring- Mobile phone number. Example: +34600000000.
phonestring- Landline phone number. Example: +34910000000.
sepa_datestring- Date the SEPA direct debit mandate was signed. Example: 2026-01-15.
sepa_refstring- SEPA mandate reference for direct debit collections. Example: MANDATE-001.
supplier_recordinteger- Number of the accounting account (chart of accounts) used when this contact acts as a supplier. Example: 400000.
swiftstring- SWIFT/BIC code of the bank. Example: CAIXESBBXXX.
tagsarray- Tags attached to the contact. Example: ["priority","2026"].
trade_namestring- Commercial or trade name, if different from legal name. Example: Acme Corp.
typestring- Contact classification. Allowed values: client, debtor, supplier, creditor, lead. Example: client.one of
clientdebtorsuppliercreditorlead vat_numberstring- EU VAT number. Example: ESB12345678.
websitestring- Website URL. Example: https://www.example.com.
holded_contact_updateUpdate an existing contact; only the fields you pass are changed.WriteUpdate Contact
Update an existing contact; only the fields you pass are changed. Returns status. Use to edit a contact; use the create tool for new records. Needs the contact ID from holded_contacts_list.
- Idempotent
Inputs
contact_idstringrequired- Contact ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
namestringrequired- Contact full name or company name. Example: Acme Corp.
bill_addressobject- Billing address. Example: {"address": "Calle Mayor 1", "city": "Madrid", "postal_code": "28013", "country_code": "ES"}.
client_recordinteger- Number of the accounting account (chart of accounts) used when this contact acts as a client. Example: 430000.
codestring- Tax identification number (NIF, CIF, etc.). Example: B12345678.
contact_personsarray- Linked contact persons (by their contact ID). Example: [{"person_id": "507f1f77bcf86cd799439011"}].
custom_fieldsarray- User-defined custom fields. Example: [{"field": "Example field", "value": "5000"}].
defaultsobject- Default settings applied to documents created for this contact. Example: {"payment_method_id": "507f1f77bcf86cd799439011"}.
emailstring- Primary email address. Example: billing@example.com.
ibanstring- IBAN bank account number. Example: ES9121000418450200051332.
is_personboolean- True if the contact is an individual, false if a company. Example: true.
mobilestring- Mobile phone number. Example: +34600000000.
phonestring- Landline phone number. Example: +34910000000.
sepa_datestring- Date the SEPA direct debit mandate was signed. Example: 2026-01-15.
sepa_refstring- SEPA mandate reference for direct debit collections. Example: MANDATE-001.
supplier_recordinteger- Number of the accounting account (chart of accounts) used when this contact acts as a supplier. Example: 400000.
swiftstring- SWIFT/BIC code of the bank. Example: CAIXESBBXXX.
tagsarray- Tags attached to the contact. Example: ["priority","2026"].
trade_namestring- Commercial or trade name, if different from legal name. Example: Acme Corp.
typestring- Contact classification. Allowed values: client, debtor, supplier, creditor, lead. Example: client.one of
clientdebtorsuppliercreditorlead vat_numberstring- EU VAT number. Example: ESB12345678.
websitestring- Website URL. Example: https://www.example.com.
holded_credit_note_createCreate a sales credit note in Holded.WriteCreate Sales Credit Note
Create a sales credit note in Holded. Returns the id of the affected record. Use to create a new sales credit note for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
bodystring- Rich-text content printed on the credit note. Example: Thank you for your business..
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
payment_method_idstring- Identifier of the default payment method. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
holded_document_convertConvert an existing document into a new document of another type, for example an estimate into an invoice.WriteConvert Document
Convert an existing document into a new document of another type, for example an estimate into an invoice. Returns the id of the affected record. Use to progress a document through the sales or purchase flow while keeping the link to its source; the source document is unchanged. Needs the source document ID from the matching list tool; not every type pair is supported.
Inputs
source_idstringrequired- Identifier of the source document. Example: 507f1f77bcf86cd799439011.
source_typestringrequired- Type of the source document to convert from. Allowed values: invoice, creditnote, estimate, salesorder, salesreceipt, purchase, order, proform, waybill. Example: invoice.one of
invoicecreditnoteestimatesalesordersalesreceiptpurchaseorderproformwaybill target_typestringrequired- Type of the target document to convert to. Allowed values: invoice, creditnote, estimate, salesorder, salesreceipt, purchase, order, proform, waybill. Example: invoice.one of
invoicecreditnoteestimatesalesordersalesreceiptpurchaseorderproformwaybill datestring- Issue date for the new document in ISO 8601 format. Example: 2024-01-15.
descriptionstring- Description for the new document. Example: Consulting services for Q1.
draftboolean- Whether to create the new document as a draft. Example: true.
due_datestring- Due date for the new document in ISO 8601 format. Example: 2024-02-15.
notesstring- Internal notes for the new document. Example: Payment due within 30 days.
number_line_idstring- Identifier of the numbering series to use. Example: 507f1f77bcf86cd799439011.
holded_estimate_acceptMark an estimate as accepted and record who accepted it.WriteAccept Estimate
Mark an estimate as accepted and record who accepted it. Returns an empty success response. Use when a customer accepts a quote; follow with holded_document_convert to turn it into an invoice or sales order. Needs the estimate ID from holded_estimates_list.
Inputs
estimate_idstringrequired- Estimate ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
commentstring- Optional comment from the client. Example: Approved by the client.
namestring- Name of the person accepting the estimate. Example: Acme Corp.
holded_estimate_createCreate a estimate in Holded.WriteCreate Estimate
Create a estimate in Holded. Returns the id of the affected record. Use to create a new estimate for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Expiry date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
payment_method_idstring- Identifier of the default payment method. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
show_totalboolean- Whether to show the total row in the PDF. Example: true.
tagsarray- Tags to attach. Example: ["priority","2026"].
tax_includedboolean- Whether prices are tax-included. Example: true.
holded_estimate_sendEmail an estimate to the recipient addresses you provide, using the account's email template.WriteSend Estimate by Email
Email an estimate to the recipient addresses you provide, using the account's email template. Returns an empty success response. Use to deliver a quote to a customer; omitted subject and message fall back to the account template. Needs the estimate ID from holded_estimates_list or holded_estimate_create.
Inputs
emailsarrayrequired- List of recipient email addresses. Example: ["billing@example.com"].
estimate_idstringrequired- Estimate ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
bccarray- List of BCC email addresses. Example: ["archive@example.com"].
ccarray- List of CC email addresses. Example: ["accounting@example.com"].
mail_template_idstring- Identifier of the email template to use. Example: 507f1f77bcf86cd799439011.
messagestring- Custom email body message. Example: Please find the document attached..
subjectstring- Custom email subject line. Example: Your invoice from Acme Corp.
holded_estimate_updateUpdate an existing estimate; only the fields you pass are changed.WriteUpdate Estimate
Update an existing estimate; only the fields you pass are changed. Returns the id of the affected record. Use to edit a estimate; use the create tool for new records. Needs the estimate ID from holded_estimates_list.
- Idempotent
Inputs
estimate_idstringrequired- Estimate ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
itemsarray- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
show_totalboolean- Whether to show the total row in the PDF. Example: true.
tax_includedboolean- Whether prices are tax-included. Example: true.
holded_event_createCreate a calendar event in Holded.WriteCreate Calendar Event
Create a calendar event in Holded. Returns the id of the affected record. Use to add a new calendar event; use the matching list tool first to avoid duplicates.
Inputs
namestringrequired- Event name. Example: Acme Corp.
start_datestringrequired- Start date and time of the event in local time, without timezone offset (e.g. 2026-04-01T09:00:00 for 9am). Date only also accepted (e.g. 2026-04-01).
contact_idstring- Associated contact ID. Example: 507f1f77bcf86cd799439011.
contact_namestring- Contact display name. Example: Acme Corp.
descriptionstring- Event description. Example: Consulting services for Q1.
durationinteger- Duration in seconds (used if end_date is not provided, default 3600). Example: 3600.
end_datestring- End date and time of the event in local time, without timezone offset (e.g. 2026-04-01T10:00:00 for 10am). Preferred over duration. Date only also accepted (e.g. 2026-04-01).
kindstring- Activity type key (e.g. call, meeting, task).
lead_idstring- Associated deal/lead ID. Example: 507f1f77bcf86cd799439011.
locationstring- Event location. Example: Madrid office.
participantsarray- List of participants/invitees to add to the event. Example: [{"email": "billing@example.com", "name": "Consulting services"}].
statusinteger- Event status (0 = pending, 1 = completed). Example: 1.
tagsarray- List of tag names. Example: ["priority","2026"].
user_idstring- Owner user ID. Example: 507f1f77bcf86cd799439011.
holded_invoice_approveApprove a sales invoice by setting its approval date.WriteApprove Sales Invoice
Approve a sales invoice by setting its approval date. Returns an empty success response. Use after creating a draft invoice; use holded_invoice_cancel to void one instead. Needs the invoice ID from holded_invoices_list or holded_invoice_create.
Inputs
invoice_idstringrequired- Invoice ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_invoice_cancelCancel (void) a sales invoice so it can no longer be edited or paid.WriteCancel Sales Invoice
Cancel (void) a sales invoice so it can no longer be edited or paid. Returns an empty success response. Use only when the user asks to cancel or void an invoice; the call fails with 422 if the invoice is already paid or voided. Needs the invoice ID from holded_invoices_list.
Inputs
invoice_idstringrequired- Invoice ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
holded_invoice_createCreate a sales invoice in Holded.WriteCreate Sales Invoice
Create a sales invoice in Holded. Returns the id of the affected record. Use to create a new sales invoice for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include in the invoice. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
bodystring- Rich-text content printed on the invoice. Example: Thank you for your business..
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate to apply when the currency differs from your account currency. Example: 1.08.
custom_fieldsarray- Custom field values to set on the invoice. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description of the invoice. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage to apply. Example: 10.
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code for the invoice. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
payment_method_idstring- Identifier of the default payment method. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach to the invoice. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse for stock movements. Example: 507f1f77bcf86cd799439011.
holded_invoice_payment_createRecord a payment against a sales invoice, reducing its pending balance.WriteRegister Invoice Payment
Record a payment against a sales invoice, reducing its pending balance. Returns an empty success response. Use to mark a full or partial payment received; use holded_payment_create for a standalone payment movement. Needs the invoice ID from holded_invoices_list.
Inputs
invoice_idstringrequired- Invoice ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
amountstring- Amount. Example: 100.00.
datestring- Payment date in ISO 8601 format. Example: 2026-01-15.
descriptionstring- Free-text description of the payment. Example: Consulting services for Q1.
treasury_idstring- Identifier of the treasury account. If omitted, the account default treasury is used. Example: 507f1f77bcf86cd799439011.
holded_invoice_sendEmail a sales invoice to the recipient addresses you provide, using the account's email template.WriteSend Sales Invoice by Email
Email a sales invoice to the recipient addresses you provide, using the account's email template. Returns an empty success response. Use to deliver an invoice to a customer; omitted subject and message fall back to the account template. Needs the invoice ID from holded_invoices_list or holded_invoice_create.
Inputs
emailsarrayrequired- List of recipient email addresses. Example: ["billing@example.com"].
invoice_idstringrequired- Invoice ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
bccarray- List of BCC email addresses. Example: ["archive@example.com"].
ccarray- List of CC email addresses. Example: ["accounting@example.com"].
mail_template_idstring- Identifier of the email template to use. Example: 507f1f77bcf86cd799439011.
messagestring- Custom email body message. Example: Please find the document attached..
subjectstring- Custom email subject line. Example: Your invoice from Acme Corp.
holded_invoice_updateUpdate an existing sales invoice; only the fields you pass are changed.WriteUpdate Sales Invoice
Update an existing sales invoice; only the fields you pass are changed. Returns the id of the affected record. Use to edit a sales invoice; use the create tool for new records. Needs the sales invoice ID from holded_invoices_list.
- Idempotent
Inputs
invoice_idstringrequired- Invoice ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
bodystring- Rich-text content printed on the invoice. Example: Thank you for your business..
contact_idstring- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate to apply when the currency differs from your account currency. Example: 1.08.
custom_fieldsarray- Custom field values to set on the invoice. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description of the invoice. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage to apply. Example: 10.
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
itemsarray- Line items to include in the invoice. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
languagestring- ISO 639-1 language code for the invoice. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
number_line_idstring- Identifier of the numbering series to use. Example: 507f1f77bcf86cd799439011.
payment_method_idstring- Identifier of the default payment method. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach to the invoice. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse for stock movements. Example: 507f1f77bcf86cd799439011.
holded_lead_createCreate a lead in a sales funnel.WriteCreate Lead
Create a lead in a sales funnel. Returns the id of the affected record. Use to register a new sales opportunity. Needs a funnel ID from holded_funnels_list.
Inputs
contact_idstringrequired- Contact ID. Example: 507f1f77bcf86cd799439011.
funnel_idstringrequired- Funnel ID. Example: 507f1f77bcf86cd799439011.
namestringrequired- Lead name. Example: Acme Corp.
assigned_tostring- Assigned user ID. Example: 507f1f77bcf86cd799439011.
custom_fieldsarray- Custom fields. Example: [{"field": "Industry", "value": "Software"}].
due_datestring- Due date (YYYY-MM-DD). Example: 2024-01-15.
potentialnumber- Deal potential. Example: 50.
stage_idstring- Stage ID. Example: 507f1f77bcf86cd799439011.
valuenumber- Deal value. Example: 5000.
holded_lead_note_createAdd a note to an existing lead.WriteCreate Lead Note
Add a note to an existing lead. Returns the id of the affected record. Use to log context on a lead; use holded_lead_get to read the lead. Needs the lead ID from holded_leads_list.
Inputs
descriptionstringrequired- Note body (required — the legacy note store rejects an empty description). Example: Consulting services for Q1.
lead_idstringrequired- Lead ID. Example: 507f1f77bcf86cd799439011.
titlestringrequired- Note title. Example: Follow-up call.
holded_lead_stage_updateMove a lead to another stage of its sales funnel.WriteUpdate Lead Stage
Move a lead to another stage of its sales funnel. Returns the id of the affected record. Use to progress a lead; use holded_lead_update to change other lead fields. Needs the lead ID from holded_leads_list and a stage ID from holded_funnel_get.
- Idempotent
Inputs
lead_idstringrequired- Lead ID. Example: 507f1f77bcf86cd799439011.
stage_idstringrequired- New stage ID. Example: 507f1f77bcf86cd799439011.
holded_lead_updateUpdate an existing lead; only the fields you pass are changed.WriteUpdate Lead
Update an existing lead; only the fields you pass are changed. Returns the id of the affected record. Use to edit a lead; use the create tool for new records. Needs the lead ID from holded_leads_list.
- Idempotent
Inputs
lead_idstringrequired- Lead ID. Example: 507f1f77bcf86cd799439011.
assigned_tostring- Assigned user ID. Example: 507f1f77bcf86cd799439011.
contact_idstring- Contact ID. Example: 507f1f77bcf86cd799439011.
custom_fieldsarray- Custom fields. Example: [{"field": "Industry", "value": "Software"}].
due_datestring- Due date (YYYY-MM-DD). Example: 2024-01-15.
funnel_idstring- Funnel ID. Example: 507f1f77bcf86cd799439011.
namestring- Lead name. Example: Acme Corp.
potentialnumber- Deal potential. Example: 50.
stage_idstring- Stage ID. Example: 507f1f77bcf86cd799439011.
statusstring- Lead status. Allowed values: open, won, lost. Example: open.one of
openwonlost valuenumber- Deal value. Example: 5000.
holded_ledger_entry_createCreate a manual ledger (journal) entry with debit and credit lines.WriteCreate Ledger Entry
Create a manual ledger (journal) entry with debit and credit lines. Returns the id of the affected record. Use for manual accounting adjustments; use holded_ledger_entries_list to review existing entries.
Inputs
datestringrequired- Ledger entry date in ISO 8601 format. Example: 2024-01-15.
linesarrayrequired- Lines. Example: [{"account": 70000000, "debit": "100.00", "credit": "0"}].
contact_idstring- Contact identifier linked to this entry. Example: 507f1f77bcf86cd799439011.
notesstring- Free-text notes for the ledger entry. Example: Payment due within 30 days.
holded_payment_createCreate a standalone payment movement: money paid out to a supplier or collected from a customer.WriteCreate Payment
Create a standalone payment movement: money paid out to a supplier or collected from a customer. Returns the id of the affected record. Use for payments not tied to one document; use holded_invoice_payment_create to pay a specific sales invoice. Optionally needs a bank account ID from holded_bank_accounts_list and a contact ID from holded_contacts_list.
Inputs
amountstringrequired- Absolute payment amount as decimal string (must be greater than zero). Example: 1500.50.
datestringrequired- Payment date in ISO 8601 format (YYYY-MM-DD). Example: 2026-05-13.
typestringrequired- Movement direction: "payment" for outgoing money, "collection" for incoming money. Example: payment.one of
paymentcollection bank_account_idstring- Treasury account identifier. Example: 507f1f77bcf86cd799439011.
contact_idstring- Contact identifier. Example: 507f1f77bcf86cd799439011.
descriptionstring- Payment description. Example: Consulting services for Q1.
holded_product_createCreate a product in Holded.WriteCreate Product
Create a product in Holded. Returns the id of the affected record. Use to add a new product; use the matching list tool first to avoid duplicates.
Inputs
for_purchasebooleanrequired- Whether the product is available for purchase. Example: true.
for_salebooleanrequired- Whether the product is available for sale. Example: true.
has_stockbooleanrequired- Whether stock tracking is enabled. Example: true.
kindstringrequired- Product kind: 'simple' for standard products, 'variants' for products with attributes (color/size), 'lots' for batch-tracked products, 'serialnumbers' for individually tracked products, 'pack' for product bundles. Example: simple.one of
simplelotspackvariantsserialnumbers namestringrequired- Product name. Example: Acme Corp.
barcodestring- Barcode value. Example: 8412345678901.
coststring- Unit cost price as a decimal string. Example: 49.99.
descriptionstring- Product description. Example: Consulting services for Q1.
exp_account_idstring- Expense/purchases accounting account identifier for this product. Example: 507f1f77bcf86cd799439011.
pack_itemsarray- Items included in this pack product. Example: [{"units": 1}].
pricestring- Unit sale price as a decimal string. Example: 99.95.
purchase_pricestring- Unit purchase price as a decimal string. Example: 20.00.
sales_channel_idstring- Sales channel identifier for this product. Example: 507f1f77bcf86cd799439011.
show_end_dateboolean- Show lot end date in documents. Only for LOTS products. Example: 2026-01-15.
show_start_dateboolean- Show lot start date in documents. Only for LOTS products. Example: 2026-01-15.
skustring- Stock keeping unit code. Example: SKU-1001.
stocknumber- Initial stock quantity. Example: 10.
tagsarray- List of tag names. Example: ["priority","2026"].
taxesarray- Tax keys applied to this product. Accepts the human tax name (e.g. "IVA 21%") or the internal key (e.g. "s_iva_21"); resolved automatically.
variantsarray- Variants of the product (for variants, lots and serial numbers product types). Example: [{"price": "100", "sku": "SKU-1001"}].
warehouse_idstring- Default warehouse identifier for this product. Example: 507f1f77bcf86cd799439011.
weightnumber- Weight in account default unit. Example: 1.5.
holded_product_stock_updateAdjust a product's stock in one warehouse by a positive or negative variation.WriteUpdate Product Stock
Adjust a product's stock in one warehouse by a positive or negative variation. Returns an empty success response. Use to correct or move inventory; the change is recorded as a stock movement. Needs the product ID from holded_products_list and a warehouse ID from holded_warehouses_list.
- Idempotent
Inputs
product_idstringrequired- Product ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
stock_variationnumberrequired- Stock quantity to add (positive) or remove (negative). Example: 5.
warehouse_idstringrequired- Warehouse ID. Example: 507f1f77bcf86cd799439011.
descriptionstring- Reason for stock change. Example: Consulting services for Q1.
variant_idstring- Variant ID (null for simple products). Example: 507f1f77bcf86cd799439011.
holded_product_updateUpdate an existing product; only the fields you pass are changed.WriteUpdate Product
Update an existing product; only the fields you pass are changed. Returns the id of the affected record. Use to edit a product; use the create tool for new records. Needs the product ID from holded_products_list.
- Idempotent
Inputs
archivedbooleanrequired- Whether the product is archived. Example: true.
for_purchasebooleanrequired- Whether the product is available for purchase. Example: true.
for_salebooleanrequired- Whether the product is available for sale. Example: true.
namestringrequired- Product name. Example: Acme Corp.
product_idstringrequired- Product ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
barcodestring- Barcode value. Example: 8412345678901.
coststring- Unit cost price as a decimal string. Example: 29.99.
descriptionstring- Product description. Example: Consulting services for Q1.
exp_account_idstring- Expense/purchases accounting account identifier for this product. Example: 507f1f77bcf86cd799439011.
pack_itemsarray- Items included in this pack product. Sending this field replaces all existing pack items. Example: [{"units": 1}].
pricestring- Unit sale price as a decimal string. Example: 49.99.
purchase_pricestring- Unit purchase price as a decimal string. Example: 19.99.
sales_channel_idstring- Sales channel identifier for this product. Example: 507f1f77bcf86cd799439011.
show_end_dateboolean- Show lot end date in documents. Only for LOTS products. Example: 2026-01-15.
show_start_dateboolean- Show lot start date in documents. Only for LOTS products. Example: 2026-01-15.
skustring- Stock keeping unit code. Example: SKU-1001.
tagsarray- List of tag names. Example: ["priority","2026"].
taxesarray- Tax keys applied to this product. Accepts the human tax name (e.g. "IVA 21%") or the internal key (e.g. "s_iva_21"); resolved automatically.
variantsarray- Variants of the product (for variants, lots and serial numbers product types). Sending this field replaces all existing variants. Example: [{"price": "100", "sku": "SKU-1001", "id": "507f1f77bcf86cd799439011"}].
warehouse_idstring- Default warehouse identifier for this product. Example: 507f1f77bcf86cd799439011.
weightnumber- Weight in account default unit. Example: 1.5.
holded_proforma_createCreate a proforma invoice in Holded.WriteCreate Proforma
Create a proforma invoice in Holded. Returns the id of the affected record. Use to create a new proforma invoice for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
holded_project_createCreate a project in Holded.WriteCreate Project
Create a project in Holded. Returns the id of the affected record. Use to add a new project; use the matching list tool first to avoid duplicates.
Inputs
namestringrequired- Project name. Example: Acme Corp.
contact_idstring- Contact ID. Example: 507f1f77bcf86cd799439011.
descriptionstring- Project description. Example: Consulting services for Q1.
due_datestring- Due date in ISO 8601. Example: 2026-01-15.
holded_project_time_createLog a time tracking entry on a project.WriteCreate Project Time Entry
Log a time tracking entry on a project. Returns the id of the affected record. Use to record hours worked against a project. Needs the project ID from holded_projects_list.
Inputs
durationintegerrequired- Duration in seconds. Example: 3600.
project_idstringrequired- Project ID. Example: 507f1f77bcf86cd799439011.
categorystring- Category. Example: Development.
cost_per_hourstring- Cost per hour. Example: 45.00.
datestring- Date in ISO 8601. Example: 2026-01-15.
descriptionstring- Description. Example: Consulting services for Q1.
task_idstring- Task ID. Example: 507f1f77bcf86cd799439011.
user_idstring- User id of the person whose time this is. Required on direct API calls; when omitted, the assistant resolves the acting user automatically. Set it explicitly to log time for another account team member. Example: 507f1f77bcf86cd799439011.
holded_project_updateUpdate an existing project; only the fields you pass are changed.WriteUpdate Project
Update an existing project; only the fields you pass are changed. Returns the id of the affected record. Use to edit a project; use the create tool for new records. Needs the project ID from holded_projects_list.
- Idempotent
Inputs
project_idstringrequired- Project ID. Example: 507f1f77bcf86cd799439011.
allow_notificationsboolean- Whether notifications are enabled. Example: true.
billableboolean- Whether the project is billable. Example: true.
contact_idstring- Contact ID. Example: 507f1f77bcf86cd799439011.
descriptionstring- Project description. Example: Consulting services for Q1.
due_datestring- Due date in ISO 8601. Example: 2026-01-15.
listsarray- Project lists. Example: [{"id": "507f1f77bcf86cd799439011", "key": "value", "name": "Consulting services"}].
namestring- Project name. Example: Acme Corp.
start_datestring- Start date in ISO 8601 format (YYYY-MM-DD). Example: 2026-01-01.
statusinteger- Project status (0–4). Example: 1.
tagsarray- List of tags. Example: ["priority","2026"].
holded_purchase_createCreate a purchase invoice in Holded.WriteCreate Purchase Invoice
Create a purchase invoice in Holded. Returns the id of the affected record. Use to create a new purchase invoice for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number (e.g. the supplier's invoice reference).
payment_method_idstring- Identifier of the default payment method. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
holded_purchase_order_createCreate a purchase order in Holded.WriteCreate Purchase Order
Create a purchase order in Holded. Returns the id of the affected record. Use to create a new purchase order for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number (e.g. the supplier's order reference).
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
holded_purchase_order_updateUpdate an existing purchase order; only the fields you pass are changed.WriteUpdate Purchase Order
Update an existing purchase order; only the fields you pass are changed. Returns the id of the affected record. Use to edit a purchase order; use the create tool for new records. Needs the purchase order ID from holded_purchase_orders_list.
- Idempotent
Inputs
purchase_order_idstringrequired- Purchase Order ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
itemsarray- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
numberstring- Custom document number (e.g. the supplier's order reference).
holded_purchase_payment_createRecord a payment against a purchase invoice, reducing its pending balance.WriteRegister Purchase Payment
Record a payment against a purchase invoice, reducing its pending balance. Returns the id of the affected record. Use to mark a supplier invoice as paid in full or in part; use holded_payment_create for a standalone payment movement. Needs the purchase invoice ID from holded_purchases_list.
Inputs
amountstringrequired- Payment amount. Example: 100.00.
purchase_idstringrequired- Purchase ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
datestring- Payment date in ISO 8601 format. Example: 2026-01-15.
descriptionstring- Free-text description of the payment. Example: Consulting services for Q1.
treasury_idstring- Identifier of the treasury account. If omitted, the account default treasury is used. Example: 507f1f77bcf86cd799439011.
holded_purchase_updateUpdate an existing purchase invoice; only the fields you pass are changed.WriteUpdate Purchase Invoice
Update an existing purchase invoice; only the fields you pass are changed. Returns the id of the affected record. Use to edit a purchase invoice; use the create tool for new records. Needs the purchase invoice ID from holded_purchases_list.
- Idempotent
Inputs
purchase_idstringrequired- Purchase ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
itemsarray- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
numberstring- Custom document number (e.g. the supplier's invoice reference).
holded_sales_order_createCreate a sales order in Holded.WriteCreate Sales Order
Create a sales order in Holded. Returns the id of the affected record. Use to create a new sales order for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Expected delivery date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
holded_sales_order_updateUpdate an existing sales order; only the fields you pass are changed.WriteUpdate Sales Order
Update an existing sales order; only the fields you pass are changed. Returns the id of the affected record. Use to edit a sales order; use the create tool for new records. Needs the sales order ID from holded_sales_orders_list.
- Idempotent
Inputs
sales_order_idstringrequired- Sales Order ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
due_datestring- Payment due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
itemsarray- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
holded_sales_receipt_createCreate a sales receipt in Holded.WriteCreate Sales Receipt
Create a sales receipt in Holded. Returns the id of the affected record. Use to create a new sales receipt for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
bodystring- Body text of the sales receipt. Example: Thank you for your business..
contact_idstring- Identifier of an existing contact. Optional — when omitted the receipt is created without a linked contact. Example: 507f1f77bcf86cd799439011.
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Expected delivery date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
payment_method_idstring- Identifier of the default payment method. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
holded_service_createCreate a service in Holded.WriteCreate Service
Create a service in Holded. Returns the id of the affected record. Use to add a new service; use the matching list tool first to avoid duplicates.
Inputs
namestringrequired- Service name. Example: Consulting.
codestring- Internal reference code. Example: B12345678.
colorstring- Display color. Example: blue.
costnumber- Unit cost price. Example: 50.
descriptionstring- Service description. Example: Consulting service.
durationnumber- Duration in minutes. Example: 3600.
pricenumber- Unit sale price. Example: 100.
sales_channel_idstring- Sales channel identifier. Example: 507f1f77bcf86cd799439011.
tagsarray- List of tag names. Example: ["priority","2026"].
taxnumber- Tax percentage. Example: 21.
taxesarray- List of tax identifiers to apply. Example: ["s_iva_21"].
holded_service_updateUpdate an existing service; only the fields you pass are changed.WriteUpdate Service
Update an existing service; only the fields you pass are changed. Returns the id of the affected record. Use to edit a service; use the create tool for new records. Needs the service ID from holded_services_list.
- Idempotent
Inputs
service_idstringrequired- Service ID (24-char hex ObjectId). Example: 507f1f77bcf86cd799439011.
codestring- Code. Example: B12345678.
colorstring- Color. Example: blue.
costnumber- Cost. Example: 50.
descriptionstring- Description. Example: Consulting service.
durationnumber- Duration. Example: 3600.
namestring- Name. Example: Consulting.
pricenumber- Price. Example: 100.
sales_channel_idstring- Sales channel id. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags. Example: ["priority","2026"].
taxnumber- Tax. Example: 21.
taxesarray- Array of tax keys to apply. Retrieve valid keys from GET /api/v2/taxes before setting this field. Example: ["s_iva_21"].
holded_tag_createCreate a tag that can be attached to contacts and documents.WriteCreate Tag
Create a tag that can be attached to contacts and documents. Returns name. Use before tagging records; use holded_tags_list to check existing tags first.
Inputs
namestringrequired- Name. Example: Acme Corp.
holded_task_createCreate a task in a project.WriteCreate Task
Create a task in a project. Returns the id of the affected record. Use to add work items to a project. Needs a project ID from holded_projects_list.
Inputs
namestringrequired- Task name. Example: Acme Corp.
project_idstringrequired- Project ID. Example: 507f1f77bcf86cd799439011.
assigned_toarray- Assigned user IDs. Example: ["507f1f77bcf86cd799439011"].
descriptionstring- Task description. Example: Consulting services for Q1.
due_datestring- Due date in ISO 8601. Example: 2026-01-15.
priorityinteger- Task priority. Example: 1.
statusstring- Task status. Example: pending.
holded_task_updateUpdate an existing task; only the fields you pass are changed.WriteUpdate Task
Update an existing task; only the fields you pass are changed. Returns the id of the affected record. Use to edit a task; use the create tool for new records. Needs the task ID from holded_tasks_list.
- Idempotent
Inputs
task_idstringrequired- Task ID. Example: 507f1f77bcf86cd799439011.
assigned_toarray- Assigned user IDs. Example: ["507f1f77bcf86cd799439011"].
descriptionstring- Task description. Example: Consulting services for Q1.
due_datestring- Due date in ISO 8601. Example: 2026-01-15.
namestring- Task name. Example: Acme Corp.
priorityinteger- Task priority. Example: 1.
project_idstring- Project ID. Example: 507f1f77bcf86cd799439011.
statusstring- Task status. Example: pending.
holded_waybill_createCreate a waybill in Holded.WriteCreate Waybill
Create a waybill in Holded. Returns the id of the affected record. Use to create a new waybill for a contact; use holded_document_convert to derive one from an existing document instead. Needs a contact ID from holded_contacts_list or holded_contact_create.
Inputs
contact_idstringrequired- Identifier of an existing contact. Example: 507f1f77bcf86cd799439011.
itemsarrayrequired- Line items to include. Example: [{"name": "Consulting services", "units": 1, "price": 100}].
contact_namestring- Name of the contact. Example: Acme Corp.
currencystring- ISO 4217 currency code. Example: EUR.
currency_changenumber- Exchange rate. Example: 1.08.
custom_fieldsarray- Custom field values. Example: [{"field": "Example field", "value": "5000"}].
datestring- Issue date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
descriptionstring- Free-text description. Example: Consulting services for Q1.
design_idstring- Identifier of the design template to apply to the document. Example: 507f1f77bcf86cd799439011.
discountnumber- Global discount percentage. Example: 10.
due_datestring- Due date in ISO 8601 format. Accepts date (YYYY-MM-DD) or datetime (e.g. 2026-01-15T00:00:00+00:00).
is_valuedboolean- Whether the PDF shows line prices and totals. Defaults to the account's waybill preference when omitted. Example: true.
languagestring- ISO 639-1 language code. Example: es.
notesstring- Internal notes visible only to your team. Example: Payment due within 30 days.
numberstring- Custom document number. Use only if you do not want to assign the number via one of the numbering series created in Holded (e.g. to replicate exactly the number from another platform). The value is saved as-is, without correlativity validation. If this field is sent, number_line_id is ignored. Warning: do not use a value that matches the format of an existing numbering series. The series keeps its own counter regardless of manually assigned numbers -- e.g. if a series is at number 24 and you manually create a document with 27, the series will keep issuing 25, 26, and when it reaches 27 it will try to create a number that already exists: the request will fail and the series will have lost its correlativity and order. If you need custom numbering, use a prefix or format that does not match any active series, or manage every document in that series with number_line_id.
number_line_idstring- Identifier of the numbering series used to automatically assign the next correlative number. This is the recommended option, as it preserves the document order and correlativity. If both fields are sent, number takes priority and number_line_id is ignored. Example: 507f1f77bcf86cd799439011.
sales_channel_idstring- Identifier of the sales channel. Example: 507f1f77bcf86cd799439011.
tagsarray- Tags to attach. Example: ["priority","2026"].
warehouse_idstring- Identifier of the warehouse. Example: 507f1f77bcf86cd799439011.
No tools match.