Introduction
Welcome to the Atomicwork API
The Atomicwork API gives you programmatic access to the core capabilities of your agentic service management platform — so you can extend Atomicwork to fit the way your organisation works.
Whether you’re syncing data with internal tools, triggering service actions from external systems, or building entirely new experiences on top of Atomicwork, the API puts the full power of the platform in your hands.
With the Atomicwork API, you can:
- Create and manage requests — programmatically open incidents, service requests, and general tickets, and update them as work progresses.
- Automate workflows — trigger and orchestrate service processes without manual intervention, directly from your own systems.
- Integrate with your existing stack — connect Atomicwork to the tools, platforms, and pipelines your teams already rely on.
- Access and sync data — read user, asset, and request data to power reporting, dashboards, and cross-system visibility.
Authentication
Every request must include your API key in the X-Api-Key header:
Generate an API key from Settings → Integrations → API Keys in your Atomicwork workspace. Keys are workspace-scoped — a key created in one workspace cannot access another.
Workspace scoping
Most endpoints are scoped to a workspace. Include the numeric workspace ID in the X-Workspace-Id header on every request:
Your workspace ID is visible in Settings → Workspace or returned by GET /api/v1/workspaces.
Base URL
Replace {tenant} with your Atomicwork subdomain (e.g. acme.atomicwork.com).
Filtering
Many list endpoints accept structured filters that let you narrow results by any entity field. Filters can be passed as the request body (an array) or inside a filters field on the request object. Each filter specifies an attribute, an operator, and a values array:
Refer to each endpoint’s documentation for the list of supported attributes and operators.
Pagination
Offset-based endpoints accept page (1-indexed) and per_page (default 25, max 100). Cursor-based endpoints return a next_page_token in the response — pass it on the next request to fetch the following page. When next_page_token is absent, you have reached the last page.
Error handling
All errors follow a consistent JSON envelope:

