GroWrk for Developers
Device lifecycle infrastructure, built into your product.
Connect workforce events in your application to real-world device operations through GroWrk.
POST /v4/orders
X-API-KEY: grk_sk_…
Content-Type: application/json
{
"type": "deployment",
"employee_id": "emp_23981",
"country": "SG"
}request → physical execution → event
- Your App
- GroWrk API
- Device Operation
- GroWrk Execution
- Status / Event
- Your App
The loop closes: every request GroWrk executes in the physical world returns to your application as a status change or event.
What you can build
Lifecycle operations your product can control.
Each of these maps to an operation already exposed by the GroWrk v4 surface — through the API, the CLI, or the MCP server.
Deploy a device
Trigger a deployment order for an employee in a supported market.
POST /v4/orders
Retrieve a device
Start an offboarding or collection order when someone leaves.
POST /v4/orders
Check lifecycle status
Read the current state and full event history of any order.
GET /v4/orders/{id}/history
Track an order
Read shipment tracking and SLA status for in-flight operations.
GET /v4/orders/{id}/tracking
Manage inventory
Search company inventory and devices assigned to an employee.
GET /v4/inventory
Trigger repair or replacement
Place a maintenance or swap order against an existing device.
POST /v4/orders
Initiate end-of-life workflows
Collect devices for storage, redeployment, or responsible disposal.
POST /v4/orders
Quickstart
From access to executed operation.
Six steps from credentials to a device physically delivered, retrieved, or repaired — with your product kept in sync.
Get access
Embedded partners receive credentials for the environments agreed during onboarding.
Authenticate
API requests are authenticated with your GroWrk API key. The MCP server uses OAuth 2.1.
X-API-KEY: grk_sk_…
Create or reference the employee / asset
Create the person in GroWrk, or reference an existing employee and their assigned devices.
POST /v4/employees
GET /v4/employees/{id}/devicesTrigger a lifecycle operation
Place the order that maps to your product event — deployment, collection, maintenance, swap.
POST /v4/orders
{
"type": "deployment",
"employee_id": "emp_23981",
"country": "SG"
}Receive status updates
Read order status, history, tracking, and SLA as GroWrk executes the operation.
GET /v4/orders/{id}
GET /v4/orders/{id}/tracking
GET /v4/orders/{id}/slaKeep your application synchronized
Persist the returned lifecycle state against your own records so your product stays accurate.
{
"id": "ord_48291",
"status": "processing",
"sla": { "expected_days": 7, "late": false }
}Request and response shapes shown for illustration. Partners receive the authoritative reference during onboarding.
Lifecycle event model
One loop: your event in, physical execution out, event back.
GroWrk is event driven by design. Your application never has to poll a human process.
Your application event
- Employee hired
- Employee terminated
- Device issue
- Asset refresh
GroWrk lifecycle request
- deployment
- offboarding
- maintenance
- swap
Physical execution
- Sourced
- Configured
- Shipped
- Delivered / Collected
Lifecycle event returned
- order.created
- order.status_changed
- shipment.delivered
Capability reference
One capability set. Three surfaces.
Every capability is exposed identically over the v4 REST API, the growrk CLI, and the MCP server for AI agents — backed by one shared execution core, so they never drift.
- 17
- Capabilities
- 13 read · 4 write
- Access
- 3
- Surfaces
- ai.growrk.com
- Base host
Orders
8 tools · mcp:orders:read · :writelist_orders
ReadSearch & list orders — free-text, status/type filters, sorting, pagination.
get_order
ReadOne order with full hierarchy — parent + sub-orders, device requests, tracking.
get_order_history
ReadFull event history — status logs plus a per-device courier + product timeline.
get_tracking
ReadShipment tracking — GroWrk records merged with live TrackingMore courier data.
get_order_sla
ReadNewSLA / delay status — days elapsed vs expected, whether it's late, and why.
validate_order_constraints
ReadPre-flight check — can this order type be placed for an employee & their devices.
create_order
WritePlace an order — deployment, offboarding, collection, maintenance, or swap.
add_power_accessory
WriteRequest a replacement charger for a device on an existing order.
Employees
4 tools · mcp:employees:read · :writelist_employees
ReadSearch & list employees — free-text, status filter, sorting, pagination.
get_employee
ReadOne employee, including their stored delivery address.
create_employee
WriteCreate an employee record — name + email required.
update_employee
WriteUpdate editable fields — name, email, team, department, delivery address.
Inventory & Devices
4 tools · mcp:inventory:readsearch_inventory
ReadSearch a company's device inventory — category, country, status, in-stock filters.
get_assigned_devices
ReadDevices currently assigned to an employee.
get_device_options
ReadAvailable device options ranked by spec & availability — for choices & redeployment.
suggest_alternative_device
ReadPurchasable catalog alternatives for a country, ranked by maker/spec/price.
Identity
1 tools · no scope requiredwhoami
ReadYour identity & access level — which companies and scopes the key/session carries.
REST — X-API-KEY: grk_sk_… on https://ai.growrk.com/v4/… · CLI — npm i -g @growrk/cli, then growrk auth login · MCP — POST https://ai.growrk.com/mcp (OAuth 2.1)
Webhooks
The physical world, exposed as events.
Subscribe to lifecycle events so your application always knows what is happening with a device in the real world.
- 14:32:04deployment.created
- 14:32:08device.sourced
- 14:45:21configuration.started
- 15:04:49configuration.completed
- 15:07:12shipment.created
- 18:42:09shipment.in_transit
- 09:21:31shipment.delivered
- 09:21:34asset.assigned
{
"type": "shipment.delivered",
"data": {
"deployment_id": "dep_78219",
"employee_id": "emp_23981",
"device_id": "dev_82117",
"country": "SG"
}
}Platform principles
How the platform behaves.
Secure
Scoped access and enterprise controls.
Event driven
Keep lifecycle state synchronized with your product.
Operational
API requests connect to real-world execution.
Global
One integration provides access to supported GroWrk markets.
Architecture
Your product. Our infrastructure.
Physical IT operations exposed through software — your application sends an instruction, GroWrk executes it.
Your product
- Employee Created
- Employee Terminated
- IT Ticket
- Admin Request
- API Call
GroWrk API
GroWrk orchestration
- Procurement
- Device Configuration
- Warehouses
- Couriers
- Employee Communication
- Retrievals
- Repairs
- Storage
- Redeployment
- ITAD
Employee / Device — anywhere
You shouldn't need to become a logistics company to offer global IT.
Your product owns the customer experience. GroWrk abstracts the infrastructure required to execute device operations around the world.
Documentation
Everything an integration team needs.
Public documentation covers the integration model, authentication, environments, core resources, API fundamentals, and lifecycle events. Credentials are issued separately.
Developer access
Build before you launch.
Work with the GroWrk team to evaluate integration requirements and developer access. Environments, credentials, and scopes are agreed with your team during onboarding.
What we scope together
- Which lifecycle operations your product triggers
- Which markets you need on day one
- How lifecycle events flow back into your systems
- Access scopes and environments for your team
Build with GroWrk, not around GroWrk.
Embedded partners work directly with the GroWrk team during implementation — integration scoping, technical review of your lifecycle flows, and support through go-live.
