Skip to content

Overview

The Ditio API lets you integrate your systems with Ditio’s construction platform. Whether you need to create projects and employees from your ERP, export time and payroll data, push machine telemetry from your fleet, or pull site photos for an archive — the API provides programmatic access to your Ditio data.

Ditio has two environments. Credentials are per-environment.

ProductionTest
APIhttps://core-api.ditio.app/corehttps://core-api.ditio.dev/core
Reporting APIhttps://core-api.ditio.app/reportinghttps://core-api.ditio.dev/reporting
Identity serverhttps://identity.ditio.apphttps://identity.ditio.dev
Webhttps://app.ditio.no
GoalEndpoint / toolDocs
Create and manage projectsapi/v4/integration/projectsProjects
Create and manage work orders (tasks)api/v4/integration/tasksWork Orders
Create and manage employees (v4)api/v4/integration/usersUsers
Create and manage employees (v5)api/v5/integration/employeesEmployees v5
Create and manage machines and equipmentapi/v4/integration/machinesMachines
Manage user certificatesapi/v4/integration/certificatesCertificates
Attach documents to projects & work ordersapi/v4/integration/{projects,tasks}/{id}/documentsDocuments
Export payroll dataapi/payroll-export/Payroll Export
Extract time, absence, HSE, and metadata/v1/... on the reporting baseData Extraction
Extract project images/v1/imagesImage Extraction
Connect Power BIPower BI templatePower BI
Azure AD single sign-onAzure PortalAzure AD SSO
Automatic user provisioningSCIM 2.0SCIM Provisioning

The partner-facing CRUD surface under api/v4/integration/* and api/v5/integration/* on the core API base. This is where you create and maintain projects, work orders, users, machines, certificates, and documents. Scope: ditioapiv3.

Paginated, read-only extraction endpoints under /v1/... on the reporting base. Designed for BI tools, payroll integrators, and data warehouses — every endpoint supports cursor-based pagination with ContinuationToken and incremental sync with ModifiedSince. Scope: reportingapiv1.

Write endpoints for pushing excavator states and weight measures from fleet management, telematics, and weighbridge systems. Scope: masstransportapiv1. See Machine Integration.

Most integrations set up data in this order:

1. Projects → Create your projects first
2. Work orders → Add work orders (tasks) to each project
3. Users → Create employee accounts
4. Machines → Register machines and equipment

Projects must exist before you can add work orders to them. Users and machines can be created independently.

  • All requests require a valid Bearer token in the Authorization header
  • All request/response bodies are JSON with camelCase property names
  • Dates are in ISO 8601 format: 2026-01-15T00:00:00Z
  • IDs are strings
  • companyId is required on all create operations — this is your Ditio company ID
  • PUT replaces all fields (full update)
  • PATCH updates only the fields you send (partial update)
  • DELETE is permanent and cascades to related data
CodeMeaning
200Success
201Created
204Success (no response body)
400Bad request — check required fields and validation rules
401Unauthorized — token is missing, expired, or invalid
404Resource not found
500Server error — contact Ditio support

See Error Handling for details and retry strategies.

Ready-made code examples and Postman collections: