The TeamWork REST API gives developers direct, authenticated access to work orders, assets, sites, and people — so you can connect TeamWork to internal systems, push events from external tools, or build custom reporting without exporting CSVs.
Enterprise maintenance teams rarely operate in isolation. ERP systems, IoT monitoring platforms, HR directories, and facility management tools all generate events or data that belongs in your CMMS. The TeamWork CMMS API is designed to be the integration point for those connections, handling both inbound data (create a work order from an external event) and outbound data (read completed work orders into a data warehouse or custom dashboard).
What the TeamWork CMMS API enables
Work order management:
- Create work orders from external events — IoT sensor alerts, ERP triggers, service requests from other systems
- Update work order status, priority, and assignment programmatically
- List and filter work orders by site, asset, status, or date range for reporting pipelines
Asset and site management:
- Sync asset records between TeamWork and ERP or inventory systems
- Create and update site and location records in bulk during initial setup or ongoing changes
- Read asset history and maintenance records for reporting or compliance exports
People and access:
- Provision and deprovision users via SCIM for organizations using an identity provider (Okta, Azure AD, and others that support SCIM 2.0)
- Read team member records for directory sync
Custom dashboards and reporting:
- Pull work order and asset data into BI tools (Power BI, Tableau, Metabase, or anything that can query a REST endpoint)
- Build internal dashboards that display live maintenance KPIs alongside other operational data
Outbound events via webhooks:
TeamWork can also push events to your systems. Configure outbound webhooks in Settings to receive a POST to your endpoint whenever a work order is created, updated, or completed. Webhook payloads are HMAC-signed so you can verify the source.
Authentication and scopes
Generate API keys in Settings → API. Each key is scoped to one of three permission levels:
- read — query work orders, assets, sites, and people; suitable for reporting integrations and dashboards
- write — create and update records; required for any integration that pushes data into TeamWork
- scim — user provisioning only; used by identity providers for automated account management
Keys are shown once at creation and hashed at rest. Rotate keys from the same settings screen.
The API enforces a default rate limit of 600 requests per 5-minute window per key. If your use case involves high-frequency IoT event ingestion or bulk operations, contact us to discuss options.
How to connect
- Log in to TeamWork and go to Settings → API.
- Create a new API key and select the scope your integration needs.
- Copy the key — it is only displayed once.
- In your application or tool, include the key as a Bearer token in the
Authorizationheader of each request:Authorization: Bearer YOUR_KEY. - API reference documentation is available at
https://teamworkcmms.com/api/v1/docs.
Who it’s for
The API is the right choice for IT teams building internal tools, developers connecting TeamWork to an ERP or facility management platform, and enterprise teams that need automated user provisioning. If you want to connect apps without writing code, the Zapier integration covers many of the same scenarios through a no-code interface.
See all TeamWork integrations or learn more about workflow automation features.
Start a free trial or connect your existing account.