Integrations
Developers

Public API, webhooks and a Postman collection

Everything is generated from the live API, so this page never drifts from what the server actually does. Authenticate with an API key, pull assets and work orders, push work orders from your ERP, and subscribe to signed webhooks.

Quickstart

Base URL https://mydbfm.com/api · header X-API-Key · 600 requests / minute per key by default; configurable per key

curl -H "X-API-Key: $DINABINA_API_KEY" https://mydbfm.com/api/v1/work-orders?status=open

Billing → API Keys (Professional and Enterprise plans). Keys are shown once and stored hashed.

All public endpoints live under /api/v1. Breaking changes ship as /api/v2 with 12 months of overlap.

Webhooks

Events: work_order.createdwork_order.closedasset.createdpm.dueiot.alertstatutory.duewebhook.test

HMAC-SHA256 over `{timestamp}.{raw_body}` using your subscription secret; reject if |now - timestamp| > 300 s. Headers X-DinaBina-Signature, X-DinaBina-Timestamp. 3 attempts with exponential back-off (10 s, 60 s, 10 min); endpoint must return 2xx within 10 s.

import hmac, hashlib
expected = hmac.new(secret.encode(), f"{ts}.{raw_body}".encode(), hashlib.sha256).hexdigest()
assert hmac.compare_digest(expected, signature)
const expected = crypto.createHmac('sha256', secret).update(`${ts}.${rawBody}`).digest('hex');
if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(signature))) throw new Error('bad signature');

Endpoint reference 10 endpoints · generated live

MethodPathDescriptionQuery params
GET/v1/assetsApi V1 Get Assetslimit, offset
GET/v1/work-ordersApi V1 Get Work Ordersstatus, limit, offset
POST/v1/work-ordersApi V1 Create Work Order—
GET/v1/inventoryApi V1 Get Inventory—
POST/v1/assets/syncApi V1 Sync Assets—
GET/v1/webhooksList Webhooks—
POST/v1/webhooksCreate Webhook—
DELETE/v1/webhooks/{sub_id}Delete Webhook—
POST/v1/webhooks/{sub_id}/testTest Webhook—
GET/v1/webhooks/{sub_id}/deliveriesWebhook Deliveries—

Errors

401

Missing or invalid API key

403

Key lacks permission / plan does not include API access

422

Validation error — body lists the field

429

Rate limit exceeded — retry after the Retry-After header

Need SAP, Oracle, Dynamics or a BMS gateway?

Enterprise plans include an integration engineer for the first connector.

DinaBina CMMS
Expert Support Team

Have questions about asset management, maintenance scheduling, or facility operations?

Our team is ready to help you optimize your facility management workflows.

Chat on WhatsApp Now

Available Mon-Sat, 9 AM - 6 PM IST

🍪

Cookie Policy

DinaBina CMMS uses cookies to improve your experience, remember your preferences, and provide analytics. By continuing, you agree to our use of cookies. You can opt out below. Learn more