WyrdOS
Open App

Containers

API endpoints for containers

List containers

GET /api/v1/containers

Parameters

NameInTypeRequiredDescription
organisationIdquerystringNo
statusquerystring (backlog, new, next_up, active, future, completed, cancelled, on_hold)No
priorityquerystring (none, low, medium, high, urgent)No
principleIdquerystringNo
limitqueryintegerNo
includeContentquerybooleanNoWhen true, each item includes Lexical content and inboxContent (large). Default omits them for smaller list payloads.
cursorquerystringNoOpaque continuation token from a previous list response's nextCursor.

Example request

curl -X GET \
"https://<your-wyrdos-api-host>/api/v1/containers?organisationId=<organisationId>&status=<status>&priority=<priority>&principleId=<principleId>&limit=<limit>&includeContent=<includeContent>&cursor=<cursor>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Example response

Status: 200

{
  "data": [
    {
      "_id": "item_abc123",
      "name": "Launch readiness",
      "priority": "medium",
      "status": "active",
      "heroImageUrl": "https://example.com/launch-plan",
      "reviewDate": 1782828000000,
      "timelineDate": 1782828000000,
      "orgAccess": "all",
      "userId": "item_abc123",
      "organisationId": "org_abc123",
      "createdAt": 1782828000000,
      "updatedAt": 1782828000000,
      "sharedRole": "admin"
    }
  ],
  "nextCursor": "Launch readiness"
}

Other statuses: 401.

Response body type

{ data: ContainerListItem[]; nextCursor: string }


Create container

POST /api/v1/containers

Example request

curl -X POST \
"https://<your-wyrdos-api-host>/api/v1/containers" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"name":"Launch readiness","priority":"medium","status":"active","heroImageUrl":"https://example.com/launch-plan","content":"Decision notes, owner context, and next actions.","inboxContent":"Decision notes, owner context, and next actions.","reviewDate":1782828000000,"timelineDate":1782828000000,"organisationId":"org_abc123","orgAccess":"all","typeIds":["type_strategy"],"categoryIds":["category_docs"],"pillarIds":["pillar_product_clarity"],"principleIds":["item_abc123"],"valueGoalIds":["goal_beta_readiness"],"goalOutcomeIds":["goal_beta_readiness"]}'

Example response

Status: 200

{
  "data": {
    "_id": "item_abc123",
    "name": "Launch readiness",
    "priority": "medium",
    "status": "active",
    "heroImageUrl": "https://example.com/launch-plan",
    "content": "Decision notes, owner context, and next actions.",
    "inboxContent": "Decision notes, owner context, and next actions.",
    "reviewDate": 1782828000000,
    "timelineDate": 1782828000000,
    "userId": "item_abc123",
    "organisationId": "org_abc123",
    "folderId": "item_abc123",
    "createdAt": 1782828000000,
    "updatedAt": 1782828000000
  }
}

Other statuses: 400, 401.

Response body type

{ data: Container }


Get container by id

GET /api/v1/containers/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYes
includeZonesquerybooleanNo
includeActionsquerybooleanNo
includeMasterPagesquerybooleanNoInclude master documents for this container.
includePagesquerybooleanNo
organisationIdquerystringNo

Example request

curl -X GET \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>?includeZones=<includeZones>&includeActions=<includeActions>&includeMasterPages=<includeMasterPages>&includePages=<includePages>&organisationId=<organisationId>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Example response

Status: 200

{
  "data": {
    "_id": "item_abc123",
    "name": "Launch readiness",
    "priority": "medium",
    "status": "active",
    "heroImageUrl": "https://example.com/launch-plan",
    "content": "Decision notes, owner context, and next actions.",
    "inboxContent": "Decision notes, owner context, and next actions.",
    "reviewDate": 1782828000000,
    "timelineDate": 1782828000000,
    "userId": "item_abc123",
    "organisationId": "org_abc123",
    "folderId": "item_abc123",
    "createdAt": 1782828000000,
    "updatedAt": 1782828000000
  }
}

Other statuses: 401, 403, 404.

Response body type

{ data: Container }


Update container

PATCH /api/v1/containers/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYes

Example request

curl -X PATCH \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"name":"Launch readiness","priority":"medium","status":"active","heroImageUrl":"https://example.com/launch-plan","content":"Decision notes, owner context, and next actions.","inboxContent":"Decision notes, owner context, and next actions.","reviewDate":1782828000000,"timelineDate":1782828000000}'

Example response

Status: 200

{
  "data": {
    "_id": "item_abc123",
    "name": "Launch readiness",
    "priority": "medium",
    "status": "active",
    "heroImageUrl": "https://example.com/launch-plan",
    "content": "Decision notes, owner context, and next actions.",
    "inboxContent": "Decision notes, owner context, and next actions.",
    "reviewDate": 1782828000000,
    "timelineDate": 1782828000000,
    "userId": "item_abc123",
    "organisationId": "org_abc123",
    "folderId": "item_abc123",
    "createdAt": 1782828000000,
    "updatedAt": 1782828000000
  }
}

Other statuses: 400, 401, 403, 404.

Response body type

{ data: Container }


Delete container

DELETE /api/v1/containers/{id}

Parameters

NameInTypeRequiredDescription
idpathstringYes
organisationIdquerystringNo

Example request

curl -X DELETE \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>?organisationId=<organisationId>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Other statuses: 401, 403, 404.

Response body type


List pages linked to container

GET /api/v1/containers/{id}/pages

Parameters

NameInTypeRequiredDescription
idpathstringYes
organisationIdquerystringNo
limitqueryintegerNo
cursorquerystringNoOpaque continuation token from a previous list response's nextCursor.

Example request

curl -X GET \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>/pages?organisationId=<organisationId>&limit=<limit>&cursor=<cursor>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Example response

Status: 200

{
  "data": [
    {
      "_id": "item_abc123",
      "name": "Launch readiness",
      "userId": "item_abc123",
      "organisationId": "org_abc123",
      "createdAt": 1782828000000,
      "updatedAt": 1782828000000
    }
  ],
  "nextCursor": "Launch readiness"
}

Response body type

{ data: PageMeta[]; nextCursor: string }


POST /api/v1/containers/{id}/pages/link

Parameters

NameInTypeRequiredDescription
idpathstringYes
organisationIdquerystringNo

Example request

curl -X POST \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>/pages/link?organisationId=<organisationId>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"pageId":"page_launch_plan"}'

Response body type


POST /api/v1/containers/{id}/pages/unlink

Parameters

NameInTypeRequiredDescription
idpathstringYes

Example request

curl -X POST \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>/pages/unlink" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"pageId":"page_launch_plan"}'

Response body type


Types that have at least one master document in this container

GET /api/v1/containers/{id}/master-document-types

Parameters

NameInTypeRequiredDescription
idpathstringYes
organisationIdquerystringNo

Example request

curl -X GET \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>/master-document-types?organisationId=<organisationId>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Response body type


List master documents for a container and document type

GET /api/v1/containers/{id}/master-documents

Parameters

NameInTypeRequiredDescription
idpathstringYes
masterDocumentTypeIdquerystringYes
organisationIdquerystringNo

Example request

curl -X GET \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>/master-documents?masterDocumentTypeId=<masterDocumentTypeId>&organisationId=<organisationId>" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json"

Response body type


Create master document (body or fromTemplate)

POST /api/v1/containers/{id}/master-documents

Parameters

NameInTypeRequiredDescription
idpathstringYes

Example request

curl -X POST \
"https://<your-wyrdos-api-host>/api/v1/containers/<id>/master-documents" \
-H "Authorization: Bearer <API_KEY>" \
-H "Content-Type: application/json" \
-d '{"masterDocumentTypeId":"type_strategy","name":"Launch readiness","body":"Decision notes, owner context, and next actions.","organisationId":"org_abc123"}'

Response body type