Developer #api #rest #swagger #openapi #endpoints #developers #integration Raw .md

REST API Reference & Catalog

RESTful API documentation, authentication, rate limits, error schemas, and endpoint catalog across 24 domains.

Routes: /admin/developers

REST API Reference

The HeroBM REST API provides programmatic access to master data, operational documents (Sales Orders, Invoices, Shipments, Purchase Orders), and financial ledgers.


Authentication & Headers

All API requests (except public health checks) require a valid API Key or Bearer JWT Token in the Authorization HTTP header:

Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Generating API Keys

  1. Go to Technical → Developers (/admin/developers).
  2. In the API Keys section, click + Add Key.
  3. Select an assigned role (e.g. agent, viewer, or admin).
  4. Copy the generated secret key.

Interactive Swagger Documentation

An interactive OpenAPI / Swagger UI test workbench is available on the running API server:

  • Interactive Documentation: http://localhost:3002/api/docs (on your running HeroBM instance)
  • OpenAPI 3.0 JSON Specification: /openapi.json

Rate Limits & Error Handling

  • Rate Limits: By default, requests are limited to 1,000 requests per minute per API key (configurable in Developer Settings).
  • HTTP Status Codes:
    • 200 OK / 201 Created: Request succeeded.
    • 400 Bad Request: Malformed request body or schema validation error.
    • 401 Unauthorized: Missing or invalid API key.
    • 403 Forbidden: Insufficient role permissions for the requested resource.
    • 404 Not Found: Entity or endpoint not found.
    • 429 Too Many Requests: Rate limit exceeded.

Core Endpoint Catalog (568 Endpoints Across 28 Domains)

CRM Activities

MethodEndpointDescription
POST/crm-activitiesCreate CRM Activity
GET/crm-activitiesList CRM Activities
GET/crm-activities/{id}Get CRM Activity
PATCH/crm-activities/{id}Update CRM Activity
DELETE/crm-activities/{id}Delete CRM Activity
PATCH/crm-activities/{id}/completeComplete Task
PATCH/crm-activities/{id}/reopenReopen Task

CRM Map

MethodEndpointDescription
GET/crm-mapGet CRM Graph Map Data

Contacts

MethodEndpointDescription
GET/contactsList Contacts
POST/contactsCreate Contact
GET/contacts/{id}Get Contact
PATCH/contacts/{id}Update Contact
DELETE/contacts/{id}Delete Contact
POST/contacts/{id}/archiveArchive Contact
POST/contacts/{id}/unarchiveUnarchive Contact

Customers

MethodEndpointDescription
GET/customersList Customers
POST/customersCreate Customer
GET/customers/aged-balancesGet Aged Balances
GET/customers/{id}Get Customer
PATCH/customers/{id}Update Customer
GET/customers/{id}/credit-assessmentGet Credit Assessment
POST/customers/{id}/archiveArchive Customer
POST/customers/{id}/unarchiveUnarchive Customer
POST/customers/{id}/email-documentEmail Customer Statement Document
GET/customer-groupsList Customer Groups
POST/customer-groupsCreate Customer Group
GET/customer-groups/{id}Get Customer Group
PATCH/customer-groups/{id}Update Customer Group
DELETE/customer-groups/{id}Delete Customer Group

Delivery Addresses

MethodEndpointDescription
POST/delivery-addressesCreate a new delivery address
PUT/delivery-addresses/{id}Update an existing delivery address
DELETE/delivery-addresses/{id}Delete a delivery address

General Ledger

MethodEndpointDescription
GET/settings/exchange-ratesfindAll
POST/settings/exchange-ratescreate
GET/settings/exchange-rates/{id}findOne
PATCH/settings/exchange-rates/{id}update
DELETE/settings/exchange-rates/{id}remove
GET/settings/cost-centersList all cost centers
POST/settings/cost-centersCreate a new cost center
PATCH/settings/cost-centers/{id}Update a cost center
DELETE/settings/cost-centers/{id}Delete a cost center
POST/settings/cost-centers/importBulk import cost centers
GET/settings/activitiesList all General Ledger activities
POST/settings/activitiesCreate a new General Ledger activity
PATCH/settings/activities/{id}Update a General Ledger activity
DELETE/settings/activities/{id}Delete a General Ledger activity
POST/settings/activities/importBulk import General Ledger activities
GET/gl/accountsGet Accounts
POST/gl/accountsCreate Account
PATCH/gl/accounts/{id}Update Account
GET/gl/journal-entriesGet Journal Entries
POST/gl/journal-entriesCreate Manual Entry
GET/gl/journal-entries/{id}Get Journal Entry
GET/gl/journal-entries/source/{type}/{id}Get Source Entry
GET/gl/trial-balanceGet Trial Balance
GET/gl/profit-and-lossGet Profit and Loss Statement
GET/gl/balance-sheetGet Balance Sheet
GET/gl/cash-flowGet Statement of Cash Flows
GET/gl/cash-flow/drilldownGet Statement of Cash Flows Line Drilldown
GET/gl/general-ledgerGet General Ledger
GET/gl/settingsGet Settings
PATCH/gl/settingsUpdate Settings
GET/gl/fx-revaluation/candidatesGet FX Revaluation Candidates
POST/gl/fx-revaluation/commitCommit Period-End FX Revaluation
POST/gl/settings/reloadReload Settings
GET/gl/chartsList Charts
POST/gl/seedSeed Chart of Accounts
GET/gl/tax-settings-filesList Tax Settings
POST/gl/seed-taxSeed Tax Settings
GET/gl/periodsGet Fiscal Periods
POST/gl/periods/generateGenerate Fiscal Periods
PATCH/gl/periods/{id}/statusUpdate Fiscal Period Status
GET/gl/reconciliation/subledgerGet Continuous Subledger Reconciliation
GET/gl/integrity-auditGet Latest Ledger Integrity Audit Report
POST/gl/integrity-audit/runRun Ledger Integrity Audit On Demand
GET/gl/integrity-audit/{eventId}Get Specific Ledger Integrity Audit Report by Event ID
GET/gl/reconciliationsGet Reconciliations
POST/gl/reconciliationsCreate Reconciliation
GET/gl/reconciliations/{id}Get Reconciliation
DELETE/gl/reconciliations/{id}Discard Reconciliation
GET/gl/reconciliations/{id}/unreconciledGet Unreconciled Lines
POST/gl/reconciliations/{id}/lines/{lineId}/toggleToggle Line Status
POST/gl/reconciliations/{id}/postPost Reconciliation
POST/gl/reconciliations/{id}/adjustmentsCreate Adjustment
POST/gl/bank-feeds/parseParse CSV
POST/gl/bank-feeds/importImport CSV
GET/gl/bank-feeds/profilesGet Mapping Profiles
POST/gl/bank-feeds/profilesCreate Mapping Profile
PUT/gl/bank-feeds/profiles/{profileId}Update Mapping Profile
DELETE/gl/bank-feeds/profiles/{profileId}Delete Mapping Profile
GET/gl/bank-feeds/rulesGet Rules
POST/gl/bank-feeds/rulesCreate Rule
PUT/gl/bank-feeds/rules/{ruleId}Update Rule
DELETE/gl/bank-feeds/rules/{ruleId}Delete Rule
GET/gl/bank-statement/linesGet bank statement lines
POST/gl/bank-statement/lines/{id}/confirm-matchConfirm a smart match
POST/gl/bank-statement/lines/{id}/manual-matchManually match a line
POST/gl/bank-statement/lines/bulkCreate bank statement lines in bulk
POST/gl/bank-statement/match-bulkBulk match bank statement lines and journal lines
POST/gl/bank-statement/auto-matchAuto match bank statement lines
POST/gl/bank-statement/unmatchUnmatch items
DELETE/gl/bank-statement/lines/{id}Delete bank statement line
GET/gl/bank-statement/match-group/{matchGroupId}Get match group

Global Notes

MethodEndpointDescription
GET/global-notesFind All Global Notes

Help

MethodEndpointDescription
GET/help/contextGet contextual help for the active screen route
GET/help/topicsGet all accessible documentation topics
GET/help/topics/{id}Get full topic content by ID
GET/help/searchSearch documentation topics

Manufacturing / Work Orders

MethodEndpointDescription
GET/manufacturing/work-orders/settingsGet Manufacturing Settings
PATCH/manufacturing/work-orders/settingsUpdate Manufacturing Settings
GET/manufacturing/work-ordersList Work Orders
POST/manufacturing/work-ordersCreate Work Order
GET/manufacturing/work-orders/{id}Get Work Order by ID
PATCH/manufacturing/work-orders/{id}Update Work Order
PATCH/manufacturing/work-orders/{id}/components/{componentId}Update Work Order Component
POST/manufacturing/work-orders/{id}/releaseRelease Work Order
POST/manufacturing/work-orders/{id}/completeComplete Work Order Production
POST/manufacturing/work-orders/{id}/cancelCancel Work Order
GET/manufacturing/work-orders/{id}/pickingGet Work Order Picking Summary
POST/manufacturing/work-orders/{id}/picking/lines/{lineId}Pick Work Order Component
DELETE/manufacturing/work-orders/{id}/picking/picks/{pickId}Cancel Component Pick

Opportunities

MethodEndpointDescription
POST/opportunitiesCreate Opportunity
GET/opportunitiesGet all Opportunities
GET/opportunities/{id}Get Opportunity by ID
PATCH/opportunities/{id}Update Opportunity
DELETE/opportunities/{id}Delete Opportunity
POST/opportunities/{id}/archiveArchive Opportunity
POST/opportunities/{id}/unarchiveUnarchive Opportunity
POST/opportunities/{id}/notesAdd Opportunity Note
GET/opportunities/{id}/notesGet Opportunity Notes
DELETE/opportunities/{id}/notes/{noteId}Delete Opportunity Note
POST/opportunities/{id}/contactsAdd Opportunity Contact
PATCH/opportunities/{id}/contacts/{contactId}Update Opportunity Contact Roles
DELETE/opportunities/{id}/contacts/{contactId}Remove Opportunity Contact
POST/opportunities/{id}/organizationsAdd Opportunity Organization
PATCH/opportunities/{id}/organizations/{organizationId}Update Opportunity Organization Roles
DELETE/opportunities/{id}/organizations/{organizationId}Remove Opportunity Organization

Organizations

MethodEndpointDescription
GET/organizations/settingsGet CRM Settings
PATCH/organizations/settingsUpdate CRM Settings
POST/organizationsCreate Organization
GET/organizationsGet all Organizations (paginated)
GET/organizations/{id}Get Organization by ID
PATCH/organizations/{id}Update Organization
DELETE/organizations/{id}Delete Organization
PATCH/organizations/{id}/contacts/{contactId}Update Contact Link on Organization
DELETE/organizations/{id}/contacts/{contactId}Remove Contact Link from Organization
POST/organizations/{id}/contactsLink Contact to Organization
POST/organizations/{id}/archiveArchive Organization
POST/organizations/{id}/unarchiveUnarchive Organization
POST/organizations/{id}/notesAdd Note to Organization
DELETE/organizations/{id}/notes/{noteId}Remove Note from Organization
GET/organizations/{id}/linksGet Organization Links
POST/organizations/{id}/linksAdd Organization Link
DELETE/organizations/{id}/links/{linkId}Remove Organization Link

Payments

MethodEndpointDescription
GET/paymentsFind All Payments
POST/paymentsCreate Payment
GET/payments/run-candidatesGet Payment Run Candidates
POST/payments/generate-runGenerate Payment Run
GET/payments/{id}Find Payment
DELETE/payments/{id}Remove Draft Payment
PATCH/payments/{id}/submitSubmit Payment
PATCH/payments/{id}/allocateAllocate Payment
PATCH/payments/{id}/cancelCancel Payment
POST/payments/export-abaExport ABA
POST/payments/export-nachaExport NACHA
POST/payments/confirm-exportedConfirm Exported Payments
POST/payments/reject-exportedReject Exported Payments
POST/payments/{id}/email-documentEmail Payment Document / Remittance Advice

Products

MethodEndpointDescription
GET/products/settingsGet Product Settings
PATCH/products/settingsUpdate Product Settings
GET/products/images/{path}Stream Product Image
GET/productsList Products
POST/productsCreate Product
GET/products/{id}Get Product
PATCH/products/{id}Update Product
GET/products/{id}/cost-summaryGet Product Cost Summary
POST/products/{id}/copyCopy Product
POST/products/{id}/archiveArchive Product
POST/products/{id}/unarchiveUnarchive Product
POST/products/{id}/suppliersAdd Product Supplier
DELETE/products/{id}/suppliers/{vendorId}Remove Product Supplier
POST/products/{id}/uomsAdd Product UOM
DELETE/products/{id}/uoms/{uomId}Remove Product UOM
POST/products/{id}/default-binsLink Default Bin
DELETE/products/{id}/default-bins/{binLinkId}Remove Default Bin
GET/products/{id}/componentsList Components
POST/products/{id}/componentsAdd Component
PATCH/products/{id}/components/{componentId}Update Component
DELETE/products/{id}/components/{componentId}Remove Component
POST/products/{id}/imageUpload Product Image
DELETE/products/{id}/imageRemove Product Image
GET/products/{id}/membersGet Service Product Members
POST/products/{id}/membersAdd Service Product Member
DELETE/products/{id}/members/{resourceId}Remove Service Product Member
GET/product-groupsList Product Groups
POST/product-groupsCreate Product Group
GET/product-groups/{id}Get Product Group
PATCH/product-groups/{id}Update Product Group
DELETE/product-groups/{id}Delete Product Group

Projects

MethodEndpointDescription
GET/projects/settingsGet Project Settings
PATCH/projects/settingsUpdate Project Settings
POST/projectsCreate Project
GET/projectsGet all Projects
GET/projects/resourcesGet all Project Resources
POST/projects/resourcesCreate Project Resource
GET/projects/resources/{id}Get Project Resource by ID
PATCH/projects/resources/{id}Update Project Resource
DELETE/projects/resources/{id}Delete Project Resource
POST/projects/resources/{id}/archiveArchive Project Resource
POST/projects/resources/{id}/unarchiveUnarchive Project Resource
GET/projects/{id}Get Project Details
PATCH/projects/{id}Update Project
POST/projects/{id}/stateTransition Project State
POST/projects/{id}/tasksCreate Project Task
PATCH/projects/{id}/tasks/{taskId}Update Project Task
DELETE/projects/{id}/tasks/{taskId}Delete Project Task
POST/projects/{id}/budget-linesCreate Budget Line
PATCH/projects/{id}/budget-lines/{lineId}Update Budget Line
DELETE/projects/{id}/budget-lines/{lineId}Delete Budget Line
POST/projects/{id}/issue-inventoryIssue Inventory to Project
POST/projects/{id}/return-inventoryReturn Inventory from Project
POST/projects/{id}/consume-resourceConsume Resource on Project
GET/projects/{id}/resources/assignedGet Assigned Resources on Project
POST/projects/{id}/resources/assignedAssign Resource to Project
DELETE/projects/{id}/resources/assigned/{resourceId}Remove Resource Assignment from Project
POST/projects/{id}/expensesRecord Direct Expense on Project
POST/projects/{id}/consume-expenseConsume Expense on Project (Alias)
GET/projects/{id}/ledger-entriesGet Project Ledger Entries
PATCH/projects/{id}/ledger-entries/{ledgerId}Update Project Ledger Entry
DELETE/projects/{id}/ledger-entries/{ledgerId}Delete Project Ledger Entry
PATCH/projects/{id}/ledger-entries/{ledgerId}/billableSet Project Ledger Entry Billable Status
GET/projects/{id}/profitabilityGet Project Profitability
POST/projects/{id}/billBill Project (Generate Sales Invoice)
GET/projects/{id}/invoicesGet Project Invoices
POST/projects/{id}/notesAdd Project Note
GET/projects/{id}/notesGet Project Notes
DELETE/projects/{id}/notes/{noteId}Delete Project Note

Purchase Invoices

MethodEndpointDescription
GET/purchase-orders/{id}/invoicesGet Purchase Bills
GET/purchase-debit-notesFind Debit Notes
POST/purchase-debit-notesCreate Debit Note
GET/purchase-debit-notes/{id}Get Debit Note
POST/purchase-debit-notes/{id}/postPost Debit Note
POST/purchase-debit-notes/{id}/email-documentEmail Purchase Debit Note Document

Purchase Orders

MethodEndpointDescription
GET/purchase-orders/settingsGet Purchasing Settings
PATCH/purchase-orders/settingsUpdate Purchasing Settings
POST/purchase-ordersCreate Purchase Order
GET/purchase-ordersList Purchase Orders
GET/purchase-orders/pending-linesList Pending Lines
GET/purchase-orders/returnable-linesList Returnable Lines
PATCH/purchase-orders/{id}/stateChange Order State
POST/purchase-orders/{id}/archiveArchive Purchase Order
POST/purchase-orders/{id}/unarchiveUnarchive Purchase Order
POST/purchase-orders/{id}/linesAdd Order Line
PATCH/purchase-orders/{id}/lines/{lineId}Update Order Line
DELETE/purchase-orders/{id}/lines/{lineId}Remove Order Line
GET/purchase-orders/{id}Get Purchase Order
PATCH/purchase-orders/{id}Update Purchase Order
POST/purchase-orders/{id}/email-documentEmail Purchase Order Document

Purchase Returns

MethodEndpointDescription
POST/purchase-orders/{id}/returnsCreate Purchase Return
GET/purchase-orders/{id}/returnsList Purchase Returns
GET/purchase-orders/{id}/returns/{returnId}Get Purchase Return
POST/purchase-orders/{id}/returns/{returnId}/stageStage Purchase Return
POST/purchase-orders/{id}/returns/{returnId}/unstageUnstage Purchase Return
POST/purchase-orders/{id}/returns/{returnId}/shipShip Purchase Return
POST/purchase-orders/{id}/returns/{returnId}/unshipUnship Purchase Return
POST/purchase-orders/{id}/returns/{returnId}/cancelCancel Purchase Return
GET/purchase-returnsList all purchase returns across all POs
GET/purchase-returns/{id}Get Purchase Return
POST/purchase-returns/{id}/mark-resolvedMark Purchase Return as Resolved
POST/purchase-returns/{id}/email-documentEmail Purchase Return Document

Sales Invoices

MethodEndpointDescription
POST/sales-orders/{id}/invoiceCreate Sales Invoice
GET/sales-orders/{id}/invoicesGet Sales Invoices
GET/sales-invoices/{id}Get Sales Invoice Details
PATCH/sales-invoices/{id}/stateChange Sales Invoice State
POST/sales-invoices/{id}/admin-mark-paidMark Sales Invoice as Paid (Admin)
GET/sales-invoicesGet All Sales Invoices
GET/purchase-invoicesGet All Purchase Invoices
POST/purchase-invoicesCreate Draft Invoice
GET/purchase-invoices/{id}Get Purchase Invoice Details
PATCH/purchase-invoices/{id}Update Invoice
POST/purchase-invoices/{id}/admin-mark-paidMark Purchase Invoice as Paid (Admin)
POST/purchase-invoices/{id}/postPost Invoice
PATCH/purchase-invoices/{id}/stateChange Invoice State
PATCH/purchase-invoices/{id}/lines/{lineId}Update Invoice Line
DELETE/purchase-invoices/{id}/lines/{lineId}Remove Invoice Line
POST/purchase-invoices/{id}/linesAdd Invoice Line
POST/purchase-invoices/lines/{lineId}/resolveResolve Invoice Line
POST/purchase-invoices/lines/{lineId}/unresolveUnresolve Invoice Line
POST/purchase-invoices/{id}/auto-matchAuto-Match Purchase Order

Sales Orders

MethodEndpointDescription
GET/sales-orders/settingsGet Sales Settings
PATCH/sales-orders/settingsUpdate Sales Settings
GET/sales-ordersFind All Orders
POST/sales-ordersCreate Order
POST/sales-orders/{id}/taxCalculate Taxes
POST/sales-orders/{id}/email-documentEmail Document
PATCH/sales-orders/{id}/stateChange Order State
POST/sales-orders/{id}/fulfill-directFulfill Direct Order
POST/sales-orders/{id}/override-credit-holdOverride Credit Hold
POST/sales-orders/{id}/archiveArchive Order
POST/sales-orders/{id}/unarchiveUnarchive Order
POST/sales-orders/{id}/linesAdd Order Line
PATCH/sales-orders/{id}/lines/{lineId}Update Order Line
DELETE/sales-orders/{id}/lines/{lineId}Remove Order Line
POST/sales-orders/{id}/post-confirmation-linesAdd Post-Confirmation Line
GET/sales-orders/{id}Find Order
PATCH/sales-orders/{id}Update Order

Sales Returns

MethodEndpointDescription
POST/sales-orders/{id}/returnsCreate Return
GET/sales-orders/{id}/returnsFind Order Returns
GET/sales-orders/{id}/returns/{returnId}Find Return
PATCH/sales-orders/{id}/returns/{returnId}Update Return
PATCH/sales-orders/{id}/returns/{returnId}/stateChange Return State
POST/sales-orders/{id}/returns/{returnId}/linesAdd Return Line
PATCH/sales-orders/{id}/returns/{returnId}/lines/{lineId}Update Return Line
DELETE/sales-orders/{id}/returns/{returnId}/lines/{lineId}Remove Return Line
POST/sales-orders/{id}/returns/{returnId}/receiveReceive Return
GET/sales-returnsFind Global Returns
GET/sales-returns/{id}Find Return by ID
GET/sales-credit-notesFind Credit Notes
POST/sales-credit-notesCreate Credit Note
GET/sales-credit-notes/{id}Get Credit Note
POST/sales-credit-notes/{id}/postPost Credit Note

Stocktakes

MethodEndpointDescription
POST/inventory/stocktakesCreate Stocktake
GET/inventory/stocktakesList Stocktakes
GET/inventory/stocktakes/{id}Get Stocktake by ID
PATCH/inventory/stocktakes/{id}Update Stocktake Header
DELETE/inventory/stocktakes/{id}Delete Stocktake
POST/inventory/stocktakes/{id}/stateChange Stocktake State
GET/inventory/stocktakes/{id}/linesList Stocktake Lines
POST/inventory/stocktakes/{id}/linesAdd Unlisted Product to Stocktake
PATCH/inventory/stocktakes/{id}/lines/{lineId}Update Stocktake Line
DELETE/inventory/stocktakes/{id}/lines/{lineId}Delete Stocktake Line
GET/inventory/stocktakes/{id}/countsList Stocktake Counts
POST/inventory/stocktakes/{id}/countsRecord Single Stocktake Count
POST/inventory/stocktakes/{id}/counts/batchRecord Batch Stocktake Counts
POST/inventory/stocktakes/{id}/bins/{binId}/mark-emptyMark Bin Empty
POST/inventory/stocktakes/{id}/submitSubmit Stocktake Reconciliation

Storage

MethodEndpointDescription
GET/storage/images/{path}Stream Storage Image
DELETE/storage/images/{path}Delete Storage Image
POST/storage/imagesUpload Storage Image
GET/storage/imagesList Storage Images

Suppliers

MethodEndpointDescription
GET/suppliersList Suppliers
POST/suppliersCreate Supplier
GET/suppliers/aged-balancesGet Aged Balances
GET/suppliers/by-product/{productId}List Product Suppliers
GET/suppliers/{id}Get Supplier
PATCH/suppliers/{id}Update Supplier
GET/suppliers/{id}/productsList Supplier Products
POST/suppliers/{id}/archiveArchive Supplier
POST/suppliers/{id}/unarchiveUnarchive Supplier
GET/suppliers/{id}/expiriesList Expiries
POST/suppliers/{id}/expiriesCreate Expiry
PATCH/suppliers/{id}/expiries/{expiryId}Update Expiry
DELETE/suppliers/{id}/expiries/{expiryId}Delete Expiry
GET/supplier-groupsList Supplier Groups
POST/supplier-groupsCreate Supplier Group
GET/supplier-groups/{id}Get Supplier Group
PATCH/supplier-groups/{id}Update Supplier Group
DELETE/supplier-groups/{id}Delete Supplier Group

System

MethodEndpointDescription
POST/auth/loginLogin User
POST/auth/2fa/verify-loginVerify 2FA Login
POST/auth/2fa/setupSetup 2FA
POST/auth/2fa/enableEnable 2FA
POST/auth/2fa/disableDisable 2FA
POST/auth/2fa/backup-codes/regenerateRegenerate Backup Codes
GET/auth/2fa/statusGet 2FA Status
GET/auth/meGet Current User
GET/rolesFind all roles
GET/roles/{role}Get role details
POST/roles/{role}Set role permissions
DELETE/roles/{role}Delete role
POST/pdf-templates/hooks/{hookSlug}/runRun Hook
GET/pdf-templates/hooksGet Hooks
GET/pdf-templates/hook-assignmentsGet Hook Assignments
PATCH/pdf-templates/hook-assignments/{hook}Update Hook Assignment
GET/pdf-templates/hooks/{slug}/random-idGet Random ID
GET/pdf-templatesGet All Reports
POST/pdf-templatesCreate Report
GET/pdf-templates/{id}Get Report
PATCH/pdf-templates/{id}Update Report
DELETE/pdf-templates/{id}Delete Report
POST/pdf-templates/previewPreview Report
GET/emailsList emails
POST/emails/{id}/retryRetry a failed email
POST/emails/{id}/dismissDismiss a failed email
GET/emails/test-connectiontest-connection
GET/settings/uom-dictionaryfindAll
POST/settings/uom-dictionarycreate
GET/settings/uom-dictionary/{code}findOne
PATCH/settings/uom-dictionary/{code}update
DELETE/settings/uom-dictionary/{code}remove
GET/settings/organizationget
PATCH/settings/organizationupdate
POST/settings/organization/logoUpload Organization Logo
DELETE/settings/organization/logoRemove Organization Logo
GET/settings/organization/logoStream Organization Logo
GET/settings/appget
PATCH/settings/appupdate
GET/settings/trading-termsList trading terms
POST/settings/trading-termsCreate trading term
PATCH/settings/trading-terms/{id}Update trading term
DELETE/settings/trading-terms/{id}Delete trading term
GET/settings/license-statusGet License Status
POST/settings/licenseApply License
GET/business-reportsList available business reports
POST/business-reportsCreate a business report
GET/business-reports/hooksList available data source hooks
POST/business-reports/{slug}/dataFetch data for a business report
GET/business-reports/{id}Get a business report by ID
PUT/business-reports/{id}Update a business report
DELETE/business-reports/{id}Delete a business report
GET/settings/external-syncGet Sync Status
GET/settings/external-sync/eventsGet Events By Type
DELETE/settings/external-sync/eventsClear Events By Type
GET/enrichment/lookupLookup data
POST/enrichment/lookupLookup data (POST)
GET/enrichment/testTest provider
POST/enrichment/testTest provider (POST)
GET/enrichment/providersGet providers
GET/enrichment/configGet config
PUT/enrichment/configUpdate config
GET/dashboard/summaryGet Summary
GET/dashboard/searchUniversal Search
GET/dashboard/timelineGet Timeline
POST/telemetry/client-errorsReport Client Error
GET/healthSystem Healthcheck
GET/data-sourcesList all registered data sources
GET/data-sources/{slug}/sample-reportGet sample data for Business Reports (fetchData format)
GET/data-sources/{slug}/sample-recordGet sample data for PDF Templates (resolveData format)
GET/admin/system-logsGet System Logs
GET/admin/versionGet System Version
POST/setup/test-abmTest ABM Connection
POST/setup/test-odooTest Odoo Connection
GET/setup/resume-stateGet Resume State
GET/setup/resume-state-odooGet Odoo Resume State
POST/setup/execute-eltExecute ELT Job
GET/setup/active-jobGet Active Job
DELETE/setup/active-job/{jobId}Stop Active Job
GET/setup/progress/{jobId}Get Job Progress
GET/setup/validationGet Validation State
GET/setup/import-summaryGet Import Summary
GET/setup/csv-metadataGet CSV Metadata
GET/setup/export-csv/{tableName}Export Table as CSV
POST/setup/execute-csvExecute CSV Import
POST/macrosCreate Macro
GET/macrosList Macros
GET/macros/{id}Get Macro
PATCH/macros/{id}Update Macro
DELETE/macros/{id}Delete Macro
GET/usersList Users
POST/usersCreate User
GET/users/eventsList User Activity Events
GET/users/{id}Get User
PATCH/users/{id}Update User
DELETE/users/{id}Delete User
PATCH/users/{id}/toggle-activeToggle User Status
POST/users/{id}/2fa/resetReset User 2FA
GET/discount-matrixList Rules
POST/discount-matrixCreate Rule
GET/discount-matrix/resolveResolve Rules
PATCH/discount-matrix/{id}Update Rule
DELETE/discount-matrix/{id}Delete Rule
GET/webhooksList Webhooks
POST/webhooksCreate Webhook
GET/webhooks/eventsList Available Events
PUT/webhooks/{id}Update Webhook
DELETE/webhooks/{id}Delete Webhook
GET/api-keysList API Keys
POST/api-keysCreate API Key
DELETE/api-keys/{id}Revoke API Key
POST/events/publishPublish Event
GET/user-settingsGet user settings
PATCH/user-settingsUpdate user settings

Tax

MethodEndpointDescription
GET/tax-categoriesList Tax Categories
POST/tax-categoriesCreate Tax Category
GET/tax-categories/{id}Get Tax Category
PATCH/tax-categories/{id}Update Tax Category
DELETE/tax-categories/{id}Delete Tax Category
GET/tax-positions/mappingsList all tax position mappings (ignores path param for now)
POST/tax-positions/{taxPositionId}/mappingsCreate a new mapping for a tax position
DELETE/tax-positions/{taxPositionId}/mappings/{sourceTaxCategoryId}Remove a mapping from a tax position
GET/tax-positionsList all tax positions
POST/tax-positionsCreate a new tax position
GET/tax-positions/{id}Get a tax position by id
PUT/tax-positions/{id}Update a tax position
DELETE/tax-positions/{id}Delete a tax position
GET/tax/reportsGet Tax Balances & Statutory Report Data

Transfer Orders

MethodEndpointDescription
POST/transfers/from-demandsCreate From Demands
GET/transfers/{id}/eventsFind Events
GET/transfers/{id}/pickingGet Picking Summary
POST/transfers/{id}/picking/lines/{lineId}Pick Transfer Line
DELETE/transfers/{id}/picking/picks/{pickId}Cancel Transfer Pick
POST/transfers/{id}/shipShip Transfer Order
POST/transfers/{id}/receiveReceive Transfer Order
POST/transfers/{id}/cancelCancel Transfer Order
POST/transfers/{id}/cancel-shipmentCancel Transfer Order Shipment
GET/transfersFind All Transfers
POST/transfersCreate Transfer Order
GET/transfers/{id}Find Transfer
PATCH/transfers/{id}Update Transfer Order
GET/transfers/{id}/shipmentsFind Shipments
POST/transfers/{id}/linesAdd Transfer Line
PATCH/transfers/{id}/lines/{lineId}Update Transfer Line
DELETE/transfers/{id}/lines/{lineId}Remove Transfer Line

Unified Returns

MethodEndpointDescription
GET/global-returnsFind Global Returns (Sales and Purchase)

Warehouse

MethodEndpointDescription
GET/inventoryList Inventory
GET/inventory/by-productsGet By Products
POST/inventory/by-products-bulkBulk Get By Products
GET/inventory/binsList Inventory Bins
POST/inventory/binsCreate Bin
GET/inventory/putaway/contextGet Putaway Context
GET/inventory/locationsList Locations
POST/inventory/locationsCreate Location
GET/inventory/locations/{id}/binsGet Location Bins
GET/inventory/topographyGet Warehouse Topography
GET/inventory/ledgerList Ledger Entries
GET/inventory/entries/{id}Get Entry Details
GET/inventory/restockList Restock Needs
GET/inventory/movementStock Movement Report
GET/inventory/pending-putawayList Pending Putaways
POST/inventory/putawayProcess Putaways
POST/inventory/quarantine/moveMove to/from Quarantine
POST/inventory/moveMove Stock manually
POST/inventory/adjustAdjust Stock manually
GET/sales-orders/picking-queueGet Picking Queue
GET/sales-orders/{id}/pickingGet Picking Summary
GET/sales-orders/{id}/picking/barcodesGet Picking Barcodes
POST/sales-orders/{id}/picking/lines/{lineId}Pick Order Line
DELETE/sales-orders/{id}/picking/picks/{pickId}Cancel Pick
GET/sales-orders/shipping-queueGet Shipping Queue
GET/sales-orders/{id}/shipping-contextGet Shipping Context
POST/sales-orders/{id}/shipmentsCreate Shipment
GET/sales-orders/{id}/shipmentsFind Order Shipments
GET/sales-orders/{id}/shipments/{shipmentId}Find Shipment
PATCH/sales-orders/{id}/shipments/{shipmentId}Update Shipment
PATCH/sales-orders/{id}/shipments/{shipmentId}/stateChange Shipment State
POST/sales-orders/{id}/shipments/{shipmentId}/cancelCancel Shipment
POST/sales-orders/{id}/shipments/{shipmentId}/linesAdd Shipment Line
PATCH/sales-orders/{id}/shipments/{shipmentId}/lines/{lineId}Update Shipment Line
DELETE/sales-orders/{id}/shipments/{shipmentId}/lines/{lineId}Remove Shipment Line
GET/shipmentsFind All Shipments
GET/shipments/{id}Find Shipment
POST/shipments/{id}/email-documentEmail Shipment Document
GET/allocations/openGet Open Demands
GET/allocations/by-po/{poId}Get PO Allocations
GET/allocations/available-po-linesGet Available PO Lines
POST/allocations/link-poLink Demand To PO
POST/allocations/resolveResolve Open Demands
POST/allocations/{id}/unlinkUnlink Demand
POST/allocations/{id}/reallocateReallocate Demand
POST/allocations/generate-posGenerate POs
POST/allocations/generate-transfersGenerate Transfers
GET/inventory/locations/{id}Get Location
PATCH/inventory/locations/{id}Update Location
DELETE/inventory/locations/{id}Delete Location
POST/inventory/zonesCreate Zone
PATCH/inventory/zones/{id}Update Zone
DELETE/inventory/zones/{id}Delete Zone
POST/inventory/bins/bulkCreate Bins in Bulk
PATCH/inventory/bins/{id}Update Bin
DELETE/inventory/bins/{id}Delete Bin
POST/goods-receivedCreate Goods Receipt
GET/goods-receivedList Goods Receipts
GET/goods-received/linesList Received Lines
GET/goods-received/{id}Get Goods Receipt
PATCH/goods-received/{id}Update Goods Receipt
POST/goods-received/{id}/cancelCancel Goods Receipt
POST/goods-received/lines/{lineId}/resolveResolve Allocation
POST/goods-received/lines/{lineId}/unresolveUnresolve Allocation