WyrdOS
Open App

Create A Traceable Workflow

Copy-ready API calls for creating a container, zone, action, and linked page

This workflow creates a small execution path for Beta onboarding. Replace the placeholder IDs with IDs from your workspace.

Prerequisites

  • API_BASE_URL: your hosted API proxy, Convex site URL, or local proxy.
  • API_KEY: a workspace-scoped key with read and write permissions.
  • ORGANISATION_ID: the workspace organisation ID.
  • Optional existing strategy IDs: PILLAR_ID, GOAL_OUTCOME_ID.
export API_BASE_URL="https://<your-wyrdos-api-host>"
export API_KEY="<API_KEY>"
export ORGANISATION_ID="org_abc123"

1. Create A Container

curl -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  "$API_BASE_URL/api/v1/containers" \
  --data '{
    "organisationId": "org_abc123",
    "name": "Product",
    "status": "active",
    "priority": "medium",
    "content": "Owns beta onboarding readiness and product experience work.",
    "pillarIds": ["pillar_product_clarity"],
    "goalOutcomeIds": ["goal_beta_onboarding"]
  }'

Expected: 200 OK with data._id. Save it as CONTAINER_ID.

2. Create A Zone

curl -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  "$API_BASE_URL/api/v1/zones" \
  --data '{
    "organisationId": "org_abc123",
    "containerId": "container_product",
    "name": "Onboarding cleanup",
    "status": "active",
    "description": "Review first-run flow and record the top three confusing steps.",
    "doDate": 1782828000000,
    "dueDate": 1783432800000
  }'

Expected: 200 OK with data._id. Save it as ZONE_ID.

3. Create An Action

curl -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  "$API_BASE_URL/api/v1/actions" \
  --data '{
    "organisationId": "org_abc123",
    "containerId": "container_product",
    "zoneId": "zone_launch_readiness",
    "name": "Document onboarding blockers",
    "description": "Write the top three confusing steps and proposed fixes.",
    "doDate": 1782828000000,
    "dueDate": 1783432800000
  }'

Expected: the action belongs to the same zone and container.

4. Create A Page

curl -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  "$API_BASE_URL/api/v1/pages" \
  --data '{
    "organisationId": "org_abc123",
    "containerId": "container_product",
    "name": "Beta onboarding review",
    "content": "Decision notes, evidence, and follow-up actions for beta onboarding."
  }'

Expected: the page is available from the container's related pages.

5. Verify Context

curl -H "Authorization: Bearer $API_KEY" \
  "$API_BASE_URL/api/v1/engines/context?organisationId=$ORGANISATION_ID"

Expected: the response includes strategy context that can explain why the product and onboarding work exists.

Quality Checks

  • Use real IDs returned by earlier calls before automating this flow.
  • Keep API keys out of shell history and logs.
  • Prefer read-only keys for verification jobs.
  • Do not delete records until you have exported any data you may need to restore.