The API the product runs on.
Same REST + GraphQL endpoints workwrk uses internally. Type-safe SDKs. Webhooks on every entity. Build automations, integrations, or embeds — without backfilling our APIs.
import { Workwrk } from "@workwrk/sdk";
const wwk = new Workwrk({ apiKey: process.env.WORKWRK_KEY });
await wwk.people.create({
name: "Priya Iyer",
email: "priya@helios.com",
role: "Head of Ops",
location: "Bengaluru",
});Build on the platform.
REST + GraphQL
Two ways to query. REST for simple flows; GraphQL for nested entities. Same auth, same rate limits.
Webhooks
Every entity emits events on create / update / delete. Signed payloads, retries with exponential backoff.
SDKs
TypeScript, Python, Go. Type-safe, autocomplete-friendly, kept in sync with the API surface.
Reference docs
OpenAPI 3.1 spec, interactive playground, real example payloads. Built with Stoplight.
Rate limits
Generous defaults (1000 req/min on Growth, 10,000 on Scale). Burst-tolerant. Custom quotas on Scale.
Open SDKs
SDKs are MIT-licensed and on GitHub. Issue trackers, PR-friendly maintainers.
Three lines from the docs.
import { Workwrk } from "@workwrk/sdk";
const wwk = new Workwrk({ apiKey: process.env.WORKWRK_KEY });
await wwk.people.create({
name: "Priya Iyer",
email: "priya@helios.com",
role: "Head of Ops",
location: "Bengaluru",
});// Webhook: POST /your-endpoint
{
"event": "kpi.score_changed",
"payload": {
"personId": "p_abc",
"kpiId": "k_xyz",
"previous": 78,
"current": 92,
"period": "2026-05"
}
}query TeamPerf {
team(id: "t_eng") {
members {
name
compositeScore
kpis { name value target }
}
}
}Build something on workwrk.
API keys live in workspace settings. Need help? developers@workwrk.com — we respond fast.