Helium PIM API

Call shape

module / op / input, errors, idempotency.

POST /v1/{module}
Authorization: Bearer pim_sk_live_...
Idempotency-Key: optional
Content-Type: application/json

{ "op": "author", "workspaceId": "...", "prompt": "...", "resourceTypeId": "..." }

Unified alias:

POST /v1
{ "module": "columns", "op": "author", "input": { "workspaceId": "...", "prompt": "..." } }

Names match MCP pim_{module}({ op, ... }) without the pim_ prefix on the path.

Envelope

{ "ok": true, "module": "columns", "op": "author", "data": {} }
{ "ok": false, "error": { "code": "forbidden", "message": "...", "module": "columns", "op": "publish" } }

workspaceId is required unless the key is pinned to one workspace.

Long jobs (video, agent, column refresh) return { id, status } immediately. Poll generate.get or jobs.get_progress.

On this page