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

# Search activity objects

> The event feed folded by object: one row per person or company holding a fact under the filter, by its latest fact, newest first, with its fact count, fresh count and newest three types. Who gave a signal lately: filter type in the signal types; new since yesterday: fresh.created_at and fresh_objects. filter takes every leaf of search_activities; include person or company. Counts count objects, not facts (page_size 0).

Contract:
- MCP tool `search_activity_objects`, registry package `mcp.playtables/activity_objects`, mount `playtables.people`.
- Operation `search`, response envelope `search`.
- Flags: read only.



## OpenAPI

````yaml /api-reference/playtables/openapi.yaml post /api/activity-objects/search
openapi: 3.0.3
info:
  title: 'GetSales public contract: gs.service.playtables'
  description: >-
    The data platform and the outreach engine: tables of people and companies,
    their enrichment columns, cells and runs, the data sources that feed them,
    sender profiles, the stoplist, the activity feed, the credit ledger, and the
    multichannel workflows with their per-person journeys and tasks.


    GENERATED. This document is projected from the Zod MCP tool registry in
    `product/mcp/gs.mcp` (one tool per public endpoint, 1:1). Do not edit it by
    hand; edit the tool definition and regenerate with `pnpm openapi:public`.


    Surface: the public `/api` contract of `gs.service.playtables`, 142
    operations. This is the only OpenAPI document the platform publishes.
    Internal (`/internal`) and health endpoints are deliberately absent: they
    are not part of any contract, they can change without notice, and the
    service source is their only description.


    Conventions:

    - Auth is a bearer JWT, optionally narrowed by the `Team-SID` header.

    - Every success body is an MCP envelope: `success: true` plus one typed
    `operation` shape (`search`, `get`, `create`, `update`, `delete`, `metrics`,
    `group_by`, `action`), and a `meta` block with `trace_id` for support.

    - Every failure is the same `McpError` envelope with a code from a fixed
    16-code taxonomy, so a client maps errors once.

    - Lists page with `page_size` (0 to 500, default 50) plus an opaque forward
    `cursor`; `page_size: 0` returns counts only.

    - On `GET` and `DELETE`, object-valued query parameters (`filter`, `sort`)
    travel as JSON text and array-valued ones repeat as `name[]=value`.

    - The MCP-only `_meta` field (usage analytics) never reaches the backend and
    is not part of this contract.
  version: '1.0'
  contact:
    name: GetSales
    url: https://getsales.io
    email: support@getsales.io
  license:
    name: Proprietary
    url: https://getsales.io/terms
servers:
  - url: https://beta.getsales.io/playtables/v1
    description: >-
      Production (the gateway path on the beta ring; the origin is provisioned
      per DEPLOY_MAP.md)
security:
  - BearerJwt: []
    TeamSid: []
tags:
  - name: activities
    description: >-
      Registry package `mcp.playtables/activities`, served on MCP mount
      `playtables.journeys`.
  - name: activity_objects
    description: >-
      Registry package `mcp.playtables/activity_objects`, served on MCP mount
      `playtables.people`.
  - name: companies
    description: >-
      Registry package `mcp.playtables/companies`, served on MCP mount
      `playtables.people`.
  - name: credit_ledger_entries
    description: >-
      Registry package `mcp.playtables/credit_ledger_entries`, served on MCP
      mount `id.billing`.
  - name: data_source_items
    description: >-
      Registry package `mcp.playtables/data_source_items`, served on MCP mount
      `playtables.sources`.
  - name: data_sources
    description: >-
      Registry package `mcp.playtables/data_sources`, served on MCP mount
      `playtables.sources`.
  - name: notes
    description: >-
      Registry package `mcp.playtables/notes`, served on MCP mount
      `playtables.pipeline`.
  - name: people
    description: >-
      Registry package `mcp.playtables/people`, served on MCP mount
      `playtables.people`.
  - name: pipeline_stages
    description: >-
      Registry package `mcp.playtables/pipeline_stages`, served on MCP mount
      `playtables.pipeline`.
  - name: plays
    description: >-
      Registry package `mcp.playtables/plays`, served on MCP mount
      `playtables.pipeline`.
  - name: playtable_field_values
    description: >-
      Registry package `mcp.playtables/playtable_field_values`, served on MCP
      mount `playtables.columns`.
  - name: playtable_fields
    description: >-
      Registry package `mcp.playtables/playtable_fields`, served on MCP mount
      `playtables.columns`.
  - name: playtable_runs
    description: >-
      Registry package `mcp.playtables/playtable_runs`, served on MCP mount
      `playtables.columns`.
  - name: playtable_views
    description: >-
      Registry package `mcp.playtables/playtable_views`, served on MCP mount
      `playtables.tables`.
  - name: playtables
    description: >-
      Registry package `mcp.playtables/playtables`, served on MCP mount
      `playtables.tables`.
  - name: result_pages
    description: >-
      Registry package `mcp.playtables/result_pages`, served on MCP mount
      `playtables.tables`.
  - name: sender_profiles
    description: >-
      Registry package `mcp.playtables/sender_profiles`, served on MCP mount
      `playtables.sources`.
  - name: stoplist_entries
    description: >-
      Registry package `mcp.playtables/stoplist_entries`, served on MCP mount
      `playtables.stoplist`.
  - name: tags
    description: >-
      Registry package `mcp.playtables/tags`, served on MCP mount
      `playtables.pipeline`.
  - name: workflow_attachments
    description: >-
      Registry package `mcp.playtables/workflow_attachments`, served on MCP
      mount `playtables.workflows`.
  - name: workflow_records
    description: >-
      Registry package `mcp.playtables/workflow_records`, served on MCP mount
      `playtables.journeys`.
  - name: workflow_sources
    description: >-
      Registry package `mcp.playtables/workflow_sources`, served on MCP mount
      `playtables.workflows`.
  - name: workflow_tasks
    description: >-
      Registry package `mcp.playtables/workflow_tasks`, served on MCP mount
      `playtables.journeys`.
  - name: workflow_versions
    description: >-
      Registry package `mcp.playtables/workflow_versions`, served on MCP mount
      `playtables.workflows`.
  - name: workflows
    description: >-
      Registry package `mcp.playtables/workflows`, served on MCP mount
      `playtables.workflows`.
paths:
  /api/activity-objects/search:
    post:
      tags:
        - activity_objects
      summary: Search activity objects
      description: >-
        The event feed folded by object: one row per person or company holding a
        fact under the filter, by its latest fact, newest first, with its fact
        count, fresh count and newest three types. Who gave a signal lately:
        filter type in the signal types; new since yesterday: fresh.created_at
        and fresh_objects. filter takes every leaf of search_activities; include
        person or company. Counts count objects, not facts (page_size 0).


        Contract:

        - MCP tool `search_activity_objects`, registry package
        `mcp.playtables/activity_objects`, mount `playtables.people`.

        - Operation `search`, response envelope `search`.

        - Flags: read only.
      operationId: search_activity_objects
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchActivityObjectsRequest'
      responses:
        '200':
          description: '`search` success envelope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchActivityObjectsResponse'
        4XX:
          $ref: '#/components/responses/McpClientError'
        5XX:
          $ref: '#/components/responses/McpServerError'
components:
  schemas:
    SearchActivityObjectsRequest:
      type: object
      description: Request body of `search_activity_objects`.
      properties:
        filter:
          type: object
          properties:
            sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^cr_ac_
                  description: Activity sid (cr_ac_…).
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^cr_ac_
                    description: Activity sid (cr_ac_…).
              additionalProperties: false
              description: Activity sid(s), cr_ac_ prefix (prefix-validated).
            object_type:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - person
                    - company
              additionalProperties: false
              description: person | company.
            object_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: >-
                Timeline scope - cr_pp_/cr_co_ sid(s); `in` for company roll-ups
                (person sids from ./people.md search).
            category:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - object
                    - workflow
                    - ai_agent
                    - linkedin
                    - email
                    - website
                    - other
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - object
                      - workflow
                      - ai_agent
                      - linkedin
                      - email
                      - website
                      - other
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - object
                      - workflow
                      - ai_agent
                      - linkedin
                      - email
                      - website
                      - other
              additionalProperties: false
              description: Type-group filter - cheaper than a long type.in list.
            type:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - object_created
                    - object_updated
                    - object_deleted
                    - object_playtable_changed
                    - object_pipeline_stage_changed
                    - tags_added
                    - tags_removed
                    - workflow_added
                    - workflow_restarted
                    - workflow_cancelled
                    - workflow_finished
                    - workflow_failed
                    - ai_agent_status_changed
                    - ai_agent_fact_saved
                    - linkedin_connection_request_sent
                    - linkedin_connection_request_accepted
                    - linkedin_connection_request_withdrawn
                    - linkedin_blocked
                    - linkedin_message_sent
                    - linkedin_inmail_sent
                    - linkedin_message_replied
                    - linkedin_inmail_replied
                    - linkedin_message_opened
                    - linkedin_link_clicked
                    - linkedin_post_liked
                    - linkedin_post_commented
                    - linkedin_profile_visited
                    - linkedin_skills_endorsed
                    - linkedin_invitation_received
                    - linkedin_invitation_accepted
                    - linkedin_invitation_ignored
                    - linkedin_invitation_expired
                    - linkedin_connection_removed
                    - linkedin_followed
                    - linkedin_message_reacted
                    - linkedin_message_deleted
                    - linkedin_profile_viewed_us
                    - email_sent
                    - email_replied
                    - email_opened
                    - email_bounced
                    - email_link_clicked
                    - email_unsubscribed
                    - email_complained
                    - website_visited
                    - website_key_page_visited
                    - website_form_submitted
                    - website_event
                    - manual_task_completed
                    - note_left
                    - object_enriched
                    - object_data_changed
                    - linkedin_job_changed
                    - linkedin_post_published
                    - linkedin_birthday
                    - linkedin_work_anniversary
                    - linkedin_profile_followed
                    - linkedin_post_engaged
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - object_created
                      - object_updated
                      - object_deleted
                      - object_playtable_changed
                      - object_pipeline_stage_changed
                      - tags_added
                      - tags_removed
                      - workflow_added
                      - workflow_restarted
                      - workflow_cancelled
                      - workflow_finished
                      - workflow_failed
                      - ai_agent_status_changed
                      - ai_agent_fact_saved
                      - linkedin_connection_request_sent
                      - linkedin_connection_request_accepted
                      - linkedin_connection_request_withdrawn
                      - linkedin_blocked
                      - linkedin_message_sent
                      - linkedin_inmail_sent
                      - linkedin_message_replied
                      - linkedin_inmail_replied
                      - linkedin_message_opened
                      - linkedin_link_clicked
                      - linkedin_post_liked
                      - linkedin_post_commented
                      - linkedin_profile_visited
                      - linkedin_skills_endorsed
                      - linkedin_invitation_received
                      - linkedin_invitation_accepted
                      - linkedin_invitation_ignored
                      - linkedin_invitation_expired
                      - linkedin_connection_removed
                      - linkedin_followed
                      - linkedin_message_reacted
                      - linkedin_message_deleted
                      - linkedin_profile_viewed_us
                      - email_sent
                      - email_replied
                      - email_opened
                      - email_bounced
                      - email_link_clicked
                      - email_unsubscribed
                      - email_complained
                      - website_visited
                      - website_key_page_visited
                      - website_form_submitted
                      - website_event
                      - manual_task_completed
                      - note_left
                      - object_enriched
                      - object_data_changed
                      - linkedin_job_changed
                      - linkedin_post_published
                      - linkedin_birthday
                      - linkedin_work_anniversary
                      - linkedin_profile_followed
                      - linkedin_post_engaged
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - object_created
                      - object_updated
                      - object_deleted
                      - object_playtable_changed
                      - object_pipeline_stage_changed
                      - tags_added
                      - tags_removed
                      - workflow_added
                      - workflow_restarted
                      - workflow_cancelled
                      - workflow_finished
                      - workflow_failed
                      - ai_agent_status_changed
                      - ai_agent_fact_saved
                      - linkedin_connection_request_sent
                      - linkedin_connection_request_accepted
                      - linkedin_connection_request_withdrawn
                      - linkedin_blocked
                      - linkedin_message_sent
                      - linkedin_inmail_sent
                      - linkedin_message_replied
                      - linkedin_inmail_replied
                      - linkedin_message_opened
                      - linkedin_link_clicked
                      - linkedin_post_liked
                      - linkedin_post_commented
                      - linkedin_profile_visited
                      - linkedin_skills_endorsed
                      - linkedin_invitation_received
                      - linkedin_invitation_accepted
                      - linkedin_invitation_ignored
                      - linkedin_invitation_expired
                      - linkedin_connection_removed
                      - linkedin_followed
                      - linkedin_message_reacted
                      - linkedin_message_deleted
                      - linkedin_profile_viewed_us
                      - email_sent
                      - email_replied
                      - email_opened
                      - email_bounced
                      - email_link_clicked
                      - email_unsubscribed
                      - email_complained
                      - website_visited
                      - website_key_page_visited
                      - website_form_submitted
                      - website_event
                      - manual_task_completed
                      - note_left
                      - object_enriched
                      - object_data_changed
                      - linkedin_job_changed
                      - linkedin_post_published
                      - linkedin_birthday
                      - linkedin_work_anniversary
                      - linkedin_profile_followed
                      - linkedin_post_engaged
              additionalProperties: false
              description: Exact fact kinds.
            workflow_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^wf_wf_
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^wf_wf_
                is_null:
                  type: boolean
              additionalProperties: false
              description: wf_wf_ sid(s); is_null:true = facts outside any workflow.
            workflow_step_id:
              type: object
              properties:
                eq:
                  type: integer
                in:
                  type: array
                  items:
                    type: integer
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The step id (within its workflow) the fact was produced by;
                is_null:true = facts outside any step.
            occurred_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 range; combine bounds in one object. Ignored on metrics
                - period owns the window.
            playtable_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^pt_tb_
              additionalProperties: false
              description: >-
                A table's feed: the facts of its live people and the website
                facts of the accounts they work at. eq only.
            play_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^pt_pl_
              additionalProperties: false
              description: >-
                What plays caused: the people their find_people sources created
                (object_created) and the journeys their workflow sources began
                or started over (workflow_added, workflow_restarted). A
                non-empty in only.
            sender_profile_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^ub_sp_
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^ub_sp_
                  minItems: 1
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The sender profile a fact came through (ub_sp_). A fact no
                sender profile made (website, CRM, workflow) never passes this
                leaf, leave it out to keep them; is_null true keeps only such
                facts. One of eq, non-empty in or is_null; another prefix is a
                422.
            act_state:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - waiting
                    - done
                    - none
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - waiting
                      - done
                      - none
              additionalProperties: false
              description: >-
                waiting = a task waits on the event (a draft, a question, a
                failed act); done = handled, nothing waiting (a task of any
                status names it, an act left its fact, a wait woke); none =
                nothing touched it, never a kind no play handles. eq or
                non-empty in.
            acted_play_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^pt_pl_
              additionalProperties: false
              description: >-
                The events those plays acted on, by a task or a fact naming the
                event. A non-empty in only.
            involved_sender_profile_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^ub_sp_
              additionalProperties: false
              description: >-
                The facts stamped with those sender profiles, and the events a
                task or a fact of theirs answers (a post carries no sender
                profile; the comment drafted on it does). A non-empty in only.
            involved_workflow_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^wf_wf_
              additionalProperties: false
              description: >-
                One campaign's events: the events of the people who hold or held
                a record of those workflows (a left journey counts) and the
                facts those workflows wrote. Wider than workflow_sid, which
                keeps the workflow's own facts alone. A non-empty in only.
            act_do:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - like
                      - comment
                      - send_message
                      - ask
                      - add_to_workflow
              additionalProperties: false
              description: >-
                What an act did about the event, by a DONE task's act.do or the
                act's fact: like = linkedin_post_liked, comment =
                linkedin_post_commented, send_message = linkedin_message_sent;
                ask and add_to_workflow by the task alone. A non-empty in only.
            field_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^pt_fd_
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^pt_fd_
              additionalProperties: false
              description: >-
                The facts a column's pull wrote, read off payload.field_sid
                (object_enriched, object_data_changed, linkedin_job_changed,
                linkedin_post_published carry it): with object_sid, one cell's
                history. eq or a non-empty in; a sid outside pt_fd_ is a 422.
            created_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 range on when the fact reached the ledger, which can be
                long after it happened (a history walk). New since I looked =
                created_at gt seen_at with an occurred_at floor (seen_at minus 3
                days); when it happened = occurred_at. On metrics too.
          description: >-
            Field filters, ANDed: {field: {eq | ne | in | nin | gte | lte | gt |
            lt | is_null}}; q inside it is free text. Omit for every row.
        include:
          type: array
          items:
            type: string
            enum:
              - person
              - company
              - play_acts
              - person_journey
          description: Relations to attach to every item; omit for the bare rows.
        page_size:
          type: integer
          minimum: 0
          maximum: 200
          description: 0..200, default 50; 0 = counts only, 1 = the first row.
        cursor:
          type: string
          nullable: true
          description: pagination.next_cursor of the previous page.
        fresh:
          type: object
          properties:
            sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^cr_ac_
                  description: Activity sid (cr_ac_…).
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^cr_ac_
                    description: Activity sid (cr_ac_…).
              additionalProperties: false
              description: Activity sid(s), cr_ac_ prefix (prefix-validated).
            object_type:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - person
                    - company
              additionalProperties: false
              description: person | company.
            object_sid:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: >-
                Timeline scope - cr_pp_/cr_co_ sid(s); `in` for company roll-ups
                (person sids from ./people.md search).
            category:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - object
                    - workflow
                    - ai_agent
                    - linkedin
                    - email
                    - website
                    - other
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - object
                      - workflow
                      - ai_agent
                      - linkedin
                      - email
                      - website
                      - other
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - object
                      - workflow
                      - ai_agent
                      - linkedin
                      - email
                      - website
                      - other
              additionalProperties: false
              description: Type-group filter - cheaper than a long type.in list.
            type:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - object_created
                    - object_updated
                    - object_deleted
                    - object_playtable_changed
                    - object_pipeline_stage_changed
                    - tags_added
                    - tags_removed
                    - workflow_added
                    - workflow_restarted
                    - workflow_cancelled
                    - workflow_finished
                    - workflow_failed
                    - ai_agent_status_changed
                    - ai_agent_fact_saved
                    - linkedin_connection_request_sent
                    - linkedin_connection_request_accepted
                    - linkedin_connection_request_withdrawn
                    - linkedin_blocked
                    - linkedin_message_sent
                    - linkedin_inmail_sent
                    - linkedin_message_replied
                    - linkedin_inmail_replied
                    - linkedin_message_opened
                    - linkedin_link_clicked
                    - linkedin_post_liked
                    - linkedin_post_commented
                    - linkedin_profile_visited
                    - linkedin_skills_endorsed
                    - linkedin_invitation_received
                    - linkedin_invitation_accepted
                    - linkedin_invitation_ignored
                    - linkedin_invitation_expired
                    - linkedin_connection_removed
                    - linkedin_followed
                    - linkedin_message_reacted
                    - linkedin_message_deleted
                    - linkedin_profile_viewed_us
                    - email_sent
                    - email_replied
                    - email_opened
                    - email_bounced
                    - email_link_clicked
                    - email_unsubscribed
                    - email_complained
                    - website_visited
                    - website_key_page_visited
                    - website_form_submitted
                    - website_event
                    - manual_task_completed
                    - note_left
                    - object_enriched
                    - object_data_changed
                    - linkedin_job_changed
                    - linkedin_post_published
                    - linkedin_birthday
                    - linkedin_work_anniversary
                    - linkedin_profile_followed
                    - linkedin_post_engaged
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - object_created
                      - object_updated
                      - object_deleted
                      - object_playtable_changed
                      - object_pipeline_stage_changed
                      - tags_added
                      - tags_removed
                      - workflow_added
                      - workflow_restarted
                      - workflow_cancelled
                      - workflow_finished
                      - workflow_failed
                      - ai_agent_status_changed
                      - ai_agent_fact_saved
                      - linkedin_connection_request_sent
                      - linkedin_connection_request_accepted
                      - linkedin_connection_request_withdrawn
                      - linkedin_blocked
                      - linkedin_message_sent
                      - linkedin_inmail_sent
                      - linkedin_message_replied
                      - linkedin_inmail_replied
                      - linkedin_message_opened
                      - linkedin_link_clicked
                      - linkedin_post_liked
                      - linkedin_post_commented
                      - linkedin_profile_visited
                      - linkedin_skills_endorsed
                      - linkedin_invitation_received
                      - linkedin_invitation_accepted
                      - linkedin_invitation_ignored
                      - linkedin_invitation_expired
                      - linkedin_connection_removed
                      - linkedin_followed
                      - linkedin_message_reacted
                      - linkedin_message_deleted
                      - linkedin_profile_viewed_us
                      - email_sent
                      - email_replied
                      - email_opened
                      - email_bounced
                      - email_link_clicked
                      - email_unsubscribed
                      - email_complained
                      - website_visited
                      - website_key_page_visited
                      - website_form_submitted
                      - website_event
                      - manual_task_completed
                      - note_left
                      - object_enriched
                      - object_data_changed
                      - linkedin_job_changed
                      - linkedin_post_published
                      - linkedin_birthday
                      - linkedin_work_anniversary
                      - linkedin_profile_followed
                      - linkedin_post_engaged
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - object_created
                      - object_updated
                      - object_deleted
                      - object_playtable_changed
                      - object_pipeline_stage_changed
                      - tags_added
                      - tags_removed
                      - workflow_added
                      - workflow_restarted
                      - workflow_cancelled
                      - workflow_finished
                      - workflow_failed
                      - ai_agent_status_changed
                      - ai_agent_fact_saved
                      - linkedin_connection_request_sent
                      - linkedin_connection_request_accepted
                      - linkedin_connection_request_withdrawn
                      - linkedin_blocked
                      - linkedin_message_sent
                      - linkedin_inmail_sent
                      - linkedin_message_replied
                      - linkedin_inmail_replied
                      - linkedin_message_opened
                      - linkedin_link_clicked
                      - linkedin_post_liked
                      - linkedin_post_commented
                      - linkedin_profile_visited
                      - linkedin_skills_endorsed
                      - linkedin_invitation_received
                      - linkedin_invitation_accepted
                      - linkedin_invitation_ignored
                      - linkedin_invitation_expired
                      - linkedin_connection_removed
                      - linkedin_followed
                      - linkedin_message_reacted
                      - linkedin_message_deleted
                      - linkedin_profile_viewed_us
                      - email_sent
                      - email_replied
                      - email_opened
                      - email_bounced
                      - email_link_clicked
                      - email_unsubscribed
                      - email_complained
                      - website_visited
                      - website_key_page_visited
                      - website_form_submitted
                      - website_event
                      - manual_task_completed
                      - note_left
                      - object_enriched
                      - object_data_changed
                      - linkedin_job_changed
                      - linkedin_post_published
                      - linkedin_birthday
                      - linkedin_work_anniversary
                      - linkedin_profile_followed
                      - linkedin_post_engaged
              additionalProperties: false
              description: Exact fact kinds.
            workflow_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^wf_wf_
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^wf_wf_
                is_null:
                  type: boolean
              additionalProperties: false
              description: wf_wf_ sid(s); is_null:true = facts outside any workflow.
            workflow_step_id:
              type: object
              properties:
                eq:
                  type: integer
                in:
                  type: array
                  items:
                    type: integer
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The step id (within its workflow) the fact was produced by;
                is_null:true = facts outside any step.
            occurred_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 range; combine bounds in one object. Ignored on metrics
                - period owns the window.
            playtable_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^pt_tb_
              additionalProperties: false
              description: >-
                A table's feed: the facts of its live people and the website
                facts of the accounts they work at. eq only.
            play_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^pt_pl_
              additionalProperties: false
              description: >-
                What plays caused: the people their find_people sources created
                (object_created) and the journeys their workflow sources began
                or started over (workflow_added, workflow_restarted). A
                non-empty in only.
            sender_profile_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^ub_sp_
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^ub_sp_
                  minItems: 1
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The sender profile a fact came through (ub_sp_). A fact no
                sender profile made (website, CRM, workflow) never passes this
                leaf, leave it out to keep them; is_null true keeps only such
                facts. One of eq, non-empty in or is_null; another prefix is a
                422.
            act_state:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - waiting
                    - done
                    - none
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - waiting
                      - done
                      - none
              additionalProperties: false
              description: >-
                waiting = a task waits on the event (a draft, a question, a
                failed act); done = handled, nothing waiting (a task of any
                status names it, an act left its fact, a wait woke); none =
                nothing touched it, never a kind no play handles. eq or
                non-empty in.
            acted_play_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^pt_pl_
              additionalProperties: false
              description: >-
                The events those plays acted on, by a task or a fact naming the
                event. A non-empty in only.
            involved_sender_profile_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^ub_sp_
              additionalProperties: false
              description: >-
                The facts stamped with those sender profiles, and the events a
                task or a fact of theirs answers (a post carries no sender
                profile; the comment drafted on it does). A non-empty in only.
            involved_workflow_sid:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^wf_wf_
              additionalProperties: false
              description: >-
                One campaign's events: the events of the people who hold or held
                a record of those workflows (a left journey counts) and the
                facts those workflows wrote. Wider than workflow_sid, which
                keeps the workflow's own facts alone. A non-empty in only.
            act_do:
              type: object
              properties:
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - like
                      - comment
                      - send_message
                      - ask
                      - add_to_workflow
              additionalProperties: false
              description: >-
                What an act did about the event, by a DONE task's act.do or the
                act's fact: like = linkedin_post_liked, comment =
                linkedin_post_commented, send_message = linkedin_message_sent;
                ask and add_to_workflow by the task alone. A non-empty in only.
            field_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^pt_fd_
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^pt_fd_
              additionalProperties: false
              description: >-
                The facts a column's pull wrote, read off payload.field_sid
                (object_enriched, object_data_changed, linkedin_job_changed,
                linkedin_post_published carry it): with object_sid, one cell's
                history. eq or a non-empty in; a sid outside pt_fd_ is a 422.
            created_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 range on when the fact reached the ledger, which can be
                long after it happened (a history walk). New since I looked =
                created_at gt seen_at with an occurred_at floor (seen_at minus 3
                days); when it happened = occurred_at. On metrics too.
          description: >-
            A second filter with the same leaves that marks facts inside
            `filter` (a fact is fresh when both keep it): "new since I looked"
            is created_at {gt: seen_at} with occurred_at {gt: seen_at minus
            three days}. No leaf marks nothing.
        fresh_objects:
          type: string
          enum:
            - only
            - without
          description: >-
            only = list the objects holding a fresh fact; without = list the
            objects holding none. Absent lists every object. With no `fresh`,
            only lists nothing.
    SearchActivityObjectsResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        operation:
          type: string
          enum:
            - search
        items:
          type: array
          items:
            type: object
            properties:
              item:
                type: object
                properties:
                  object_type:
                    type: string
                    enum:
                      - person
                      - company
                    description: person | company.
                  object_sid:
                    type: string
                    description: 'cr_pp_… (person) or cr_co_… (company): the row''s key.'
                  latest:
                    type: object
                    properties:
                      sid:
                        type: string
                        description: Activity sid (cr_ac_…).
                      team_sid:
                        type: string
                        description: Owning team (ts_tm_…, external - gs.service.id).
                      object_type:
                        type: string
                        enum:
                          - person
                          - company
                        description: 'Which object the fact is about: person | company.'
                      object_sid:
                        type: string
                        description: >-
                          cr_pp_… (person) or cr_co_… (company) - the object the
                          fact attaches to.
                      category:
                        type: string
                        enum:
                          - object
                          - workflow
                          - ai_agent
                          - linkedin
                          - email
                          - website
                          - other
                        description: >-
                          The type's group - derived from type by the fixed
                          server-side map; stored for indexed channel filters.
                      type:
                        type: string
                        enum:
                          - object_created
                          - object_updated
                          - object_deleted
                          - object_playtable_changed
                          - object_pipeline_stage_changed
                          - tags_added
                          - tags_removed
                          - workflow_added
                          - workflow_restarted
                          - workflow_cancelled
                          - workflow_finished
                          - workflow_failed
                          - ai_agent_status_changed
                          - ai_agent_fact_saved
                          - linkedin_connection_request_sent
                          - linkedin_connection_request_accepted
                          - linkedin_connection_request_withdrawn
                          - linkedin_blocked
                          - linkedin_message_sent
                          - linkedin_inmail_sent
                          - linkedin_message_replied
                          - linkedin_inmail_replied
                          - linkedin_message_opened
                          - linkedin_link_clicked
                          - linkedin_post_liked
                          - linkedin_post_commented
                          - linkedin_profile_visited
                          - linkedin_skills_endorsed
                          - linkedin_invitation_received
                          - linkedin_invitation_accepted
                          - linkedin_invitation_ignored
                          - linkedin_invitation_expired
                          - linkedin_connection_removed
                          - linkedin_followed
                          - linkedin_message_reacted
                          - linkedin_message_deleted
                          - linkedin_profile_viewed_us
                          - email_sent
                          - email_replied
                          - email_opened
                          - email_bounced
                          - email_link_clicked
                          - email_unsubscribed
                          - email_complained
                          - website_visited
                          - website_key_page_visited
                          - website_form_submitted
                          - website_event
                          - manual_task_completed
                          - note_left
                          - object_enriched
                          - object_data_changed
                          - linkedin_job_changed
                          - linkedin_post_published
                          - linkedin_birthday
                          - linkedin_work_anniversary
                          - linkedin_profile_followed
                          - linkedin_post_engaged
                        description: >-
                          56-value fact vocabulary; past-tense fact label, not a
                          state.
                      payload:
                        anyOf:
                          - type: object
                            properties:
                              origin:
                                type: string
                                enum:
                                  - recheck
                                  - catch_up
                                description: Where the change was seen.
                              changes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    key:
                                      type: string
                                      maxLength: 128
                                      description: >-
                                        The answer's path (headline,
                                        company.name).
                                    label:
                                      type: string
                                      maxLength: 128
                                      description: The word the row shows for it.
                                    old:
                                      description: The value before.
                                    new:
                                      description: The value after.
                                  required:
                                    - key
                                    - label
                                minItems: 1
                                description: >-
                                  The title and the company, old and new, with
                                  every other key field that moved beside them.
                              field_sid:
                                type: string
                                nullable: true
                                description: >-
                                  pt_fd_… the column that re-checked; null from
                                  the catch-up feed.
                              column:
                                type: string
                                nullable: true
                                description: >-
                                  The column's name at the time; null from the
                                  catch-up feed.
                              source:
                                type: string
                                nullable: true
                                enum:
                                  - linkedin_profile
                                  - company_page
                                  - work_email
                                  - phone
                                  - posts
                                  - people
                                  - api
                                description: What was read; null from the catch-up feed.
                              sender_profile_sid:
                                type: string
                                nullable: true
                                description: >-
                                  ub_sp_… the sender profile whose catch-up feed
                                  carried the card; null on a re-check.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: >-
                                  The gtm LinkedIn account that read the card;
                                  null on a re-check.
                            required:
                              - origin
                              - changes
                          - type: object
                            properties:
                              field_sid:
                                type: string
                                description: pt_fd_… the column that pulled.
                              column:
                                type: string
                                description: The column's name at the time.
                              source:
                                type: string
                                enum:
                                  - linkedin_profile
                                  - company_page
                                  - work_email
                                  - phone
                                  - posts
                                  - people
                                  - api
                                description: What was read.
                              changes:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    key:
                                      type: string
                                      maxLength: 128
                                      description: >-
                                        The answer's path (headline,
                                        company.name).
                                    label:
                                      type: string
                                      maxLength: 128
                                      description: The word the row shows for it.
                                    old:
                                      description: The value before.
                                    new:
                                      description: The value after.
                                  required:
                                    - key
                                    - label
                                minItems: 1
                                description: Every key field that moved, old and new.
                            required:
                              - field_sid
                              - column
                              - source
                              - changes
                          - type: object
                            properties:
                              field_sid:
                                type: string
                                description: >-
                                  pt_fd_… the column that pulled - see
                                  ./playtable_fields.md.
                              column:
                                type: string
                                description: The column's name at the time.
                              source:
                                type: string
                                enum:
                                  - linkedin_profile
                                  - company_page
                                  - work_email
                                  - phone
                                  - posts
                                  - people
                                  - api
                                description: What was read.
                              first:
                                type: boolean
                                description: >-
                                  true = Enriched: the first pull of this column
                                  for the row that came back with an answer;
                                  false = Re-checked, every later one, changes
                                  or not.
                              outcome:
                                type: string
                                enum:
                                  - found
                                  - nothing_found
                                  - not_verified
                                description: What came back.
                              fields:
                                type: integer
                                minimum: 0
                                description: >-
                                  How many of the answer's fields carried a
                                  value.
                              from_cache:
                                type: boolean
                                nullable: true
                                description: >-
                                  true when the answer came from the cache
                                  rather than the network.
                              credits:
                                type: number
                                nullable: true
                                minimum: 0
                                description: What the pull cost, in credits.
                              run_sid:
                                type: string
                                nullable: true
                                description: >-
                                  pt_rn_… the run that made the pull - see
                                  ./playtable_runs.md.
                              values:
                                type: array
                                nullable: true
                                items:
                                  type: object
                                  properties:
                                    key:
                                      type: string
                                      description: >-
                                        The key field's path in the answer (a
                                        search's is `value`).
                                    label:
                                      type: string
                                      description: >-
                                        The word the row shows: Name, Headline,
                                        Title, Company, Location; Name,
                                        Industry, Size, Headquarters, Website;
                                        Work email; Phone.
                                    value:
                                      type: string
                                      description: >-
                                        The value as a change compares it, at
                                        most 500 characters.
                                  required:
                                    - key
                                    - label
                                    - value
                                maxItems: 8
                                description: >-
                                  The source's key fields that carry a value in
                                  this answer, in the source's order
                                  (2026-10-15): what the Enriched row's tree
                                  shows. [] when the answer held none (a search
                                  that found nothing); null for posts, people
                                  and api, which name no key fields; absent on
                                  facts written before.
                              verdict:
                                type: string
                                nullable: true
                                description: >-
                                  The email verifier's word on the address a
                                  work email search kept (valid, catch_all,
                                  unknown, risky; catch_all, unknown and risky
                                  make the outcome not_verified); null for every
                                  other source and when no verifier spoke.
                            required:
                              - field_sid
                              - column
                              - source
                              - first
                              - outcome
                              - fields
                          - type: object
                            properties:
                              activity_urn:
                                type: string
                                description: >-
                                  The post's activity URN, the one a Like or a
                                  comment addresses.
                              kind:
                                type: string
                                enum:
                                  - post
                                  - repost_with_comment
                                description: >-
                                  The person's own post, or a repost with their
                                  own words.
                              excerpt:
                                type: string
                                description: >-
                                  The post's text cut at 140 characters, the
                                  whitespace flattened; may be empty.
                              text:
                                type: string
                                nullable: true
                                maxLength: 3000
                                description: >-
                                  The whole post, its line breaks kept, 3000
                                  characters at most (2026-10-15); absent on
                                  older facts.
                              post_urn:
                                type: string
                                nullable: true
                                description: >-
                                  The post's share or ugcPost URN, when it has
                                  one.
                              posted_at:
                                type: string
                                nullable: true
                                description: >-
                                  ISO 8601 UTC - when the post was published, as
                                  the network said.
                              field_sid:
                                type: string
                                nullable: true
                                description: >-
                                  pt_fd_… the column that read the posts; null
                                  when a workflow step's read wrote the fact.
                              column:
                                type: string
                                nullable: true
                                description: The column's name at the time.
                              likes:
                                type: integer
                                minimum: 0
                                description: The network's count at the read.
                              comments:
                                type: integer
                                minimum: 0
                                description: The network's count at the read.
                              reposts:
                                type: integer
                                minimum: 0
                                description: The network's count at the read.
                              images:
                                type: integer
                                minimum: 0
                                description: >-
                                  How many images the post carries; their copies
                                  come with the re-host, never a URL here.
                              reactions:
                                type: object
                                nullable: true
                                additionalProperties:
                                  type: integer
                                  minimum: 0
                                description: >-
                                  The count by reaction kind as the read names
                                  the kinds (LIKE, EMPATHY, PRAISE, INTEREST,
                                  APPRECIATION, ENTERTAINMENT), 2026-10-15; null
                                  when the read carried none.
                            required:
                              - activity_urn
                              - kind
                              - excerpt
                              - likes
                              - comments
                              - reposts
                              - images
                          - type: object
                            properties:
                              activity_urn:
                                type: string
                                description: The watched post's activity URN, never a URL.
                              kind:
                                type: string
                                enum:
                                  - reaction
                                  - comment
                                  - reshare
                                description: A reaction, a comment or a reshare.
                              data_source_sid:
                                type: string
                                description: >-
                                  ds_sc_… the engagers source that saw it - see
                                  ./data_sources.md.
                              reaction:
                                type: string
                                nullable: true
                                description: >-
                                  The reaction's name (like, celebrate, …) when
                                  the kind is a reaction.
                              author_name:
                                type: string
                                nullable: true
                                description: The post author's name, for the row.
                              excerpt:
                                type: string
                                nullable: true
                                description: >-
                                  The post's text cut at 140 characters, for the
                                  row.
                              engaged_at:
                                type: string
                                nullable: true
                                description: >-
                                  ISO 8601 UTC - when the engagement happened,
                                  when the network said.
                            required:
                              - activity_urn
                              - kind
                              - data_source_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              year:
                                type: integer
                                description: >-
                                  The year the card is for: the dedup key with
                                  the kind.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: The gtm LinkedIn account that read the card.
                              card_sid:
                                type: string
                                nullable: true
                                description: The feed card's URN.
                              text:
                                type: string
                                nullable: true
                                description: The card's own words, for the row.
                            required:
                              - sender_profile_sid
                              - year
                          - type: object
                            properties:
                              playtable_sid:
                                type: string
                                nullable: true
                                description: >-
                                  pt_tb_… table the object landed in - see
                                  ./playtables.md.
                              data_source_sid:
                                type: string
                                nullable: true
                                description: >-
                                  ds_sc_… source that produced the object - see
                                  ./data_sources.md.
                              data_source_item_sid:
                                type: string
                                nullable: true
                                description: >-
                                  ds_it_… item the object was promoted from -
                                  see ./data_source_items.md.
                              tags:
                                type: array
                                nullable: true
                                items: {}
                                description: >-
                                  Tags attached at creation; element shape
                                  deferred in research (see tags_added for the
                                  {sid, name} snapshot convention).
                              qualified:
                                type: boolean
                                nullable: true
                                description: >-
                                  true = born from an item of a data source
                                  whose Check on save was on, so the record
                                  passed the source's criterion (2026-10-15).
                                  null otherwise (no gate, a hand row, the rows
                                  born before the stamp); never false: a record
                                  the gate turns away is never born.
                            required:
                              - playtable_sid
                              - data_source_sid
                              - data_source_item_sid
                              - tags
                          - type: object
                            properties:
                              fields:
                                type: array
                                items:
                                  type: string
                                description: Changed field names.
                              old:
                                type: object
                                additionalProperties: {}
                                description: Previous values, keyed by field.
                              new:
                                type: object
                                additionalProperties: {}
                                description: New values, keyed by field.
                            required:
                              - fields
                              - old
                              - new
                          - type: object
                            properties:
                              old:
                                type: string
                                description: pt_tb_… membership before the move.
                              new:
                                type: string
                                description: pt_tb_… membership after the move.
                              data_source_sid:
                                type: string
                                nullable: true
                                description: >-
                                  ds_sc_… when a source import triggered the
                                  move.
                            required:
                              - old
                              - new
                              - data_source_sid
                          - type: object
                            properties:
                              name:
                                type: string
                                description: >-
                                  Tombstone snapshot - object display name at
                                  deletion time.
                            required:
                              - name
                          - type: object
                            properties:
                              tags:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    sid:
                                      type: string
                                      description: cr_tg_… tag - see ./tags.md.
                                    name:
                                      type: string
                                      description: Tag name snapshot at event time.
                                  required:
                                    - sid
                                    - name
                                description: >-
                                  Tags added/removed in this change, with name
                                  snapshots.
                            required:
                              - tags
                          - type: object
                            properties:
                              reason:
                                type: string
                                nullable: true
                                description: Human-readable cancellation reason.
                            required:
                              - reason
                          - type: object
                            properties:
                              reason:
                                type: string
                                description: Human-readable failure reason.
                            required:
                              - reason
                          - type: object
                            properties:
                              old:
                                type: string
                                description: >-
                                  Previous AI SDR status (Messaging-owned
                                  vocabulary).
                              new:
                                type: string
                                description: New AI SDR status.
                              message_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging message that triggered the
                                  change; null when none.
                              channel:
                                type: string
                                nullable: true
                                description: >-
                                  Channel the status change relates to
                                  (Messaging-owned); null when not
                                  channel-bound.
                            required:
                              - old
                              - new
                              - message_sid
                              - channel
                          - type: object
                            properties:
                              fact:
                                type: string
                                maxLength: 64
                                description: >-
                                  The fact as the Playbook question names it
                                  ("Channel", "Their tool").
                              question:
                                type: string
                                maxLength: 255
                                description: The question in the agent's words.
                              answer:
                                type: string
                                maxLength: 512
                                description: >-
                                  The lead's answer, clamped server-side;
                                  untrusted text.
                              conversation_sid:
                                type: string
                                description: >-
                                  The unibox thread it was learned on
                                  (ub_cv_...).
                              run_sid:
                                type: string
                                nullable: true
                                description: >-
                                  The dialog turn that heard it (ub_rn_...);
                                  null when unknown.
                              changed:
                                type: boolean
                                description: >-
                                  true when it replaced an earlier answer to the
                                  same question on this thread.
                            required:
                              - fact
                              - question
                              - answer
                              - conversation_sid
                              - run_sid
                              - changed
                          - type: object
                            properties:
                              workflow_task_sid:
                                type: string
                                description: >-
                                  wf_tk_… completed manual task - see
                                  ./workflow_tasks.md (legacy task_uuid).
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging LinkedIn account, when the
                                  task was LinkedIn-scoped.
                            required:
                              - workflow_task_sid
                              - sender_profile_sid
                              - linkedin_account_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              invitation_sid:
                                type: string
                                description: ln_ci_… the gtm invitation row.
                              note:
                                type: string
                                nullable: true
                                description: The lead's invitation text; null when none.
                              source:
                                type: string
                                nullable: true
                                description: >-
                                  How the end was learned, action | sync; null
                                  on the receipt.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - invitation_sid
                              - note
                              - source
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              connection_sid:
                                type: string
                                description: >-
                                  ln_cn_… the gtm connection row that was
                                  severed.
                              removal_kind:
                                type: string
                                nullable: true
                                description: >-
                                  removed (the lead removed us) | blocked (the
                                  account was blocked); null when unknown.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - connection_sid
                              - removal_kind
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              block_log_sid:
                                type: string
                                description: >-
                                  The gtm linkedin-account-block-log row: the
                                  verdict, permanent for the account and the
                                  person.
                              connection_sid:
                                type: string
                                nullable: true
                                description: >-
                                  ln_cn_… the connection the block closed, when
                                  they were one; null otherwise.
                              activity_log_sid:
                                type: string
                                nullable: true
                                description: >-
                                  ln_al_… the read of gtm's activity log that
                                  established the block; null when unknown.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - block_log_sid
                              - connection_sid
                              - activity_log_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              follower_sid:
                                type: string
                                description: ln_fw_… the gtm follower row.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - follower_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              emoji:
                                type: string
                                description: The reaction, as LinkedIn reports it.
                              count:
                                type: integer
                                nullable: true
                                description: >-
                                  How many of the lead's side reacted with it;
                                  null when unknown.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - message_sid
                              - emoji
                              - count
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… the sender profile whose profile was
                                  looked at (the one the collector named: one
                                  sid on unibox and on the playtables copy) -
                                  see ./sender_profiles.md.
                              times_seen:
                                type: integer
                                minimum: 1
                                description: >-
                                  How many runs of the collector listed the
                                  viewer: the first sighting and every re-view
                                  since.
                              first_seen_at:
                                type: string
                                description: >-
                                  ISO 8601 UTC: when the collector first saw
                                  this viewer on this sender profile; the fact's
                                  occurred_at on the first sighting.
                              is_return:
                                type: boolean
                                description: >-
                                  True on a re-sighting after thirty days of
                                  absence (a second fact under a dated key);
                                  false on the first sighting.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: >-
                                  The gtm account the list was read on; null
                                  when unknown.
                              viewed_at_text:
                                type: string
                                nullable: true
                                description: >-
                                  The relative text LinkedIn printed last ("2
                                  days ago"); null when none.
                              display_name:
                                type: string
                                nullable: true
                                description: >-
                                  The viewer's name as the list printed it at
                                  that moment; null when none.
                              headline:
                                type: string
                                nullable: true
                                description: >-
                                  The viewer's headline as the list printed it;
                                  null when none.
                            required:
                              - sender_profile_sid
                              - times_seen
                              - first_seen_at
                              - is_return
                              - linkedin_account_sid
                              - viewed_at_text
                              - display_name
                              - headline
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              mailbox_sid:
                                type: string
                                nullable: true
                                description: External Messaging mailbox.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              bounce_log_sid:
                                type: string
                                nullable: true
                                description: >-
                                  em_bl_… gtm's bounce log row behind the
                                  complaint; null when it did not ride the
                                  event.
                            required:
                              - sender_profile_sid
                              - mailbox_sid
                              - message_sid
                              - bounce_log_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              message_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                              connected_at:
                                type: string
                                description: >-
                                  ISO 8601 UTC - when the connection was
                                  accepted.
                              note_delivered:
                                type: boolean
                                nullable: true
                                description: >-
                                  Whether the invite's note reached the thread
                                  as its first message at the accept (LinkedIn
                                  delivers it then, 2026-09-26): true when the
                                  invite went through the ledger with a note,
                                  false without one or when no invite of ours
                                  went (an already-connected accept), null when
                                  no ledger task sent the invite. With the
                                  messages sent, the base of the messages' reply
                                  rate.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - message_sid
                              - template_sid
                              - connected_at
                              - note_delivered
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              endorsed_count:
                                type: integer
                                minimum: 0
                                description: Number of skills endorsed.
                              skills:
                                type: array
                                items:
                                  type: string
                                description: Endorsed skill names.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - endorsed_count
                              - skills
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              message_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                              tracking_id:
                                type: string
                                description: Tracking id of the clicked link.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - message_sid
                              - template_sid
                              - tracking_id
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                              replied_message_sid:
                                type: string
                                nullable: true
                                description: >-
                                  Our message that was replied to; null when not
                                  resolvable.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - message_sid
                              - template_sid
                              - replied_message_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - message_sid
                              - template_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                              message_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                              - message_sid
                              - template_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: The gtm LinkedIn account that followed.
                            required:
                              - sender_profile_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              linkedin_account_sid:
                                type: string
                                nullable: true
                                description: External Messaging LinkedIn account.
                            required:
                              - sender_profile_sid
                              - linkedin_account_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              mailbox_sid:
                                type: string
                                nullable: true
                                description: External Messaging mailbox.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                              replied_message_sid:
                                type: string
                                nullable: true
                                description: >-
                                  Our message that was replied to; null when not
                                  resolvable.
                            required:
                              - sender_profile_sid
                              - mailbox_sid
                              - message_sid
                              - template_sid
                              - replied_message_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              mailbox_sid:
                                type: string
                                nullable: true
                                description: External Messaging mailbox.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              template_sid:
                                type: string
                                nullable: true
                                description: >-
                                  External Messaging template; null when no
                                  template was used.
                            required:
                              - sender_profile_sid
                              - mailbox_sid
                              - message_sid
                              - template_sid
                          - type: object
                            properties:
                              sender_profile_sid:
                                type: string
                                description: >-
                                  ub_sp_… sender profile that acted - see
                                  ./sender_profiles.md.
                              mailbox_sid:
                                type: string
                                nullable: true
                                description: External Messaging mailbox.
                              message_sid:
                                type: string
                                description: >-
                                  External Messaging message id (legacy
                                  email_uuid/message_uuid).
                              bounce_type:
                                type: string
                                nullable: true
                                description: >-
                                  hard | soft | policy, gtm's classification
                                  (2026-09-28); null on facts written before it.
                            required:
                              - sender_profile_sid
                              - mailbox_sid
                              - message_sid
                              - bounce_type
                          - type: object
                            properties:
                              session_sid:
                                type: string
                                description: >-
                                  sg_ws_... the session in gs.service.signals
                                  (get_website_session reads its pages and
                                  events).
                              site_sid:
                                type: string
                                description: >-
                                  sg_si_... the registered site the visit landed
                                  on.
                              attribution:
                                type: string
                                description: >-
                                  How the owner was named: code (the person code
                                  in our link), identified (an identify call or
                                  a form), fingerprint (the device), manual (a
                                  bind by hand), company_code (the company code
                                  in our link) and company_network (the
                                  visitor's network), both with the company as
                                  the object. The signals service's vocabulary,
                                  stored as told.
                              entry_path:
                                type: string
                                nullable: true
                                description: >-
                                  The path of the first page view, with its
                                  query.
                              referrer_type:
                                type: string
                                nullable: true
                                description: >-
                                  direct | internal | search | social | email |
                                  ads | referral | ai_assistant | unknown.
                              utm_source:
                                type: string
                                nullable: true
                              utm_campaign:
                                type: string
                                nullable: true
                              landing_code_used:
                                type: boolean
                                nullable: true
                                description: >-
                                  A code in our link named the owner: the person
                                  code (attribution code) or the company code
                                  (company_code).
                              visitor_sid:
                                type: string
                                nullable: true
                                description: sg_wv_... the browser behind the visit.
                            required:
                              - session_sid
                              - site_sid
                              - attribution
                          - type: object
                            properties:
                              session_sid:
                                type: string
                                description: >-
                                  sg_ws_... the session in gs.service.signals
                                  (get_website_session reads its pages and
                                  events).
                              key_page_sid:
                                type: string
                                description: sg_kp_... the key page whose pattern matched.
                              key:
                                type: string
                                description: >-
                                  The key page's slug (pricing, demo, signup,
                                  contact, or one the team added).
                              path:
                                type: string
                                nullable: true
                                description: The path that matched the pattern.
                            required:
                              - session_sid
                              - key_page_sid
                              - key
                          - type: object
                            properties:
                              session_sid:
                                type: string
                                description: >-
                                  sg_ws_... the session in gs.service.signals
                                  (get_website_session reads its pages and
                                  events).
                              form:
                                type: string
                                description: The form's name as the site reported it.
                              visitor_sid:
                                type: string
                                nullable: true
                                description: >-
                                  sg_wv_... the browser the form was submitted
                                  from.
                            required:
                              - session_sid
                              - form
                          - type: object
                            properties:
                              session_sid:
                                type: string
                                description: >-
                                  sg_ws_... the session in gs.service.signals
                                  (get_website_session reads its pages and
                                  events).
                              event:
                                type: string
                                description: >-
                                  The registered event name, as the site sent
                                  it.
                              props:
                                anyOf:
                                  - type: object
                                    additionalProperties: {}
                                  - type: array
                                    items: {}
                                  - {}
                                description: >-
                                  The event's properties as sent, 50 keys at
                                  most; [] when empty.
                            required:
                              - session_sid
                              - event
                          - type: object
                            properties:
                              note_sid:
                                type: string
                                description: >-
                                  cr_nt_… the note - see ./notes.md (legacy
                                  note_uuid).
                            required:
                              - note_sid
                          - type: object
                            additionalProperties: {}
                          - type: array
                            items: {}
                        description: >-
                          Per-type references (sids, tracking ids, reasons) -
                          never message bodies. Shape keyed by the sibling type
                          field.
                      workflow_sid:
                        type: string
                        nullable: true
                        description: >-
                          wf_wf_… when a workflow produced the fact - see
                          ./workflows.md; null otherwise.
                      workflow_step_id:
                        type: integer
                        nullable: true
                        minimum: 0
                        description: >-
                          Step id inside the version's steps JSON - see
                          ./workflow_versions.md step-id contract.
                      workflow_record_sid:
                        type: string
                        nullable: true
                        description: >-
                          wf_rc_… enrollment that produced the fact - see
                          ./workflow_records.md.
                      external_sid:
                        type: string
                        nullable: true
                        description: >-
                          Messaging event id (max 64) - ingest dedup key; null
                          on in-process rows.
                      occurred_at:
                        type: string
                        description: >-
                          ISO 8601 UTC - fact time at source; the timeline sort
                          key.
                      created_by:
                        type: object
                        properties:
                          actor_type:
                            type: string
                            enum:
                              - user
                              - support
                              - api_key
                              - system
                              - agent
                          actor_sid:
                            type: string
                            nullable: true
                          team_sid:
                            type: string
                          actor_name:
                            type: string
                            nullable: true
                            description: >-
                              The OAuth client that acted ("Claude", "n8n");
                              null for a user, an API key or a system job.
                          oauth_client_sid:
                            type: string
                            nullable: true
                            description: >-
                              The acting OAuth client (id_oc_*); null off the
                              OAuth path.
                          reason:
                            type: string
                            nullable: true
                            description: >-
                              Why a system actor wrote the row
                              (snapshot_capture_job, ...); null otherwise.
                          permissions:
                            type: object
                            additionalProperties: {}
                            description: >-
                              Internal audit context: the grant set the actor
                              held at write time. Not a contract.
                          cluster_id:
                            type: integer
                            nullable: true
                            description: >-
                              Internal audit context: the cluster that served
                              the write.
                          trace_id:
                            type: string
                            nullable: true
                            description: >-
                              Internal audit context: the trace id of the
                              request that wrote the row.
                        required:
                          - actor_type
                          - actor_sid
                          - team_sid
                          - permissions
                        description: Recording actor; actor_type=system on ingested rows.
                      created_at:
                        type: string
                        description: >-
                          ISO 8601 UTC - row write time (ingest lag vs
                          occurred_at possible).
                      updated_at:
                        type: string
                        description: >-
                          ISO 8601 UTC - always equals created_at (no update
                          path).
                    required:
                      - sid
                      - team_sid
                      - object_type
                      - object_sid
                      - category
                      - type
                      - payload
                      - workflow_sid
                      - workflow_step_id
                      - workflow_record_sid
                      - external_sid
                      - occurred_at
                      - created_by
                      - created_at
                      - updated_at
                    description: >-
                      The newest fact of the object under the filter, the
                      ledger's own row, verbatim.
                  facts_count:
                    type: integer
                    minimum: 0
                    exclusiveMinimum: true
                    description: How many facts the filter keeps of the object.
                  fresh_count:
                    type: integer
                    minimum: 0
                    description: >-
                      Of them, the facts the `fresh` filter keeps too; 0 when
                      the request marked nothing.
                  recent_types:
                    type: array
                    items:
                      type: string
                      enum:
                        - object_created
                        - object_updated
                        - object_deleted
                        - object_playtable_changed
                        - object_pipeline_stage_changed
                        - tags_added
                        - tags_removed
                        - workflow_added
                        - workflow_restarted
                        - workflow_cancelled
                        - workflow_finished
                        - workflow_failed
                        - ai_agent_status_changed
                        - ai_agent_fact_saved
                        - linkedin_connection_request_sent
                        - linkedin_connection_request_accepted
                        - linkedin_connection_request_withdrawn
                        - linkedin_blocked
                        - linkedin_message_sent
                        - linkedin_inmail_sent
                        - linkedin_message_replied
                        - linkedin_inmail_replied
                        - linkedin_message_opened
                        - linkedin_link_clicked
                        - linkedin_post_liked
                        - linkedin_post_commented
                        - linkedin_profile_visited
                        - linkedin_skills_endorsed
                        - linkedin_invitation_received
                        - linkedin_invitation_accepted
                        - linkedin_invitation_ignored
                        - linkedin_invitation_expired
                        - linkedin_connection_removed
                        - linkedin_followed
                        - linkedin_message_reacted
                        - linkedin_message_deleted
                        - linkedin_profile_viewed_us
                        - email_sent
                        - email_replied
                        - email_opened
                        - email_bounced
                        - email_link_clicked
                        - email_unsubscribed
                        - email_complained
                        - website_visited
                        - website_key_page_visited
                        - website_form_submitted
                        - website_event
                        - manual_task_completed
                        - note_left
                        - object_enriched
                        - object_data_changed
                        - linkedin_job_changed
                        - linkedin_post_published
                        - linkedin_birthday
                        - linkedin_work_anniversary
                        - linkedin_profile_followed
                        - linkedin_post_engaged
                    maxItems: 3
                    description: >-
                      The types of the object's newest facts under the filter,
                      newest first, at most 3; the first is latest.type.
                required:
                  - object_type
                  - object_sid
                  - latest
                  - facts_count
                  - fresh_count
                  - recent_types
              included:
                type: object
                properties:
                  person:
                    type: object
                    properties:
                      sid:
                        type: string
                    required:
                      - sid
                    description: >-
                      PeopleDomain row (cr_pp_…) - see ./people.md; present on
                      object_type=person rows when requested.
                  company:
                    type: object
                    properties:
                      sid:
                        type: string
                    required:
                      - sid
                    description: >-
                      CompanyDomain row (cr_co_…) - see ./companies.md; present
                      on object_type=company rows when requested.
                  play_acts:
                    type: object
                    properties:
                      tasks:
                        type: array
                        items:
                          type: object
                          properties:
                            sid:
                              type: string
                          required:
                            - sid
                        description: >-
                          The workflow tasks naming this row as their trigger
                          (WorkflowTaskDomain rows, see ./workflow_tasks.md),
                          any status, oldest first: a play's (a draft waiting, a
                          reaction sent, a question answered), a person's act by
                          hand (initiator user, 2026-10-15), a journey's Like or
                          comment on the post its read picked (2026-10-15). A
                          journey's wait is the journey instead.
                      facts:
                        type: array
                        items:
                          type: object
                          properties:
                            sid:
                              type: string
                          required:
                            - sid
                        description: >-
                          The facts an act left naming this row as their trigger
                          (ActivityDomain rows), oldest first: the comment, the
                          message, the journey entered or left.
                      plays:
                        type: array
                        items:
                          type: object
                          properties:
                            sid:
                              type: string
                              minLength: 18
                              maxLength: 18
                              pattern: ^pt_pl_
                            name:
                              type: string
                            catalog_key:
                              type: string
                              nullable: true
                              description: >-
                                The playbook entry the play was born from
                                (PlayCatalogKeyEnum); null for a play saved from
                                a view.
                            action_type:
                              type: string
                              enum:
                                - find_people
                                - add_to_workflow
                                - refresh
                                - congratulate
                                - on_job_change
                                - engage_posts
                                - on_website_visit
                            deleted_at:
                              type: string
                              nullable: true
                              description: >-
                                ISO 8601 UTC when the play was deleted; its name
                                still reads.
                          required:
                            - sid
                            - name
                            - catalog_key
                            - action_type
                            - deleted_at
                        description: >-
                          Every play the row, its tasks, its facts and its
                          passes name, deleted ones included so the name still
                          reads.
                      journey:
                        type: object
                        nullable: true
                        properties:
                          workflow_sid:
                            type: string
                          workflow_record_sid:
                            type: string
                          record_status:
                            type: string
                            nullable: true
                            enum:
                              - waiting_limit
                              - blocked
                              - active
                              - waiting
                              - paused_on_reply
                              - paused_manual
                              - paused_blocked
                              - failed
                              - completed
                              - exited
                            description: >-
                              The journey's status now; null only when the
                              record is gone.
                          workflow_name:
                            type: string
                            nullable: true
                            description: >-
                              The workflow's name, read with the deleted ones
                              (2026-10-15); null only when the row is gone.
                          next:
                            type: object
                            nullable: true
                            properties:
                              step_id:
                                type: integer
                              step_ordinal:
                                type: integer
                                nullable: true
                                minimum: 0
                                exclusiveMinimum: true
                                description: >-
                                  1-based place of the step in the pinned
                                  version, depth first ("step 3 of 5"); null
                                  when the version does not have it.
                              step_count:
                                type: integer
                                nullable: true
                                minimum: 0
                                exclusiveMinimum: true
                                description: >-
                                  Steps in the pinned version, nested ones and
                                  end steps counted; null with step_ordinal.
                              step_type:
                                type: string
                                nullable: true
                                description: >-
                                  The step's type in the version
                                  (WorkflowStepTypeEnum: linkedin_send_message,
                                  email_send, condition, ...); null with
                                  step_ordinal.
                              status:
                                type: string
                                enum:
                                  - pending
                                  - scheduled
                                  - dispatched
                                  - done
                                  - failed
                                  - skipped
                                  - skipped_reply
                                  - skipped_stoplisted
                                  - cancelled
                                  - expired
                              at:
                                type: string
                                description: >-
                                  ISO 8601 UTC: finished_at, else scheduled_at,
                                  else created_at.
                              text:
                                type: string
                                nullable: true
                                description: >-
                                  The words the task sends (its message, comment
                                  or email body as rendered, perhaps edited
                                  since), 2026-10-15; null for a step that sends
                                  nothing.
                            required:
                              - step_id
                              - step_ordinal
                              - step_count
                              - step_type
                              - status
                              - at
                              - text
                            description: >-
                              The record's first task after the wait (another
                              wait or a play's question skipped), whatever its
                              status; null when nothing follows yet.
                        required:
                          - workflow_sid
                          - workflow_record_sid
                          - record_status
                          - workflow_name
                          - next
                        description: >-
                          The workflow that acted on the event: a journey's
                          wait_for_event the event woke (the wait names it as
                          its trigger), with the step that followed. Null when
                          no journey waited on it.
                      records:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            workflow_sid:
                              type: string
                            status:
                              type: string
                              enum:
                                - waiting_limit
                                - blocked
                                - active
                                - waiting
                                - paused_on_reply
                                - paused_manual
                                - paused_blocked
                                - failed
                                - completed
                                - exited
                            current_step_id:
                              type: integer
                              nullable: true
                            step_ordinal:
                              type: integer
                              nullable: true
                              minimum: 0
                              exclusiveMinimum: true
                              description: >-
                                1-based place of the step in the pinned version,
                                depth first ("step 3 of 5"); null when the
                                version does not have it.
                            step_count:
                              type: integer
                              nullable: true
                              minimum: 0
                              exclusiveMinimum: true
                              description: >-
                                Steps in the pinned version, nested ones and end
                                steps counted; null with step_ordinal.
                            step_type:
                              type: string
                              nullable: true
                              description: >-
                                The step's type in the version
                                (WorkflowStepTypeEnum: linkedin_send_message,
                                email_send, condition, ...); null with
                                step_ordinal.
                          required:
                            - workflow_sid
                            - status
                            - current_step_id
                            - step_ordinal
                            - step_count
                            - step_type
                        description: >-
                          The journeys the row's play tasks ask about (a
                          question names its record), keyed by
                          workflow_record_sid, each with its current step's
                          place. An empty object when none.
                      passes:
                        type: array
                        items:
                          type: object
                          properties:
                            play_sid:
                              type: string
                              minLength: 18
                              maxLength: 18
                              pattern: ^pt_pl_
                              description: The play that passed; named in plays.
                            reason:
                              type: string
                              enum:
                                - outside_audience
                                - act_failed
                                - moment_off
                                - no_connected_sender_profile
                                - empty_message
                                - no_journey
                                - journey_moved_on
                                - nothing_to_do
                                - post_unnamed
                                - post_too_old
                                - weekly_cap
                                - no_sender_profile
                                - comment_not_written
                                - already_engaged
                                - page_not_watched
                                - workflow_unnamed
                                - already_in_workflow
                              description: >-
                                Why it passed on the event (the newest run's
                                reason).
                            at:
                              type: string
                              description: >-
                                ISO 8601 UTC: when a run last passed for this
                                reason.
                          required:
                            - play_sid
                            - reason
                            - at
                        description: >-
                          Why a play that watches the event passed on it
                          (2026-10-15), one per play: the moment off, nobody
                          connected, the weekly cap, a post too old, the person
                          outside the audience, another hand's Like or comment
                          on the post already. Empty when no play passed.
                      acts_as:
                        type: object
                        nullable: true
                        properties:
                          sender_profile_sid:
                            type: string
                            minLength: 18
                            maxLength: 18
                            pattern: ^ub_sp_
                        required:
                          - sender_profile_sid
                        description: >-
                          The sender profile act_on_activity would act as when
                          given none (2026-10-15): on a post the connected one,
                          else the team's first that can; on any other person's
                          event the one the fact came through, else the
                          connected one. Null for a company's event or when
                          nobody can.
                      invite:
                        type: object
                        nullable: true
                        properties:
                          sent_at:
                            type: string
                            description: >-
                              ISO 8601 UTC: when the invitation went out (the
                              invite task's finished_at).
                          workflow_sid:
                            type: string
                            nullable: true
                            description: The journey that sent it (wf_wf_).
                          workflow_record_sid:
                            type: string
                            nullable: true
                            description: Its record (wf_rc_).
                        required:
                          - sent_at
                          - workflow_sid
                          - workflow_record_sid
                        description: >-
                          On a linkedin_connection_request_accepted row
                          (2026-10-16): the invitation the accept answers, the
                          person's newest done linkedin_send_connection_request
                          task finished before the accept (a deleted journey's
                          too), so "Accepted the invitation after N days" reads
                          off sent_at. Null for an invitation sent by hand or
                          unknown, and null on every other type.
                    required:
                      - tasks
                      - facts
                      - plays
                      - journey
                      - records
                      - passes
                      - acts_as
                      - invite
                    description: >-
                      What was done about the row (2026-10-14, the Signals
                      feed): present on every row when requested, with empty
                      lists, a null journey, an empty records object, a null
                      acts_as and a null invite where nothing acted. The
                      act_state leaf reads the same rows.
                  person_journey:
                    type: object
                    nullable: true
                    properties:
                      workflow_sid:
                        type: string
                      workflow_name:
                        type: string
                        nullable: true
                        description: >-
                          The workflow's name, read with the deleted ones; null
                          only when the row is gone.
                      workflow_record_sid:
                        type: string
                      status:
                        type: string
                        enum:
                          - waiting_limit
                          - blocked
                          - active
                          - waiting
                          - paused_on_reply
                          - paused_manual
                          - paused_blocked
                          - failed
                          - completed
                          - exited
                        description: >-
                          The record's status as stored
                          (WorkflowRecordStatusEnum).
                      current_step_id:
                        type: integer
                      step_ordinal:
                        type: integer
                        nullable: true
                        minimum: 0
                        exclusiveMinimum: true
                        description: >-
                          1-based place of the step in the pinned version, depth
                          first ("step 3 of 5"); null when the version does not
                          have it.
                      step_count:
                        type: integer
                        nullable: true
                        minimum: 0
                        exclusiveMinimum: true
                        description: >-
                          Steps in the pinned version, nested ones and end steps
                          counted; null with step_ordinal.
                      step_type:
                        type: string
                        nullable: true
                        description: >-
                          The step's type in the version (WorkflowStepTypeEnum:
                          linkedin_send_message, email_send, condition, ...);
                          null with step_ordinal.
                      step_name:
                        type: string
                        nullable: true
                        description: >-
                          The step's own name in the pinned version (the
                          builder's label, 255 at most); null when the builder
                          gave none.
                      entered_at:
                        type: string
                        nullable: true
                        description: >-
                          ISO 8601 UTC: when the journey began; null while the
                          row is held at the door.
                      finished_at:
                        type: string
                        nullable: true
                        description: >-
                          ISO 8601 UTC: when the journey ended; null until a
                          terminal status.
                    required:
                      - workflow_sid
                      - workflow_name
                      - workflow_record_sid
                      - status
                      - current_step_id
                      - step_ordinal
                      - step_count
                      - step_type
                      - step_name
                      - entered_at
                      - finished_at
                    description: >-
                      The person's current journey (2026-10-16, the feed's
                      workflow chip): the newest workflow record of the row's
                      person whatever became of it, its status, its current
                      step's place and name in the pinned version, the
                      workflow's name (deleted records and workflows included).
                      On every row when requested; null on a company's row and
                      on a person with no record.
            required:
              - item
              - included
        pagination:
          type: object
          properties:
            next_cursor:
              type: string
              nullable: true
            has_more:
              type: boolean
            total_count:
              type: integer
              nullable: true
          required:
            - next_cursor
            - has_more
            - total_count
        applied_filters:
          type: object
          additionalProperties: {}
        includes:
          type: array
          items:
            type: string
        meta:
          type: object
          properties:
            trace_id:
              type: string
              description: UUID v7; same 128-bit value as the X-Trace-Id header.
            span_id:
              type: string
              pattern: ^[0-9a-f]{16}$
              description: 16 hex chars, root span of this request.
            timestamp:
              type: string
              description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time.
            duration_ms:
              type: integer
              minimum: 0
              description: Server-side wall clock.
            team_sid:
              type: string
              nullable: true
              description: >-
                The team this call ran in (the token team, or the team_sid
                override). Null when unauthenticated; absent from pre-2026-08-20
                backends.
            actor_type:
              type: string
              nullable: true
              description: >-
                user | agent | api_key | system. Null when unauthenticated;
                absent from pre-2026-08-20 backends.
          required:
            - trace_id
            - span_id
            - timestamp
            - duration_ms
        counts:
          type: object
          properties:
            total_count:
              type: integer
              minimum: 0
              description: The objects the request lists.
            facts_count:
              type: integer
              minimum: 0
              description: The facts the filter keeps of them.
            groups:
              type: object
              properties:
                category:
                  anyOf:
                    - type: object
                      additionalProperties:
                        type: integer
                        minimum: 0
                    - type: array
                      items: {}
                  description: >-
                    Flat {value: count}: the listed objects holding a fact of
                    that category. An object counts under every value it holds,
                    so the values do not sum to total_count.
                type:
                  anyOf:
                    - type: object
                      additionalProperties:
                        type: integer
                        minimum: 0
                    - type: array
                      items: {}
                  description: >-
                    Flat {value: count}: the listed objects holding a fact of
                    that type.
                object_type:
                  anyOf:
                    - type: object
                      additionalProperties:
                        type: integer
                        minimum: 0
                    - type: array
                      items: {}
                  description: 'Flat {person: n, company: m}.'
                fresh:
                  type: object
                  properties:
                    'true':
                      type: integer
                      minimum: 0
                    'false':
                      type: integer
                      minimum: 0
                  required:
                    - 'true'
                    - 'false'
                  description: The listed objects split by whether they hold a fresh fact.
              required:
                - category
                - type
                - object_type
                - fresh
          required:
            - total_count
            - facts_count
            - groups
      required:
        - success
        - operation
        - items
        - pagination
        - applied_filters
        - includes
        - meta
    McpError:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - false
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - validation_failed
                - nothing_to_update
                - not_found
                - relation_not_found
                - invalid_transition
                - limit_exceeded
                - payment_required
                - duplicate_rejected
                - conflict
                - delete_blocked
                - unauthorized
                - forbidden
                - rate_limited
                - internal_error
                - service_unavailable
                - not_implemented
            message:
              type: string
            recoverable:
              type: boolean
            suggestion:
              type: string
            field_errors:
              type: object
              additionalProperties:
                type: array
                items:
                  type: object
                  properties:
                    rule:
                      type: string
                    message:
                      type: string
                  required:
                    - rule
                    - message
            blockers:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    description: >-
                      Machine-readable blocker type (active_flow, pending_tasks,
                      …).
                  severity:
                    type: string
                    enum:
                      - hard
                      - soft
                    description: >-
                      hard = external action required; soft = acknowledge is
                      enough.
                  description:
                    type: string
                  entity_sid:
                    type: string
                    nullable: true
                  count:
                    type: integer
                  resolution:
                    type: string
                    description: 'Hard: tool name to call. Soft: code for acknowledge[].'
                  resolution_hint:
                    type: string
                required:
                  - type
                  - severity
                  - description
                  - entity_sid
                  - resolution
                  - resolution_hint
            context:
              type: object
              additionalProperties: {}
          required:
            - code
            - message
            - recoverable
        meta:
          type: object
          properties:
            trace_id:
              type: string
              description: UUID v7; same 128-bit value as the X-Trace-Id header.
            span_id:
              type: string
              pattern: ^[0-9a-f]{16}$
              description: 16 hex chars, root span of this request.
            timestamp:
              type: string
              description: ISO 8601 UTC (Y-m-dTH:i:sZ), response time.
            duration_ms:
              type: integer
              minimum: 0
              description: Server-side wall clock.
            team_sid:
              type: string
              nullable: true
              description: >-
                The team this call ran in (the token team, or the team_sid
                override). Null when unauthenticated; absent from pre-2026-08-20
                backends.
            actor_type:
              type: string
              nullable: true
              description: >-
                user | agent | api_key | system. Null when unauthenticated;
                absent from pre-2026-08-20 backends.
          required:
            - trace_id
            - span_id
            - timestamp
            - duration_ms
      required:
        - success
        - error
  responses:
    McpClientError:
      description: >-
        MCP error envelope. `error.code` is one of validation_failed,
        nothing_to_update, not_found, relation_not_found, invalid_transition,
        limit_exceeded, payment_required, duplicate_rejected, conflict,
        delete_blocked, unauthorized, forbidden, rate_limited, not_implemented.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/McpError'
    McpServerError:
      description: >-
        MCP error envelope with `error.code` internal_error or
        service_unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/McpError'
  securitySchemes:
    BearerJwt:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        Access token issued by gs.service.id. Its `access_identity` claim
        carries `team_sid`, `actor_sid` and `actor_type`, and that team scope is
        authoritative.
    TeamSid:
      type: apiKey
      in: header
      name: Team-SID
      description: >-
        Team scope for tokens that do not carry one. Ignored when the token
        already names a team.

````

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