> ## Documentation Index
> Fetch the complete documentation index at: https://superthread.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get project activity

> Returns the activity feed of a card or project (epic) in a workspace (`team_id`), newest first.
The feed contains comments and activity entries, such as the card being moved or its tags changing.
To get a project's activity, pass its `epic_id` as `card_id`.


Returns a project's activity feed, newest first: its comments and activity entries, such as health status updates. Set `filter` to `comment` or `activity_entry` to get only one kind.

Pass the project's `epic_id` as `card_id`. Projects are known as epics throughout the API; see [API terminology](https://superthread.com/docs/api-docs/api-terminology.md).


## OpenAPI

````yaml GET /{team_id}/activity
openapi: 3.0.0
info:
  description: Superthread Public API Specification
  version: '0.1'
  title: Public API
  contact:
    email: engineering@superthread.com
servers:
  - url: https://api.superthread.com/v1
security:
  - BearerAuth: []
tags:
  - name: AI
    description: >-
      [Service: AI]. Handles AI-powered functionalities, such as
      recommendations, predictions, and automation features.
  - name: Activity
    description: >-
      [Service: Activity] Manages all activities; creating notifications and
      digests
  - name: Auth
    description: >-
      [Service: Auth] Responsible for user authentication, authorization, and
      session management.
  - name: Boards
    description: >-
      [Service: Boards] Manages core collaboration features such as "boards",
      "cards", "lists", "sprints", "epics".
  - name: Comments
    description: >-
      [Service: Comments] Handles the creation, editing, and management of
      comments across various entities.
  - name: Customers
    description: >-
      [Service: Customers] Manages customers, customer tiers and statuses,
      customer settings, and customer requests on cards and projects. Requires
      the `customers` team feature; not available to workspace guests.
  - name: Favourites
    description: >-
      [Service: Favourites] Responsible for favouriting resources in the system
      for quick access.
  - name: Files
    description: >-
      [Service: Files] Manages file uploads, storage, and retrieval for user and
      project resources.
  - name: Importer
    description: >-
      [Service: Importer] Handles data import operations from external sources
      into the platform.
  - name: Integrations
    description: >-
      [Service: Integrations] Facilitates connectivity with external tools and
      services, enabling smooth integration with third-party platforms and APIs.
  - name: Pages
    description: >-
      [Service: Pages] Manages the creation and organization of both public and
      private pages, supporting structured content and navigation and
      collaboration.
  - name: Projects
    description: '[Service: Projects] Handles all project related tasks.'
  - name: Reports
    description: >-
      [Service: Reports] Generates and manages analytical reports and insights
      for users and projects.
  - name: Search
    description: >-
      [Service: Search] Provides search functionalities, including indexing and
      retrieval of platform data.
  - name: TimeTracking
    description: >-
      [Service: TimeTracking] Manages time entries, active timers, time
      categories, billing rates, and audit/lock for time-tracking workflows.
  - name: Resourcing
    description: >-
      [Service: TimeTracking] Plans people's capacity: working patterns, time
      off, closures, public holidays, allocations of hours to projects, and
      retainer budgets. Not available to workspace guests.
  - name: Views
    description: >-
      [Feature] Provides tools to create and customize views, enabling users to
      organize and visualize their data according to their preferences and
      workflows.
  - name: OAuth2
    description: >-
      [Feature] Supports OAuth2 integration for seamless user authentication and
      authorization, ensuring secure access to external APIs and services.
  - name: Sprints
    description: >-
      [Feature] Facilitates sprint management within agile workflows, including
      planning, progress tracking, and reporting.
  - name: Cards
    description: >-
      [Feature] A Card is the core concept used in the system to describe an
      individual task or work item. They are used across Boards, Sprints, and
      Roadmaps. Cards include features like descriptions, checklists, comments,
      priorities, tags and more.
  - name: Checklists
    description: >-
      [Feature] A Checklist is a list of items that need to be completed. It is
      used to track progress on a card.
  - name: Lists
    description: >-
      [Feature] Represents a collection of tasks or items grouped within
      different contexts in the system. Lists (externally referenced as
      "statuses") are utilized across various entities such as boards, sprints,
      and roadmaps.
  - name: Notes
    description: >-
      [Feature] Enables users to create, edit, and organize notes, supporting
      rich text, attachments, transcriptions and AI enhancements.
  - name: Tags
    description: >-
      [Feature] Groups endpoints related to the creation, retrieval, updating,
      deletion, and merging of tags within teams (workspaces).
  - name: Agents
    description: >-
      [Feature] Manages agents and runs. Provides CRUD operations for agents,
      launching cloud agents, monitoring agent status, retrieving conversations,
      and sending follow-ups.
  - name: PublishedAgents
    description: >-
      [Feature] [Service: AI] External API for agents published to websites,
      apps and custom clients. Authenticated with scoped chat sessions
      (PublishedAgentSession) or host app assertions (AgentAppAssertion), never
      with workspace member credentials. Management routes for publications and
      app registrations live under the Agents tag. Base URL: these paths are
      absolute from the API origin. The real URL is
      `https://api.superthread.com/public/agents/v1/...`, and the spec's
      `basePath` `/v1` does not apply, the same as `/public/forms` (Swagger 2.0
      has no per-path base). Generated clients default to `.../v1` and would
      call `/v1/public/agents/v1/...`, so construct them with the API origin as
      the base: in TypeScript `new Api({ baseURL: 'https://api.superthread.com'
      })`, and in Go a transport whose base path is `/`. The www forms portal
      does the same, using an axios client whose `baseURL` is the API origin.
paths:
  /{team_id}/activity:
    get:
      tags:
        - Comments
      summary: Get activity for a card or project
      description: >
        Returns the activity feed of a card or project (epic) in a workspace
        (`team_id`), newest first.

        The feed contains comments and activity entries, such as the card being
        moved or its tags changing.

        To get a project's activity, pass its `epic_id` as `card_id`.
      parameters:
        - $ref: '#/components/parameters/path_team_id'
        - in: query
          name: card_id
          description: ID of the card, or `epic_id` of the project, to get activity for.
          required: true
          schema:
            type: string
        - in: query
          name: filter
          description: >-
            Return only comments (`comment`) or only activity entries
            (`activity_entry`). Both are returned when omitted.
          required: false
          schema:
            type: string
            enum:
              - activity_entry
              - comment
      responses:
        '200':
          description: array of activity
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetActivitiesResponse'
        default:
          description: client error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    $ref: '#/components/schemas/Error'
components:
  parameters:
    path_team_id:
      in: path
      name: team_id
      description: >-
        Team ID is an alphanumerical string that identifies a Team. This is
        externally referred to as a "Workspace".
      required: true
      schema:
        type: string
  schemas:
    GetActivitiesResponse:
      allOf:
        - $ref: '#/components/schemas/ResponseMetadata'
      properties:
        activities:
          type: array
          items:
            $ref: '#/components/schemas/Activity'
    Error:
      type: object
      properties:
        id:
          type: string
          example: err5f744ab
        code:
          type: integer
          format: int32
          example: 403
        sec:
          $ref: '#/components/schemas/SuperthreadErrorCode'
        message:
          type: string
          example: You do not have access to this resource
          description: A user-friendly error message
        date:
          $ref: '#/components/schemas/STime'
    ResponseMetadata:
      type: object
      required:
        - cursor
        - count
      properties:
        cursor:
          type: string
          example: dmsjqh9d8w1hdjosjaasda
          nullable: false
        count:
          type: integer
          example: 14
          nullable: false
    Activity:
      type: object
      properties:
        type:
          $ref: '#/components/schemas/ActivityType'
        activity_entry:
          $ref: '#/components/schemas/ActivityEntry'
        comment:
          $ref: '#/components/schemas/Comment'
    SuperthreadErrorCode:
      type: string
      description: |
        Superthread Error Code (`SEC`): A structured error code.
        Format: `SEC:{ServiceID}-{InternalErrorCode}`.


          - `SEC`: Prefix for all structured error codes.
          - `ServiceID`: First 3 characters identify the service, '000' is reserved for generic errors.
          - `InternalErrorCode`: the next (last) 5 characters define the specific error.
      pattern: ^SEC:\d{3}-\d{5}$
      example: SEC:000-00014
    STime:
      type: integer
      format: int64
      example: 1608742037016
      description: unix timestamp in seconds
      x-go-type:
        type: STime
        import:
          package: github.com/superthread-com/common/pkg/types
        hints:
          noValidation: true
          kind: primitive
    ActivityType:
      type: string
      enum:
        - activity_entry
        - comment
    ActivityEntry:
      type: object
      properties:
        id:
          type: string
          example: '42'
        entry_type:
          type: string
          example: tag-added
        resource_type:
          type: string
          enum:
            - card
            - epic
            - agent
        from:
          $ref: '#/components/schemas/ActivityEntryResource'
        to:
          $ref: '#/components/schemas/ActivityEntryResource'
        page_id:
          type: string
          example: '431'
        card_id:
          type: string
          example: '433'
        agent_id:
          type: string
          description: >-
            id of the agent this entry belongs to; present when resource_type is
            "agent"
          example: 550e8400-e29b-41d4-a716-446655440000
          maxLength: 64
        user_id:
          type: string
          example: u-dsu0j19
        team_id:
          type: string
          example: u-dsu0j19
        user:
          $ref: '#/components/schemas/Actor'
        time_created:
          $ref: '#/components/schemas/STime'
    Comment:
      type: object
      allOf:
        - $ref: '#/components/schemas/CommentCommon'
      properties:
        context:
          type: string
          example: attach context to a comment
        status:
          $ref: '#/components/schemas/CommentStatus'
        participants:
          type: array
          items:
            type: string
        children:
          type: object
          allOf:
            - $ref: '#/components/schemas/ResponseMetadata'
          properties:
            child_comments:
              type: array
              items:
                $ref: '#/components/schemas/ChildComment'
    ActivityEntryResource:
      description: subject data of the activity
      properties:
        resource_type:
          type: string
          example: tag
        resource_id:
          type: string
          description: id of the resource
        resource_value:
          type: string
          description: >-
            string representation of the resource if applicable, e.g. due date
            value
        tag:
          $ref: '#/components/schemas/Tag'
        parent_card:
          $ref: '#/components/schemas/ParentCard'
        child_card:
          $ref: '#/components/schemas/ChildCard'
        linked_card:
          $ref: '#/components/schemas/LinkedCard'
        checklist:
          $ref: '#/components/schemas/Checklist'
        file:
          $ref: '#/components/schemas/File'
        epic:
          $ref: '#/components/schemas/EpicBrief'
        customer_request:
          $ref: '#/components/schemas/CustomerRequest'
        move_hints:
          properties:
            project_id:
              type: string
            board_id:
              type: string
            board_title:
              type: string
            sprint_id:
              type: string
            list_id:
              type: string
            list_title:
              type: string
            list_behavior:
              $ref: '#/components/schemas/ListBehavior'
    Actor:
      title: Actor
      type: object
      description: describes a user or robot that created or updated a resource
      properties:
        user_id:
          type: string
          example: uDsu0j19
          x-go-custom-tag: dynamodbav:",omitempty"
        type:
          type: string
          x-go-custom-tag: dynamodbav:",omitempty"
          example: user
          default: user
          enum:
            - user
            - robot
            - system
          nullable: false
        source:
          $ref: '#/components/schemas/ActorSource'
    CommentCommon:
      type: object
      properties:
        id:
          type: string
          example: '42'
        type:
          type: string
          enum:
            - comment
            - child_comment
        content:
          type: string
          example: Good point!
          maxLength: 102400
        is_internal:
          type: boolean
          description: >-
            Whether the comment is internal. Internal comments are visible only
            to members and hidden from guests and guest-readers.
        schema:
          type: integer
          example: 1
        page_id:
          type: string
          example: '431'
        card_id:
          type: string
          example: '433'
        user_id:
          type: string
          example: u-dsu0j19
        user:
          $ref: '#/components/schemas/Actor'
        user_updated:
          $ref: '#/components/schemas/Actor'
        external_author:
          $ref: '#/components/schemas/ExternalRequestProvenance'
        team_id:
          type: string
          example: u-dsu0j19
        time_created:
          $ref: '#/components/schemas/STime'
        time_updated:
          $ref: '#/components/schemas/STime'
        reactions:
          type: array
          items:
            $ref: '#/components/schemas/Reaction'
        health_update_metadata:
          $ref: '#/components/schemas/EpicHealthUpdateMetadata'
    CommentStatus:
      type: string
      enum:
        - resolved
        - open
        - orphaned
      nullable: true
    ChildComment:
      type: object
      allOf:
        - $ref: '#/components/schemas/CommentCommon'
      properties:
        parent_id:
          type: string
          example: '1'
    Tag:
      type: object
      properties:
        id:
          type: string
          example: u-dsu0j19
          x-go-custom-tag: diff:"id,identifier"
        team_id:
          type: string
          example: u-dsu0j19
        project_id:
          type: string
          example: '5'
        name:
          type: string
          example: todo
        slug:
          type: string
          example: todo
        color:
          $ref: '#/components/schemas/TagColor'
        total_cards:
          type: integer
          description: number of cards that use this tag
          example: 17
    ParentCard:
      type: object
      properties:
        title:
          type: string
          example: Implement service requirements
        card_id:
          type: string
          example: '42'
          x-go-custom-tag: diff:"card_id,identifier"
        list_color:
          type: string
        status:
          $ref: '#/components/schemas/CardStatus'
    ChildCard:
      type: object
      properties:
        title:
          type: string
          example: Create illustration for upcoming holidays
        card_id:
          type: string
          example: '42'
          x-go-custom-tag: diff:"card_id,identifier"
        user_id:
          type: string
          example: us4Fsfed
        project_id:
          type: string
          example: '3'
        board_id:
          type: string
          example: '15'
        board_title:
          type: string
          example: Ideas
        list_id:
          type: string
          example: '55'
        list_title:
          type: string
          example: Done
        list_color:
          type: string
        status:
          $ref: '#/components/schemas/CardStatus'
        archived:
          $ref: '#/components/schemas/Archived'
    LinkedCard:
      type: object
      properties:
        title:
          type: string
          example: Create illustration for upcoming holidays
        card_id:
          type: string
          example: '42'
          x-go-custom-tag: diff:"card_id,identifier"
        user_id:
          type: string
          example: '42'
        project_id:
          type: string
          example: '3'
        board_id:
          type: string
          example: '15'
        board_title:
          type: string
          example: Ideas
        list_id:
          type: string
          example: list 1
        list_title:
          type: string
          example: list 1
        status:
          $ref: '#/components/schemas/CardStatus'
        archived:
          $ref: '#/components/schemas/Archived'
        linked_card_type:
          $ref: '#/components/schemas/LinkedCardType'
        icon:
          $ref: '#/components/schemas/Image'
    Checklist:
      type: object
      properties:
        id:
          type: string
          example: '232'
          x-go-custom-tag: diff:"id,identifier"
        title:
          type: string
          example: My Checklist
        content:
          type: string
          example: Some description
        card_id:
          type: string
          example: '32'
        user_id:
          type: string
          example: uG2sdaOn
        time_created:
          $ref: '#/components/schemas/STime'
        time_updated:
          $ref: '#/components/schemas/STime'
        items:
          type: array
          items:
            $ref: '#/components/schemas/ChecklistItem'
    File:
      type: object
      properties:
        id:
          type: string
          example: '42'
        team_id:
          type: string
          example: t4Ads0rx
        type:
          type: string
          example: image/png
        name:
          type: string
          example: my_image.png
        url:
          type: string
          example: https://example.com/path/to/file.png
        page_id:
          type: string
          example: '431'
        card_id:
          type: string
          example: '433'
        note_id:
          type: string
          example: '433'
        agent_run_id:
          type: string
          example: 53f2648e-be05-40dc-bb47-e75426189c70
        user_id:
          type: string
          example: udsu0j19
        user:
          $ref: '#/components/schemas/Actor'
        user_updated:
          $ref: '#/components/schemas/Actor'
        time_created:
          $ref: '#/components/schemas/STime'
        blurhash:
          type: string
          example: LFE.@D9F01_2%L%MIVD*9Goe-;WB
        thumbnail:
          type: string
          example: https://example.com/path/to/thumb.png
        thumbnail_blurhash:
          type: string
          example: LFE.@D9F01_2%L%MIVD*9Goe-;WB
        is_attachment:
          type: boolean
          description: >-
            true if the file is an attachment, false if it is referenced inline
            within text
    EpicBrief:
      type: object
      description: brief view of epic to be used in a card
      properties:
        id:
          type: string
          description: epic id
          example: e-123
        title:
          type: string
          description: epic title
          example: Epic Title
        icon:
          $ref: '#/components/schemas/Image'
    CustomerRequest:
      type: object
      properties:
        id:
          type: string
          example: cr_01J9Z8Y7X6W5V4T3S2R1Q0P9N8
          x-go-custom-tag: diff:"id,identifier"
        team_id:
          type: string
          example: tDsu0j19
        customer_id:
          type: string
          description: Requesting customer. Null for an Unknown customer.
          nullable: true
        card_id:
          type: string
          description: >-
            Target card. When set, the request targets the card and `project_id`
            is the card's project, if any.
          example: '2700'
        project_id:
          type: string
          description: >-
            Project (epic) the request counts towards. The target when `card_id`
            is empty.
          example: '2701'
        original_card_id:
          type: string
          description: Card the request lived on before it was moved.
          x-omitempty: true
        body:
          type: string
          description: Rich text (editor HTML). Optional; falls back to the source text.
          maxLength: 102400
        body_markdown:
          type: string
          description: Markdown rendering of `body`. Read-only.
        source_url:
          type: string
          description: >-
            Link to where the request came from, such as a pasted link or the
            email.
        source_type:
          $ref: '#/components/schemas/CustomerRequestSourceType'
        comment_id:
          type: string
          description: Comment the request was created from, if any.
          x-omitempty: true
        important:
          type: boolean
          x-omitempty: false
        creator_id:
          type: string
          description: User who created the request. Null when created by an integration.
          nullable: true
        external_request:
          $ref: '#/components/schemas/ExternalRequestProvenance'
        time_created:
          $ref: '#/components/schemas/STime'
        time_updated:
          $ref: '#/components/schemas/STime'
        archived:
          $ref: '#/components/schemas/Archived'
        version:
          type: integer
          format: int64
          description: >-
            Monotonic per-object version, incremented on every write; consumers
            order events by it. Read-only.
          x-omitempty: false
        customer:
          $ref: '#/components/schemas/CustomerBrief'
        card:
          $ref: '#/components/schemas/ChildCard'
        project:
          $ref: '#/components/schemas/EpicBrief'
    ListBehavior:
      type: string
      enum:
        - backlog
        - committed
        - started
        - completed
        - cancelled
    ActorSource:
      title: ActorSource
      type: object
      description: describes the source of an actor
      properties:
        type:
          type: string
          example: oauth
          enum:
            - oauth
            - import
            - email
            - agent
        client_id:
          type: string
          x-go-custom-tag: dynamodbav:",omitempty"
          description: client ID if the resource was created via oauth2 app
          example: oczapier
        import_id:
          type: string
          x-go-custom-tag: dynamodbav:",omitempty"
          description: import ID if the resource was created by an import
          example: bf1b9f76-3f95-42fc-bd7f-050b2f5f4197
        agent_id:
          type: string
          x-go-custom-tag: dynamodbav:",omitempty"
          description: agent ID if the resource was created by an agent
          example: bf1b9f76-3f95-42fc-bd7f-050b2f5f4197
        email_addr:
          type: string
          x-go-custom-tag: dynamodbav:",omitempty"
          description: email address if the resource was created via an email
          example: somebody@example.com
        email_verified:
          type: boolean
          x-go-custom-tag: dynamodbav:",omitempty"
          description: whether the email sender was verified
          example: false
        on_behalf_of:
          type: string
          x-go-custom-tag: dynamodbav:",omitempty"
          description: >-
            User ID of the human responsible for this action. For
            trigger-initiated agent actions, this is the trigger creator. For
            mention/chat-initiated actions, this is the user who invoked the
            agent.
    ExternalRequestProvenance:
      type: object
      description: >
        Where an external request, card or reply came from. Stored separately
        from the Superthread

        requester, participant and creator fields, which external requesters
        never populate. Set only

        by the internal published-agent service facades; read-only everywhere
        else.


        It carries no personal data beyond an optional display name: no email,
        host subject or

        account reference. Those exist only in the private facade type
        `ExternalRequester` (stored by

        customers) and in ai's admin conversation view. So card and comment
        events, portal

        responses and webhooks that embed Card or Comment can never carry them.
      required:
        - source
        - external_conversation
      properties:
        source:
          type: string
          enum:
            - published_agent
          nullable: false
        source_label:
          type: string
          description: >-
            Visible source label, always computed by the owning service (e.g.
            "Published agent · anonymous" or "Published agent · <app name>").
            Ignored and overwritten when sent in a request body.
          example: Published agent · anonymous
        external_conversation:
          $ref: '#/components/schemas/ExternalConversationRef'
        display_name:
          type: string
          description: >-
            Requester's display name (signed by the host app, or typed and
            unverified for anonymous visitors). Cleared on erasure.
          maxLength: 200
        redacted:
          type: boolean
          description: True once the requester's personal data was erased.
          x-omitempty: false
    Reaction:
      type: object
      properties:
        id:
          type: string
          example: sweat_smile
        unicode:
          type: string
          description: Reaction UTF-8 unicode value
        members:
          type: array
          items:
            $ref: '#/components/schemas/ReactionMember'
    EpicHealthUpdateMetadata:
      type: object
      description: Metadata about a health status update
      required:
        - previous
        - new
      properties:
        previous:
          $ref: '#/components/schemas/EpicHealthStatus'
        new:
          $ref: '#/components/schemas/EpicHealthStatus'
        time:
          $ref: '#/components/schemas/STimePtr'
    TagColor:
      type: string
      enum:
        - fog
        - slate
        - grey
        - charcoal
        - black
        - red
        - orange
        - yellow
        - green
        - ocean
        - blue
        - purple
        - pink
      example: blue
      nullable: true
    CardStatus:
      type: string
      enum:
        - committed
        - started
        - completed
        - cancelled
      example: started
    Archived:
      type: object
      properties:
        user_id:
          type: string
          example: uDsu0j19
        time_archived:
          $ref: '#/components/schemas/STime'
    LinkedCardType:
      type: string
      enum:
        - blocks
        - blocked_by
        - related
        - duplicates
      example: blocks
    Image:
      type: object
      required:
        - type
        - src
      properties:
        type:
          type: string
          enum:
            - image
            - icon
            - emoji
          nullable: false
        id:
          type: string
          description: Unique identifier for the image (optional).
        src:
          type: string
          example: >-
            data:image/png;base64,
            iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg==
          description: >-
            Depending on the type this can be a URL, base64 image data, emoji
            unicode or an icon name
          nullable: false
        blurhash:
          type: string
          example: LEHV6nWB2yk8pyoJadR*.7kCMdnj
          x-go-custom-tag: dynamodbav:",omitempty"
        color:
          type: string
          example: black
          x-go-custom-tag: dynamodbav:",omitempty"
        emoji:
          type: string
          example: thumbsup
          description: Emoji string ID
          x-go-custom-tag: dynamodbav:",omitempty"
    ChecklistItem:
      type: object
      properties:
        id:
          type: string
          example: '4312'
          x-go-custom-tag: diff:"id,identifier"
        title:
          type: string
          example: Some title
        content:
          type: string
          example: Some description
        checklist_id:
          type: string
          example: '432'
        user_id:
          type: string
          example: u-du9saoj1
        time_created:
          $ref: '#/components/schemas/STime'
        time_updated:
          $ref: '#/components/schemas/STime'
        checked:
          type: boolean
          example: true
          x-omitempty: false
    CustomerRequestSourceType:
      type: string
      description: >-
        How a customer request was created. `published_agent` requests come from
        a published agent's external conversation and carry `external_request`.
        Clients must handle `published_agent` (and unknown values) before the
        customers service starts emitting it.
      enum:
        - manual
        - email
        - api
        - published_agent
    CustomerBrief:
      type: object
      description: Brief view of a customer, embedded in requests and activity.
      properties:
        id:
          type: string
          example: cu_01J9Z8Y7X6W5V4T3S2R1Q0P9N8
        slug:
          type: string
          example: acme
        name:
          type: string
          example: Acme
        logo_url:
          type: string
          example: https://acme.com/favicon.ico
    ExternalConversationRef:
      type: object
      description: >
        Routing reference from a Superthread object (card, customer request or
        comment) back to the

        published-agent conversation that created it or replied on it. Holds no
        personal data, so it

        is safe to carry on events. Every identifier is an opaque value issued
        by the ai service and

        is never a Superthread user, requester or participant ID.
      required:
        - publication_id
        - conversation_id
        - actor_id
        - audience
      properties:
        publication_id:
          type: string
          description: >-
            Opaque public ID of the agent publication the conversation belongs
            to.
          example: pub_01JB7Q4Z8XKQ3N6V2W1Y9T5R0M
          nullable: false
        agent_id:
          type: string
          description: The published agent.
        conversation_id:
          type: string
          description: The external conversation.
          example: xc_01JB7Q5B2C3D4E5F6G7H8J9K0L
          nullable: false
        actor_id:
          type: string
          description: >
            ai external actor. A verified requester has one actor per
            (workspace, app registration,

            external subject); an anonymous visitor has one per anonymous
            session lineage. Never a

            Superthread user ID.
          example: xa_01JB7Q5RZ0Y1X2W3V4U5T6S7R8
          nullable: false
        app_id:
          type: string
          description: >-
            App registration that verified the requester. Empty for anonymous
            requesters.
        audience:
          type: string
          description: >-
            Whether the requester was anonymous or verified by the host app when
            the object was created.
          enum:
            - anonymous
            - verified
          nullable: false
    ReactionMember:
      type: object
      properties:
        user_id:
          type: string
          description: ID of user that reacted
        time_created:
          $ref: '#/components/schemas/STime'
        variation:
          type: string
          description: Variation of reaction
    EpicHealthStatus:
      type: string
      description: The health status of an project (epic).
      enum:
        - on_track
        - at_risk
        - off_track
        - not_expected
      example: on_track
      default: on_track
    STimePtr:
      type: integer
      format: int64
      example: 1608742037016
      description: unix timestamp in seconds
      x-go-type:
        type: STime
        import:
          package: github.com/superthread-com/common/pkg/types
        hints:
          noValidation: true
          kind: primitive
      nullable: true
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.