https://api.sync2books.com
Authentication
Send your API key in theX-API-Key header:
Optional HMAC signature
For stronger security you may sign requests. When you send signature headers, both are validated:
The signature is optional — if you omit both headers, the API key alone authenticates. If present, it must be valid.
Errors
Conventions
- Async endpoints return
{ "syncBatchId": "<uuid>" }. Confirm resolution via the read endpoints or dashboard sync monitoring → Tracking Results. branchIdis your branch key (e.g.HQ), set when the company was connected.- Sales/stock line items reference the item
idreturned by Sync2Books, not yourexternalId. - For valid field codes (tax category, units, packaging, payment, classification), see Codes & Values.
Endpoint summary
Connecting a company is normally done in the dashboard; the provision endpoint is for programmatic onboarding only. See Connecting a Company.
Catalog
Register item
POST /companies/{companyId}/integrations/etims/catalog/items
itemType determines stock behavior: GOODS are stock-tracked (sales deduct inventory), SERVICE items are non-stock (sales ignore inventory). See Goods vs Services.
Returns { syncBatchId }.
List items
GET /companies/{companyId}/integrations/etims/catalog/items — returns your catalog (each item has its Sync2Books id, your externalId, and a registration status).
Sync items to eTIMS
POST /companies/{companyId}/integrations/etims/catalog/items/sync
Returns
{ syncBatchId }. Details: Catalog.
Sales
Create sale
POST /companies/{companyId}/integrations/etims/sales — query ?submit=true|false (default true).
Line item
Returns
{ syncBatchId }.
List sales
GET /companies/{companyId}/integrations/etims/sales — query: before, after, startDate, endDate, pageSize.
Get sale
GET /companies/{companyId}/integrations/etims/sales/{saleId} (saleId = the sale’s id).
Express credit note
POST /companies/{companyId}/integrations/etims/sales/credit-notes/express — query ?submit=true|false.
Returns
{ syncBatchId }. Details: Sales & Credit Notes.
Stock
Adjust stock
PUT /companies/{companyId}/integrations/etims/stock/adjust
Returns
{ syncBatchId }.
Transfer stock
POST /companies/{companyId}/integrations/etims/stock/transfer
Returns
{ syncBatchId }. Details: Stock.
Connect a company (advanced)
POST /companies/{companyId}/integrations/etims/provision
Most integrations connect companies in the dashboard. Use this endpoint only for programmatic onboarding.
Synchronous; returns the connection result.
409 if the company is already connected. Details: Connecting a Company.
Enums
Interactive reference. The live, always-current schema is in the Sync2Books API docs at https://api.sync2books.com/api.