openapi: 3.1.0 info: title: Holded REST Accounting Invoicing API description: 'REST API for the Holded business-management platform. Holded is part of Visma and offers ERP, CRM, accounting, invoicing, inventory, HR, projects, and team collaboration capabilities. The Holded API exposes JSON over HTTPS, authenticated with a tenant API key passed via the `key` request header. This spec captures the core resources in the public developer reference at developers.holded.com. ' version: '1.0' contact: name: Holded Developers url: https://developers.holded.com servers: - url: https://api.holded.com/api description: Holded API root security: - ApiKeyAuth: [] tags: - name: Invoicing paths: /invoicing/v1/documents/invoice: get: summary: List invoices operationId: listInvoices responses: '200': description: OK tags: - Invoicing post: summary: Create an invoice operationId: createInvoice responses: '201': description: Created tags: - Invoicing /invoicing/v1/documents/invoice/{documentId}: parameters: - name: documentId in: path required: true schema: type: string get: summary: Get an invoice operationId: getInvoice responses: '200': description: OK tags: - Invoicing put: summary: Update an invoice operationId: updateInvoice responses: '200': description: OK tags: - Invoicing delete: summary: Delete an invoice operationId: deleteInvoice responses: '204': description: Deleted tags: - Invoicing /invoicing/v1/documents/salesreceipt: get: summary: List sales receipts operationId: listSalesReceipts responses: '200': description: OK tags: - Invoicing post: summary: Create a sales receipt operationId: createSalesReceipt responses: '201': description: Created tags: - Invoicing /invoicing/v1/documents/estimate: get: summary: List estimates / quotes operationId: listEstimates responses: '200': description: OK tags: - Invoicing post: summary: Create an estimate operationId: createEstimate responses: '201': description: Created tags: - Invoicing /invoicing/v1/documents/proform: get: summary: List pro-forma invoices operationId: listProformas responses: '200': description: OK tags: - Invoicing post: summary: Create a pro-forma invoice operationId: createProforma responses: '201': description: Created tags: - Invoicing /invoicing/v1/documents/creditnote: get: summary: List credit notes operationId: listCreditNotes responses: '200': description: OK tags: - Invoicing post: summary: Create a credit note operationId: createCreditNote responses: '201': description: Created tags: - Invoicing /invoicing/v1/contacts: get: summary: List contacts operationId: listContacts responses: '200': description: OK tags: - Invoicing post: summary: Create a contact operationId: createContact responses: '201': description: Created tags: - Invoicing /invoicing/v1/contacts/{contactId}: parameters: - name: contactId in: path required: true schema: type: string get: summary: Get a contact operationId: getContact responses: '200': description: OK tags: - Invoicing put: summary: Update a contact operationId: updateContact responses: '200': description: OK tags: - Invoicing delete: summary: Delete a contact operationId: deleteContact responses: '204': description: Deleted tags: - Invoicing /invoicing/v1/products: get: summary: List products operationId: listProducts responses: '200': description: OK tags: - Invoicing post: summary: Create a product operationId: createProduct responses: '201': description: Created tags: - Invoicing /invoicing/v1/products/{productId}: parameters: - name: productId in: path required: true schema: type: string get: summary: Get a product operationId: getProduct responses: '200': description: OK tags: - Invoicing put: summary: Update a product operationId: updateProduct responses: '200': description: OK tags: - Invoicing delete: summary: Delete a product operationId: deleteProduct responses: '204': description: Deleted tags: - Invoicing /invoicing/v1/warehouse: get: summary: List warehouses operationId: listWarehouses responses: '200': description: OK tags: - Invoicing /invoicing/v1/services: get: summary: List services operationId: listServices responses: '200': description: OK tags: - Invoicing post: summary: Create a service operationId: createService responses: '201': description: Created tags: - Invoicing /invoicing/v1/payments: get: summary: List payments operationId: listPayments responses: '200': description: OK tags: - Invoicing post: summary: Create a payment operationId: createPayment responses: '201': description: Created tags: - Invoicing /invoicing/v1/treasury: get: summary: List treasury / bank accounts operationId: listTreasury responses: '200': description: OK tags: - Invoicing /invoicing/v1/expensesaccounts: get: summary: List expense accounts operationId: listExpenseAccounts responses: '200': description: OK tags: - Invoicing components: securitySchemes: ApiKeyAuth: type: apiKey in: header name: key description: Holded tenant API key, generated in account settings.