DAKSHAPIOpenAPI fileAPI keys

DAKSH API

Loading…

Getting started

  1. In DAKSH, open your initials (top right) → Server console → API keys and create a key. Choose read, write or admin.
  2. Send it with every call: Authorization: Bearer dk_…
  3. Try it:

        

Responses are JSON. Errors look like {"error":{"code":"…","message":"…"}} with HTTP 400 (bad input), 401 (no or wrong key), 403 (not allowed), 404, 409 (busy or conflict) or 429 (too many requests; wait for Retry-After).

Connectors

Ready-made connectors run on this server and are set up by an admin under Server console → Connectors. Each one keeps its credentials encrypted on the server, can be tested, and can run any action as a dry run first to show what would change.

SystemWhat it does
Autodesk Construction Cloud (Autodesk Platform Services)Pull issues into DAKSH tasks and push tasks back as issues; pull and push RFIs; pull document folders and versions into the document register; pull cost budgets.
SAP S/4HANA (Enterprise Project API, OData)Pull the project and WBS elements; push planned and forecast dates to WBS elements; pull actual costs by WBS for cost control.
Oracle AconexPull the document register (optionally the files) and mail into the sealed communication trail; send mail from DAKSH.
Oracle Primavera P6 EPPM (P6 REST)Pull WBS, activities and relationships as a DAKSH schedule; push progress (percent complete, actual dates, remaining duration) back to P6.
Microsoft ProjectImport and export MS Project XML from any version; pull schedules from Project Server (ProjectData OData).
Primavera P6 filesImport and export XER and P6 XML with calendars, WBS, activities, relationships, constraints and progress.

Anything else (ERP, BI, Power BI, a client portal) can use the REST endpoints below and webhooks.

Webhooks

Admins subscribe a URL under Server console → Webhooks. DAKSH sends a POST with a JSON body for each event, retries with back-off for a day, and signs every call:

X-DAKSH-Event: task.updated
X-DAKSH-Delivery: 7f3c…
X-DAKSH-Timestamp: 1767225600
X-DAKSH-Signature: sha256=HMAC_SHA256(secret, timestamp + "." + raw_body)

Check the signature before trusting a call. Node.js:

const crypto = require('crypto');
function verified(req, rawBody, secret) {
  const ts = req.headers['x-daksh-timestamp'], sig = req.headers['x-daksh-signature'] || '';
  if (Math.abs(Date.now() / 1000 - Number(ts)) > 300) return false;
  const want = 'sha256=' + crypto.createHmac('sha256', secret).update(ts + '.' + rawBody).digest('hex');
  return sig.length === want.length && crypto.timingSafeEqual(Buffer.from(sig), Buffer.from(want));
}