Universal Work Engine API Docs →
REST API  ·  JSON  ·  Bearer Auth

The Work Engine API

A multi-tenant REST API for managing projects, work items, and workflows — with state machines, assignments, custom fields, and external integrations.

View API Docs Register →

API Resources

/projects
Projects
Organize work into scoped containers with custom fields and workflows.
/work-items
Work Items
Tasks, issues, and subtasks with parent-child hierarchy and relations.
/workflows
Workflows
State machines with configurable states and allowed transitions.
/users
Users
Multi-user tenants with role-based assignments on work items.
/connections
Connections
Integrate external tools with field mapping and sync jobs.
/custom-fields
Custom Fields
Extend work items with per-project field definitions.

Quick Start

1
Register your account
Send a POST request to /api/v1/auth/register with your name, email, password, and tenant name.
2
Receive your Bearer token
The response includes a token field. Use it in all subsequent requests.
3
Make authenticated requests
Set the Authorization: Bearer {token} header on every request.
Create a work item
# 1. Register
curl -X POST /api/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"name":"Jane","email":"jane@co.com",
     "password":"secret","tenant_name":"Acme"}'

# 2. Create a project
curl -X POST /api/v1/projects \
  -H "Authorization: Bearer {token}" \
  -d '{"name":"My Project","workflow_id":1}'

# 3. Create a work item
curl -X POST /api/v1/projects/1/work-items \
  -H "Authorization: Bearer {token}" \
  -d '{"title":"First task","type":"task"}'

Endpoints

Auth
POST /api/v1/auth/register
POST /api/v1/auth/login
POST /api/v1/auth/logout
Projects
GET /api/v1/projects
POST /api/v1/projects
PUT /api/v1/projects/{id}
DELETE /api/v1/projects/{id}
Work Items
GET /api/v1/projects/{id}/work-items
POST /api/v1/projects/{id}/work-items
PUT /api/v1/work-items/{id}
POST /api/v1/work-items/{id}/transition
Workflows
GET /api/v1/workflows
POST /api/v1/workflows
GET /api/v1/workflows/{id}/states
Import
POST /api/v1/import/bulk
POST /api/v1/import/file