ForumTopic

A request or response body; the type column links to the schemas it refers to.

ForumTopic

FieldTypeRequiredDescription
idstring (uuid)yes—
organization_idstring (uuid)yes—
organization_namestringyes—
forum_idstring (uuid)yes

The forum the discussion is in.

forum_namestringyes—
forum_archived_atstring (date-time) | nullyes

Set while the forum is archived: the discussion stays readable, but nobody replies or edits until the forum is restored.

department_idstring (uuid)yes

The forum's department. Everyone holding a role in it, or in a department nested beneath it, may read the discussion and take part.

department_namestringyes—
titlestringyes—
author_user_idstring (uuid) | nullyes

The account that wrote it; null once that account has been deleted.

author_namestring | nullyes

The author's display name or email; null when unknown or deleted.

created_atstring (date-time)yes—
edited_atstring (date-time) | nullyes

When the author last changed the title, body or links; null if never.

last_activity_atstring (date-time)yes

The opening post or the latest reply, whichever is newer.

pinned_atstring (date-time) | nullyes

Set while a moderator has pinned the discussion to the top of its forum.

locked_atstring (date-time) | nullyes

Set while a moderator has locked the discussion: only moderators may reply, and nobody may edit.

reply_countintegeryes

minimum 0

body_markdownstringyes

The opening post, as its author wrote it. Markdown (GitHub-flavoured); clients must render it sanitized — raw HTML and unsafe link protocols are not part of the format.

resourcesarray of ForumResourceyes

The linked material the caller may open, in the order the author listed it. A link to something outside the caller's reach is left out, and counted below.

hidden_resource_countintegeryes

Linked material the caller cannot open — not in its audience, archived, or its feature switched off.

minimum 0

repliesarray of ForumReplyyes

Every reply, oldest first.

viewerForumTopicVieweryes—
jsonExample
{
  "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "organization_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "organization_name": "string",
  "forum_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "forum_name": "string",
  "forum_archived_at": "2026-01-01T00:00:00.000Z",
  "department_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "department_name": "string",
  "title": "string",
  "author_user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
  "author_name": "Sam Rivera",
  "created_at": "2026-01-01T00:00:00.000Z",
  "edited_at": "2026-01-01T00:00:00.000Z",
  "last_activity_at": "2026-01-01T00:00:00.000Z",
  "pinned_at": "2026-01-01T00:00:00.000Z",
  "locked_at": "2026-01-01T00:00:00.000Z",
  "reply_count": 0,
  "body_markdown": "string",
  "resources": [
    {
      "kind": "job_aid",
      "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "label": "Forklift pre-start checklist",
      "href": "/my-job-aids/0b6f3c2e-6a51-4c55-9e8a-2f7d9b1c4a10"
    }
  ],
  "hidden_resource_count": 0,
  "replies": [
    {
      "id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "topic_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "author_user_id": "1b671a64-40d5-491e-99b0-da01ff1f3341",
      "author_name": "Sam Rivera",
      "body_markdown": "string",
      "created_at": "2026-01-01T00:00:00.000Z",
      "edited_at": "2026-01-01T00:00:00.000Z",
      "viewer": {
        "edit": true,
        "delete": true
      }
    }
  ],
  "viewer": {
    "reply": true,
    "edit": true,
    "delete": true,
    "moderate": true
  }
}