# API Reference All tools accept an optional `connection` parameter to target a specific named connection. If omitted, the default connection is used. All list tools accept optional pagination parameters: | Parameter | Type | Description | |-----------|------|-------------| | `limit` | number | Max results (default 100) | | `page` | number | Page number (0-based) | | `sortfield` | string | Field to sort by | | `sortorder` | `"ASC"` / `"DESC"` | Sort direction | ## Third Parties ### `dolibarr_thirdparties_list` List third parties (customers, suppliers, prospects). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `mode` | `"1"` / `"2"` / `"3"` / `"4"` | No | 1=customer, 2=prospect, 3=supplier, 4=customer+supplier | | `search` | string | No | Search in name | | `category` | number | No | Filter by category ID | ### `dolibarr_thirdparty_get` Get a single third party by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Third party ID | ### `dolibarr_thirdparty_create` Create a new third party. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `name` | string | Yes | Company or individual name | | `client` | `"0"` / `"1"` / `"2"` / `"3"` | No | 0=neither, 1=customer, 2=prospect, 3=customer+prospect | | `fournisseur` | `"0"` / `"1"` | No | 0=not supplier, 1=supplier | | `email` | string | No | Email address | | `phone` | string | No | Phone number | | `address` | string | No | Street address | | `zip` | string | No | Postal code | | `town` | string | No | City | | `country_id` | number | No | Country ID | ### `dolibarr_thirdparty_update` Update an existing third party. Only provided fields are changed. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Third party ID | | `name` | string | No | Company or individual name | | `email` | string | No | Email address | | `phone` | string | No | Phone number | | `address` | string | No | Street address | | `zip` | string | No | Postal code | | `town` | string | No | City | | `country_id` | number | No | Country ID | ### `dolibarr_thirdparty_delete` Delete a third party. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Third party ID | ## Invoices ### `dolibarr_invoices_list` List invoices. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"draft"` / `"unpaid"` / `"paid"` / `"cancelled"` | No | Filter by status | | `thirdparty_ids` | string | No | Comma-separated third party IDs | | `search` | string | No | Search in ref or ref_client | ### `dolibarr_invoice_get` Get a single invoice by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Invoice ID | ### `dolibarr_invoice_create` Create a new invoice. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `socid` | number | Yes | Third party (customer) ID | | `type` | `"0"` / `"1"` / `"2"` / `"3"` | No | 0=standard, 1=replacement, 2=credit note, 3=deposit | | `date` | string | No | Invoice date (YYYY-MM-DD or Unix timestamp) | | `note_public` | string | No | Public note | | `note_private` | string | No | Private note | ### `dolibarr_invoice_add_line` Add a line item to an invoice. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Invoice ID | | `desc` | string | Yes | Line description | | `subprice` | number | Yes | Unit price (HT) | | `qty` | number | Yes | Quantity | | `tva_tx` | number | No | VAT rate (e.g. 20.0) | | `product_id` | number | No | Product/service ID | ### `dolibarr_invoice_validate` Validate (finalize) a draft invoice. Changes status from draft to validated and assigns an invoice number. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Invoice ID | ### `dolibarr_invoice_set_paid` Mark an invoice as paid. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Invoice ID | | `close_code` | string | No | Close code (e.g. `"bankorder"`, `"cash"`) | | `close_note` | string | No | Close note | ## Proposals (Quotes) ### `dolibarr_proposals_list` List commercial proposals. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"1"` / `"2"` / `"3"` / `"4"` | No | 0=draft, 1=validated, 2=signed, 3=not-signed, 4=billed | | `thirdparty_ids` | string | No | Comma-separated third party IDs | ### `dolibarr_proposal_get` Get a single proposal by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Proposal ID | ### `dolibarr_proposal_create` Create a new commercial proposal. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `socid` | number | Yes | Third party (customer) ID | | `date` | string | No | Proposal date (YYYY-MM-DD or Unix timestamp) | | `duree_validite` | number | No | Validity duration in days | | `note_public` | string | No | Public note | | `note_private` | string | No | Private note | ### `dolibarr_proposal_add_line` Add a line item to a proposal. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Proposal ID | | `desc` | string | Yes | Line description | | `subprice` | number | Yes | Unit price (HT) | | `qty` | number | Yes | Quantity | | `tva_tx` | number | No | VAT rate (e.g. 20.0) | | `product_id` | number | No | Product/service ID | ### `dolibarr_proposal_validate` Validate a draft proposal. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Proposal ID | ### `dolibarr_proposal_close` Close a proposal (sign or refuse). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Proposal ID | | `status` | `"2"` / `"3"` | Yes | 2=signed, 3=not signed (refused) | | `note` | string | No | Close note | ## Orders ### `dolibarr_orders_list` List customer orders. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"1"` / `"2"` / `"3"` / `"-1"` | No | 0=draft, 1=validated, 2=processing, 3=delivered, -1=cancelled | | `thirdparty_ids` | string | No | Comma-separated third party IDs | ### `dolibarr_order_get` Get a single order by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Order ID | ### `dolibarr_order_create` Create a new customer order. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `socid` | number | Yes | Third party (customer) ID | | `date` | string | No | Order date (YYYY-MM-DD or Unix timestamp) | | `note_public` | string | No | Public note | | `note_private` | string | No | Private note | ### `dolibarr_order_validate` Validate a draft order. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Order ID | ## Products / Services ### `dolibarr_products_list` List products and/or services. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `type` | `"0"` / `"1"` | No | 0=product, 1=service | | `search` | string | No | Search in label or ref | | `category` | number | No | Filter by category ID | | `to_sell` | `"0"` / `"1"` | No | 1=for sale only | | `to_buy` | `"0"` / `"1"` | No | 1=for purchase only | ### `dolibarr_product_get` Get a single product/service by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Product ID | ### `dolibarr_product_create` Create a new product or service. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `ref` | string | Yes | Product reference code | | `label` | string | Yes | Product label/name | | `type` | `"0"` / `"1"` | No | 0=product, 1=service (default 0) | | `price` | number | No | Selling price (HT) | | `price_ttc` | number | No | Selling price (TTC) | | `tva_tx` | number | No | Default VAT rate | | `description` | string | No | Description | | `status` | `"0"` / `"1"` | No | 1=on sale, 0=not on sale | | `status_buy` | `"0"` / `"1"` | No | 1=on purchase, 0=not on purchase | ### `dolibarr_product_update` Update a product or service. Only provided fields are changed. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Product ID | | `ref` | string | No | Product reference code | | `label` | string | No | Product label/name | | `price` | number | No | Selling price (HT) | | `description` | string | No | Description | | `status` | `"0"` / `"1"` | No | On sale flag | | `status_buy` | `"0"` / `"1"` | No | On purchase flag | ### `dolibarr_product_stock` Get stock levels for a product across all warehouses. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Product ID | ## Contacts / Addresses ### `dolibarr_contacts_list` List contacts/addresses. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `search` | string | No | Search in name | | `thirdparty_id` | number | No | Filter by third party ID | ### `dolibarr_contact_get` Get a single contact by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Contact ID | ## Projects ### `dolibarr_projects_list` List projects. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"1"` / `"2"` | No | 0=draft, 1=open, 2=closed | | `search` | string | No | Search in title or ref | ### `dolibarr_project_get` Get a single project by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Project ID | ### `dolibarr_project_create` Create a new project. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `ref` | string | Yes | Project reference | | `title` | string | Yes | Project title | | `socid` | number | No | Third party ID | | `description` | string | No | Project description | | `date_start` | string | No | Start date (YYYY-MM-DD or Unix timestamp) | | `date_end` | string | No | End date (YYYY-MM-DD or Unix timestamp) | ## Tasks ### `dolibarr_tasks_list` List project tasks. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `project_id` | number | No | Filter by project ID | ### `dolibarr_task_get` Get a single task by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Task ID | ## Users ### `dolibarr_users_list` List Dolibarr users. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `search` | string | No | Search in login name | ### `dolibarr_user_get` Get a single user by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | User ID | ## Categories ### `dolibarr_categories_list` List categories. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `type` | `"product"` / `"supplier"` / `"customer"` / `"member"` / `"contact"` / `"project"` | No | Category type | | `search` | string | No | Search in label | ## Bank Accounts ### `dolibarr_bankaccounts_list` List bank accounts. No additional parameters (supports pagination). ## Supplier Invoices ### `dolibarr_supplier_invoices_list` List supplier invoices. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"draft"` / `"unpaid"` / `"paid"` / `"cancelled"` | No | Filter by status | | `thirdparty_ids` | string | No | Comma-separated supplier IDs | ## Supplier Orders ### `dolibarr_supplier_orders_list` List supplier orders (purchase orders). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` - `"5"`, `"9"` | No | 0=draft, 1=validated, 2=approved, 3=ordered, 4=partially received, 5=received, 9=cancelled | | `thirdparty_ids` | string | No | Comma-separated supplier IDs | ## Shipments ### `dolibarr_shipments_list` List shipments (expeditions). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"1"` / `"2"` | No | 0=draft, 1=validated, 2=closed | | `thirdparty_ids` | string | No | Comma-separated third party IDs | ### `dolibarr_shipment_get` Get a single shipment by ID. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Shipment ID | ### `dolibarr_shipment_create` Create a new shipment. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `socid` | number | Yes | Third party (customer) ID | | `origin_id` | number | No | Source order ID | | `origin_type` | string | No | Source type (e.g. `"commande"`) | | `date_delivery` | string | No | Delivery date | | `note_public` | string | No | Public note | | `note_private` | string | No | Private note | ### `dolibarr_shipment_validate` Validate a draft shipment. ### `dolibarr_shipment_close` Close a shipment (mark as delivered). ## Contracts / Subscriptions ### `dolibarr_contracts_list` List contracts/subscriptions. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"1"` / `"4"` / `"5"` | No | 0=draft, 1=validated, 4=closed, 5=running | | `thirdparty_ids` | string | No | Comma-separated third party IDs | ### `dolibarr_contract_get` Get a single contract by ID. ### `dolibarr_contract_create` Create a new contract. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `socid` | number | Yes | Third party ID | | `ref` | string | No | Contract reference | | `date_contrat` | string | No | Contract date | | `note_public` | string | No | Public note | | `note_private` | string | No | Private note | ### `dolibarr_contract_validate` Validate a draft contract. ## Interventions ### `dolibarr_interventions_list` List interventions (field service). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"1"` / `"2"` | No | 0=draft, 1=validated, 2=billed | | `thirdparty_ids` | string | No | Comma-separated third party IDs | ### `dolibarr_intervention_get` Get a single intervention by ID. ## Expense Reports ### `dolibarr_expensereports_list` List expense reports. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | `"0"` / `"2"` / `"4"` / `"5"` / `"6"` / `"99"` | No | 0=draft, 2=validated, 4=cancelled, 5=approved, 6=paid, 99=refused | ### `dolibarr_expensereport_get` Get a single expense report by ID. ### `dolibarr_expensereport_create` Create a new expense report. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `fk_user_author` | number | Yes | User ID of the author | | `date_debut` | string | Yes | Start date | | `date_fin` | string | Yes | End date | | `note_public` | string | No | Public note | | `note_private` | string | No | Private note | ## Tickets (Helpdesk) ### `dolibarr_tickets_list` List helpdesk tickets. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `status` | string | No | Filter by status | | `search` | string | No | Search in subject | ### `dolibarr_ticket_get` Get a single ticket by ID. ### `dolibarr_ticket_create` Create a new helpdesk ticket. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `subject` | string | Yes | Ticket subject | | `message` | string | Yes | Ticket message/description | | `type_code` | string | No | Ticket type code | | `category_code` | string | No | Ticket category code | | `severity_code` | string | No | Ticket severity code | | `socid` | number | No | Third party ID | | `notify_tiers_at_create` | number | No | 1=notify third party on creation | ## Agenda / Events ### `dolibarr_agendaevents_list` List agenda events. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `type` | string | No | Event type code | | `status` | `"-1"` / `"0"` / `"50"` / `"100"` | No | -1=cancelled, 0=draft, 50=in progress, 100=done | | `userassigned` | number | No | Filter by assigned user ID | ### `dolibarr_agendaevent_get` Get a single agenda event by ID. ### `dolibarr_agendaevent_create` Create a new agenda event. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `label` | string | Yes | Event label/title | | `type_code` | string | Yes | Event type code (e.g. `"AC_RDV"`, `"AC_TEL"`, `"AC_OTH"`) | | `datep` | string | Yes | Start date (YYYY-MM-DD HH:MM:SS or Unix timestamp) | | `datef` | string | No | End date | | `socid` | number | No | Third party ID | | `contactid` | number | No | Contact ID | | `fk_project` | number | No | Project ID | | `userownerid` | number | No | Owner user ID | | `note` | string | No | Event note | | `percentage` | `"-1"` / `"0"` / `"50"` / `"100"` | No | Completion status | ### `dolibarr_agendaevent_update` Update an agenda event. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Event ID | | `label` | string | No | Event label | | `datep` | string | No | Start date | | `datef` | string | No | End date | | `percentage` | `"-1"` / `"0"` / `"50"` / `"100"` | No | Completion status | | `note` | string | No | Event note | ## Payments ### `dolibarr_invoice_payments` List payments for an invoice. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Invoice ID | ### `dolibarr_invoice_add_payment` Add a payment to an invoice. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Invoice ID | | `datepaye` | string | Yes | Payment date | | `paymentid` | number | Yes | Payment type ID (e.g. 4=bank transfer, 6=credit card) | | `closepaidinvoices` | string | No | `"yes"` to auto-close fully paid invoices | | `accountid` | number | No | Bank account ID | | `num_payment` | string | No | Payment number/reference | | `comment` | string | No | Payment comment | ## Documents ### `dolibarr_documents_list` List documents attached to an object. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `modulepart` | string | Yes | Module name (e.g. `"facture"`, `"propal"`, `"commande"`, `"societe"`) | | `id` | number | No | Object ID | | `ref` | string | No | Object ref (alternative to ID) | ### `dolibarr_document_download` Download/get content of a document. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `modulepart` | string | Yes | Module name | | `original_file` | string | Yes | Relative file path (e.g. `"FA2301-0001/FA2301-0001.pdf"`) | ### `dolibarr_document_builddoc` Generate/build a document (e.g. PDF invoice). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `modulepart` | string | Yes | Module name | | `original_file` | string | Yes | Expected output filename | | `doctemplate` | string | No | Document template name (e.g. `"crabe"`, `"sponge"`) | | `langcode` | string | No | Language code (e.g. `"en_US"`, `"fr_FR"`) | ## Members ### `dolibarr_members_list` List association members. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `typeid` | number | No | Filter by member type ID | | `status` | `"0"` / `"1"` / `"-1"` / `"-2"` | No | 1=validated, 0=draft, -1=resigned, -2=excluded | | `search` | string | No | Search in name | ### `dolibarr_member_get` Get a single member by ID. ## Stock / Warehouses ### `dolibarr_warehouses_list` List warehouses. No additional parameters (supports pagination). ### `dolibarr_stockmovements_list` List stock movements. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `product_id` | number | No | Filter by product ID | | `warehouse_id` | number | No | Filter by warehouse ID | ### `dolibarr_stockmovement_create` Create a stock movement (add/remove stock). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `product_id` | number | Yes | Product ID | | `warehouse_id` | number | Yes | Warehouse ID | | `qty` | number | Yes | Quantity (positive=add, negative=remove) | | `type` | `"0"` / `"1"` / `"2"` / `"3"` | No | 0=increase, 1=decrease, 2=transfer increase, 3=transfer decrease | | `label` | string | No | Movement label/reason | | `inventorycode` | string | No | Inventory code | ## Bank Accounts ### `dolibarr_bankaccounts_list` List bank accounts. No additional parameters (supports pagination). ### `dolibarr_bankaccount_lines` List transactions/lines for a bank account. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `id` | number | Yes | Bank account ID | ## Categories ### `dolibarr_categories_list` List categories. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `type` | `"product"` / `"supplier"` / `"customer"` / `"member"` / `"contact"` / `"project"` | No | Category type | | `search` | string | No | Search in label | ### `dolibarr_category_get` Get a single category by ID. ### `dolibarr_category_create` Create a new category. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `label` | string | Yes | Category label | | `type` | string | Yes | Category type | | `fk_parent` | number | No | Parent category ID (0 = root) | | `description` | string | No | Category description | | `color` | string | No | Category color (hex, e.g. `"ff0000"`) | ## Users ### `dolibarr_users_list` List Dolibarr users. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `search` | string | No | Search in login name | ### `dolibarr_user_get` Get a single user by ID. ### `dolibarr_user_create` Create a new Dolibarr user. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `login` | string | Yes | Login/username | | `lastname` | string | Yes | Last name | | `firstname` | string | No | First name | | `email` | string | No | Email address | | `admin` | `"0"` / `"1"` | No | 0=user, 1=admin | | `employee` | `"0"` / `"1"` | No | 1=is employee | ## Setup / System ### `dolibarr_setup_company` Get company/entity information. No parameters. ### `dolibarr_setup_dictionary` Get dictionary entries (lookup tables). | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `type` | string | Yes | Dictionary type: `countries`, `regions`, `states`, `currencies`, `civilities`, `payment_types`, `shipping_methods`, `availability`, `order_methods`, `event_types`, `expense_report_types`, `ticket_types`, `ticket_severities`, `ticket_categories`, `units`, `legal_form`, `staff_range`, `typent` | ### `dolibarr_setup_modules` List enabled Dolibarr modules. No parameters. ### `dolibarr_status` Get Dolibarr instance status and version. No parameters. ## Generic ### `dolibarr_api_request` Make a raw API request to any Dolibarr REST endpoint. | Parameter | Type | Required | Description | |-----------|------|----------|-------------| | `method` | `"GET"` / `"POST"` / `"PUT"` / `"DELETE"` | Yes | HTTP method | | `endpoint` | string | Yes | API path (e.g. `"/thirdparties"`) | | `body` | object | No | Request body for POST/PUT | | `params` | object | No | Query parameters | ### `dolibarr_list_connections` List all configured connections. No parameters. ## Revision History | Date | Version | Author | Notes | | --- | --- | --- | --- | | 2026-05-07 | 0.0.1 | jmiller | Initial API reference (44 tools) | | 2026-05-07 | 0.1.0 | jmiller | Expanded to 89 tools — shipments, contracts, interventions, expense reports, tickets, agenda events, payments, documents, members, stock movements, contact CRUD, task CRUD with timespent, dictionaries, bank transactions |