Developers & API

The ASHR.work API

A read-only public API for product & module metadata. OpenAPI 3.1, a Swagger reference, RFC 9457 errors, cursor pagination, and X-Request-Id on every response. Anonymous-first — no key needed to read.

Quickstart

Every endpoint is a plain GET. Base URL https://ashr.work/api.

# List available modules
curl -s https://ashr.work/api/v1/modules?status=available | jq

# One module
curl -s https://ashr.work/api/v1/modules/leave-management | jq

# Full capabilities manifest
curl -s https://ashr.work/api/v1/capabilities | jq

# With a Demystify API key (needed only for scoped endpoints)
curl -s -H "Authorization: Bearer dmk_live_..." https://ashr.work/api/v1/modules | jq

Endpoints

GET/v1/healthLiveness check.
GET/v1/capabilitiesFull capabilities manifest (product, modules, surfaces).
GET/v1/modules?status=available&limit=50List modules (cursor-paginated).
GET/v1/modules/{slug}One module by slug.

Tenant data endpoints

Read your own workspace’s data with a key that carries the resource’s scope. Every response is tenant-scoped to the key; each has a list and a /{id} variant.

GET/v1/whoamiThe current key’s id, env and scopes.
GET/v1/employeesemployees:readList employees (list + /{id}).
GET/v1/leave-requestsleave:readLeave requests (list + /{id}).
GET/v1/leave-typesleave:readLeave types.
GET/v1/holidaysholidays:readHoliday calendar.
GET/v1/assetsassets:readAsset register.
GET/v1/job-openingsrecruitment:readRecruitment job openings.
GET/v1/helpdesk-ticketshelpdesk:readHelpdesk tickets.
GET/v1/surveyssurveys:readSurveys.
POST/v1/leave-requestsleave:writeApply for leave (idempotent). Also /{id}/approve|reject|cancel.
POST/oauth/tokenOAuth2: client_credentials + refresh_token grants.

Guides

API keys

Keys are dmk_live_ / dmk_test_, sent as a Bearer token, hashed at rest, scoped per module, rotatable and revocable. The metadata API is anonymous; keys unlock your tenant data. Admins generate and manage keys in-app under Admin → Settings → Developer & API.

Import anywhere

Point Postman, Insomnia, Swagger UI or Scalar at /api/openapi.json, or grab the Postman collection. For agents, see /for-agents and the MCP server.