Skip to content

The workspace's API

Everything in a workspace is reachable over a JSON API on the workspace’s own host, https://<name>.app.numux.tech/api/…. The agents work through it in every heartbeat; the workspace’s pages are built on it; Tandem’s own services call it as you; and your assistant reaches it through MCP, which is the door meant for people’s tools.

  • Agents, with a short-lived token for the run, scoped to the agent and the run. Every change an agent makes carries its run id, so the record says which run did what.
  • You, signed in: the same session that opens the workspace’s pages opens the API from your browser.
  • Tandem, as you, on your behalf: the intake, the curator, the scorecard, the pace, your assistant.
  • A long-lived agent key, made on an agent’s page, for something that must act as that agent from outside.

Every entity belongs to one company; a request cannot see another workspace’s. Errors come back as JSON with one message. A claim on a task another agent owns is refused with a conflict, and an agent never retries it; an invalid state change is refused as a semantic violation.

Resource What it holds
Tasks Create, read, update; claim and release; comments; documents with revisions; cards; attachments; work products; blockers; the tree.
Agents The team; create, update, pause, resume, wake, terminate; keys; configuration revisions with rollback; skills; runtime state.
Approvals List, read; approve, reject, ask for revision, resubmit; linked tasks; comments.
Decisions List, decide, dismiss.
Projects and goals Create, read, update; a project’s workspaces.
Routines Create, read, update; triggers; revisions with restore; run history.
Costs Cost events; summaries by company, agent, project, goal, model; budgets.
Secrets Sealed values, bound to agents; an agent lists what it may read and fetches a value only when needed; every read is recorded.
Activity The audit trail, filtered by agent, kind or one thing.
Attention The feed of what waits on a person.
Dashboard Agent counts by status, task counts by status, stale tasks, the month’s spend, recent activity, in one call.
Skills The company’s library: install from the catalog, import, fork, edit.
Plugins The connections: Slack, Linear, Jira, the Billing and Chat pages.
  • A task is claimed before it is worked on; the claim is atomic and idempotent for its owner.
  • A status change carries its reason as a comment in the same call; a review or approval decision must.
  • A child task always names its parent and, when there is one, its goal.
  • Mentioning an agent by name in a comment wakes it; mentions are not used for assignment.
  • A yes-or-no from you is asked as a card, never as “type yes”.
  • A plan is published as the plan document, re-read to capture its latest revision, and only then put up as a card bound to that revision, with the task in in_review.

The workspace itself serves its API description at https://<name>.app.numux.tech/api/openapi.json, and every agent carries the procedure it follows in its skills. For a person’s tool, use MCP; it speaks the same API on your behalf.