> ## 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 website sessions

> The visitor feed: every visit to the team's sites, newest first, as one session: who it belongs to when a rung named someone (person_sid, or company_sid when only a company code or the network did; attribution says which), what was seen (pages with engaged time, key_pages, events: forms and custom events), where it came from (referrer_type, the utm set, landing_code), the browser and the network (network_type business, isp, mobile, hosting, education, government or unknown; network_name, network_domain). Scope with site_sid, started_at (the period) and the sids of a person, a company or a visitor; key_page, form and event take a slug or a name (eq or in), and is_null false = any whatever the name (every session that submitted a form, anonymous ones included), true = none; person_sid is_null false = known people, closed_at is_null true = on the site now, is_internal eq true = the team's own traffic. page_size 0 returns the counts by attribution, network type, referrer type, device and key page. "Who visited pricing this week and has not replied": this with key_page pricing and a started_at window, then search_people or search_conversations by the signals visited_key_page and visited_not_replied. What a session saw is private context: use it to decide when to write and what to offer, never tell the lead we know.

Contract:
- MCP tool `search_website_sessions`, registry package `mcp.signals/website_sessions`, mount `signals.visits`.
- Operation `search`, response envelope `search`.
- Flags: read only.



## OpenAPI

````yaml /api-reference/signals/openapi.yaml post /api/website-sessions/search
openapi: 3.0.3
info:
  title: 'GetSales public contract: gs.service.signals'
  description: >-
    The signals service, its website lane: the team's registered sites with
    their key pages and tracked events, the team switch for the codes in links,
    and what the tracking plane saw: every visit as a session with its pages,
    forms and network, the browsers behind them and the people they were bound
    to; and, since P0 of its LinkedIn leg, who looked at a sender profile's
    LinkedIn profile (the sightings of the premium list, read once a day).


    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.signals`, 30 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/signals/v1
    description: >-
      Production (the gateway path on the beta ring; the origin is provisioned
      per DEPLOY_MAP.md)
security:
  - BearerJwt: []
    TeamSid: []
tags:
  - name: profile_view_sightings
    description: >-
      Registry package `mcp.signals/profile_view_sightings`, served on MCP mount
      `signals.visits`.
  - name: signal_preferences
    description: >-
      Registry package `mcp.signals/signal_preferences`, served on MCP mount
      `signals.website`.
  - name: signal_settings
    description: >-
      Registry package `mcp.signals/signal_settings`, served on MCP mount
      `signals.website`.
  - name: website_key_pages
    description: >-
      Registry package `mcp.signals/website_key_pages`, served on MCP mount
      `signals.website`.
  - name: website_session_owners
    description: >-
      Registry package `mcp.signals/website_session_owners`, served on MCP mount
      `signals.visits`.
  - name: website_sessions
    description: >-
      Registry package `mcp.signals/website_sessions`, served on MCP mount
      `signals.visits`.
  - name: website_sites
    description: >-
      Registry package `mcp.signals/website_sites`, served on MCP mount
      `signals.website`.
  - name: website_tracked_events
    description: >-
      Registry package `mcp.signals/website_tracked_events`, served on MCP mount
      `signals.website`.
  - name: website_visitors
    description: >-
      Registry package `mcp.signals/website_visitors`, served on MCP mount
      `signals.visits`.
paths:
  /api/website-sessions/search:
    post:
      tags:
        - website_sessions
      summary: Search website sessions
      description: >-
        The visitor feed: every visit to the team's sites, newest first, as one
        session: who it belongs to when a rung named someone (person_sid, or
        company_sid when only a company code or the network did; attribution
        says which), what was seen (pages with engaged time, key_pages, events:
        forms and custom events), where it came from (referrer_type, the utm
        set, landing_code), the browser and the network (network_type business,
        isp, mobile, hosting, education, government or unknown; network_name,
        network_domain). Scope with site_sid, started_at (the period) and the
        sids of a person, a company or a visitor; key_page, form and event take
        a slug or a name (eq or in), and is_null false = any whatever the name
        (every session that submitted a form, anonymous ones included), true =
        none; person_sid is_null false = known people, closed_at is_null true =
        on the site now, is_internal eq true = the team's own traffic. page_size
        0 returns the counts by attribution, network type, referrer type, device
        and key page. "Who visited pricing this week and has not replied": this
        with key_page pricing and a started_at window, then search_people or
        search_conversations by the signals visited_key_page and
        visited_not_replied. What a session saw is private context: use it to
        decide when to write and what to offer, never tell the lead we know.


        Contract:

        - MCP tool `search_website_sessions`, registry package
        `mcp.signals/website_sessions`, mount `signals.visits`.

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

        - Flags: read only.
      operationId: search_website_sessions
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchWebsiteSessionsRequest'
      responses:
        '200':
          description: '`search` success envelope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchWebsiteSessionsResponse'
        4XX:
          $ref: '#/components/responses/McpClientError'
        5XX:
          $ref: '#/components/responses/McpServerError'
components:
  schemas:
    SearchWebsiteSessionsRequest:
      type: object
      description: Request body of `search_website_sessions`.
      properties:
        filter:
          type: object
          properties:
            sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^sg_ws_
                  description: Website session sid (sg_ws_...).
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^sg_ws_
                    description: Website session sid (sg_ws_...).
              additionalProperties: false
              description: Session sid(s), sg_ws_ prefix.
            site_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^sg_si_
                  description: Website site sid (sg_si_...).
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^sg_si_
                    description: Website site sid (sg_si_...).
              additionalProperties: false
              description: One site's visits (find the sid with search_website_sites).
            visitor_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^sg_wv_
                  description: >-
                    Website visitor sid (sg_wv_...), the browser behind the
                    visit.
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^sg_wv_
                    description: >-
                      Website visitor sid (sg_wv_...), the browser behind the
                      visit.
              additionalProperties: false
              description: One browser's visits.
            person_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^cr_pp_
                  description: 'Person sid (cr_pp_..., external: playtables).'
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^cr_pp_
                    description: 'Person sid (cr_pp_..., external: playtables).'
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                One person's visits; is_null false = known people, is_null true
                = nobody named.
            company_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^cr_co_
                  description: 'Company sid (cr_co_..., external: playtables).'
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^cr_co_
                    description: 'Company sid (cr_co_..., external: playtables).'
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The visits a company code or a network gave to one company;
                is_null false = known companies (a person's session carries no
                company_sid).
            fingerprint_sid:
              type: object
              properties:
                eq:
                  type: string
                  minLength: 18
                  maxLength: 18
                  pattern: ^sg_fp_
                  description: >-
                    Website fingerprint sid (sg_fp_...), a device of the
                    fingerprint base.
                in:
                  type: array
                  items:
                    type: string
                    minLength: 18
                    maxLength: 18
                    pattern: ^sg_fp_
                    description: >-
                      Website fingerprint sid (sg_fp_...), a device of the
                      fingerprint base.
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                The sessions of one device of the fingerprint base; is_null true
                = no device known.
            attribution:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - code
                    - identified
                    - fingerprint
                    - manual
                    - company_code
                    - company_network
                    - none
                ne:
                  type: string
                  enum:
                    - code
                    - identified
                    - fingerprint
                    - manual
                    - company_code
                    - company_network
                    - none
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - code
                      - identified
                      - fingerprint
                      - manual
                      - company_code
                      - company_network
                      - none
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - code
                      - identified
                      - fingerprint
                      - manual
                      - company_code
                      - company_network
                      - none
              additionalProperties: false
              description: Which rung named the owner; ne none = every attributed visit.
            network_type:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                business | isp | mobile | hosting | education | government |
                unknown; eq business over company_sid is_null true = companies
                we do not hold.
            referrer_type:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - direct
                    - internal
                    - search
                    - social
                    - email
                    - ads
                    - referral
                    - ai_assistant
                    - unknown
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - direct
                      - internal
                      - search
                      - social
                      - email
                      - ads
                      - referral
                      - ai_assistant
                      - unknown
                nin:
                  type: array
                  items:
                    type: string
                    enum:
                      - direct
                      - internal
                      - search
                      - social
                      - email
                      - ads
                      - referral
                      - ai_assistant
                      - unknown
              additionalProperties: false
              description: Where the visit came from.
            key_page:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                A key page slug (pricing): the sessions that reached it; is_null
                false = reached any key page, is_null true = none. The slugs are
                search_website_key_pages' keys.
            form:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                A form name: the sessions with a form of that name in events[];
                is_null false = submitted any form (anonymous and company-only
                sessions included), is_null true = none.
            event:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                A custom event name: the sessions with an event of that name in
                events[] (registered or not), letter case ignored as the
                tracked-event registry matches it; is_null false = sent any
                custom event, is_null true = none.
            geo_country:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: ISO 3166-1 alpha-2.
            device:
              type: object
              properties:
                eq:
                  type: string
                  enum:
                    - desktop
                    - mobile
                    - tablet
                    - unknown
                in:
                  type: array
                  items:
                    type: string
                    enum:
                      - desktop
                      - mobile
                      - tablet
                      - unknown
              additionalProperties: false
              description: desktop | mobile | tablet | unknown.
            browser:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: As the parser names it (Chrome, Safari...).
            os:
              type: object
              properties:
                eq:
                  type: string
                in:
                  type: array
                  items:
                    type: string
              additionalProperties: false
              description: As the parser names it (Windows, macOS, iOS...).
            is_internal:
              type: object
              properties:
                eq:
                  type: boolean
              additionalProperties: false
              description: >-
                The team's own traffic (the site's ignored_ips, an email of its
                own domains). No default scope: internal visits are shown unless
                this says otherwise.
            started_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 bounds: the period ("this week" is gte seven days ago).
                Combine bounds in one object.
            closed_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                is_null:
                  type: boolean
              additionalProperties: false
              description: >-
                is_null true = the sessions open now (someone may still be on
                the site).
            created_at:
              type: object
              properties:
                gte:
                  type: string
                lte:
                  type: string
                gt:
                  type: string
                lt:
                  type: string
              additionalProperties: false
              description: >-
                ISO 8601 bounds on when the session was opened here: "new since
                I looked" is created_at gt the member's seen_at
                (get_signal_preferences). "When" stays started_at.
          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:
              - visitor
              - person
              - company
            description: >-
              visitor: the browser's row; person and company: the owner's sid
              (the cards are owed).
          description: Relations to attach to every item; omit for the bare rows.
        sort:
          type: object
          properties:
            field:
              type: string
              enum:
                - started_at
                - last_seen_at
                - engaged_seconds
                - pageviews_count
              description: The column to order by.
            direction:
              type: string
              enum:
                - asc
                - desc
              description: asc or desc; default desc.
          required:
            - field
          description: One column and its direction; omit for the default order.
        page_size:
          type: integer
          minimum: 0
          maximum: 500
          description: 0..500, default 50; 0 = counts only, 1 = the first row.
        cursor:
          type: string
          nullable: true
          description: pagination.next_cursor of the previous page.
    SearchWebsiteSessionsResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        operation:
          type: string
          enum:
            - search
        items:
          type: array
          items:
            type: object
            properties:
              item:
                type: object
                properties:
                  sid:
                    type: string
                    description: Website session sid (sg_ws_...).
                  team_sid:
                    type: string
                    description: 'Owning team (ts_tm_..., external: gs.service.id).'
                  site_sid:
                    type: string
                    description: The registered site (sg_si_...).
                  visitor_sid:
                    type: string
                    description: >-
                      The browser behind the visit (sg_wv_...); a person may own
                      several.
                  person_sid:
                    type: string
                    nullable: true
                    description: >-
                      The person a rung named (cr_pp_..., playtables); null
                      while nobody did. A person always takes a session over
                      from a company.
                  company_sid:
                    type: string
                    nullable: true
                    description: >-
                      The company a company code in our link or the network
                      named when no person did (cr_co_..., playtables); cleared
                      when a person takes the session over.
                  attribution:
                    type: string
                    enum:
                      - code
                      - identified
                      - fingerprint
                      - manual
                      - company_code
                      - company_network
                      - none
                    description: >-
                      Which rung named the owner: code (the person code in our
                      link), identified (an identify or a form), fingerprint
                      (the device), manual (a bind by hand), company_code (the
                      company code in our link: the company, never a person;
                      every code on a site set to companies), company_network
                      (the network, a company); none while nothing did.
                  fingerprint_sid:
                    type: string
                    nullable: true
                    description: >-
                      The device the fingerprint base saw the session from
                      (sg_fp_...); null when none was stored.
                  started_at:
                    type: string
                    description: >-
                      ISO 8601 UTC, the receipt time of the first hit. The
                      feed's order, newest first.
                  last_seen_at:
                    type: string
                    description: >-
                      ISO 8601 UTC, the receipt time of the newest hit; the row
                      grows until the close.
                  closed_at:
                    type: string
                    nullable: true
                    description: >-
                      ISO 8601 UTC, set by the sweep 30 minutes after
                      last_seen_at; null = the visitor may still be on the site.
                  pageviews_count:
                    type: integer
                    minimum: 0
                    description: Every page view, beyond the cap of pages too.
                  engaged_seconds:
                    type: integer
                    minimum: 0
                    description: >-
                      The sum over page views of the largest engaged time each
                      reported.
                  entry_path:
                    type: string
                    description: The path of the first page view, with its query.
                  exit_path:
                    type: string
                    description: The path of the last page view.
                  pages:
                    type: array
                    items:
                      type: object
                      properties:
                        page_id:
                          type: string
                          description: The page view's id from the wire (12 characters).
                        path:
                          type: string
                          description: >-
                            The page's path with its query, the code in our link
                            removed by the script.
                        title:
                          type: string
                          nullable: true
                          description: The document title; null when none.
                        engaged_seconds:
                          type: integer
                          minimum: 0
                          description: >-
                            The largest engaged time a ping of this page view
                            reported, in whole seconds.
                        first_seen_at:
                          type: string
                          description: ISO 8601 UTC, the receipt time of the pageview hit.
                        scroll_pct:
                          type: integer
                          nullable: true
                          minimum: 0
                          maximum: 100
                          description: >-
                            The deepest scroll a ping of this page view
                            reported, 0 to 100; null until one did (and on
                            visits folded before 2026-10-07).
                      required:
                        - page_id
                        - path
                        - title
                        - engaged_seconds
                        - first_seen_at
                        - scroll_pct
                    description: >-
                      The first 50 page views, in order, each with its engaged
                      time.
                  events:
                    type: array
                    items:
                      type: object
                      properties:
                        kind:
                          type: string
                          enum:
                            - event
                            - form
                          description: >-
                            event: a custom event the site sent; form: a form it
                            reported (a marked form's submit, or a form a
                            server-side identify named).
                        name:
                          type: string
                          description: >-
                            The event's name or the form's name as the site sent
                            it. A form's email never rides here.
                        at:
                          type: string
                          description: ISO 8601 UTC, the receipt time of the hit.
                        page_id:
                          type: string
                          description: The page view the hit belonged to.
                      required:
                        - kind
                        - name
                        - at
                        - page_id
                    description: >-
                      The first 50 custom events and forms, in order; every
                      event the site sent, registered or not.
                  key_pages:
                    type: array
                    items:
                      type: string
                    description: >-
                      The keys (slugs) of the site's key pages reached, in the
                      order first reached: what the key_page filter matches and
                      the signal visited_key_page reads.
                  referrer_type:
                    type: string
                    enum:
                      - direct
                      - internal
                      - search
                      - social
                      - email
                      - ads
                      - referral
                      - ai_assistant
                      - unknown
                    description: >-
                      Where the visit came from, decided on the first page view:
                      direct, internal (another page of the site), search,
                      social, email, ads (a click id or a paid utm_medium),
                      referral, ai_assistant (ChatGPT, Perplexity, Claude and
                      the like), unknown.
                  referrer_host:
                    type: string
                    nullable: true
                    description: >-
                      The referrer's host, lowercased, no www.; null when absent
                      or unreadable.
                  utm_source:
                    type: string
                    nullable: true
                  utm_medium:
                    type: string
                    nullable: true
                  utm_campaign:
                    type: string
                    nullable: true
                  utm_content:
                    type: string
                    nullable: true
                  utm_term:
                    type: string
                    nullable: true
                  landing_code:
                    type: string
                    nullable: true
                    description: >-
                      The first code a hit of the session carried (the person
                      code or the company code in the link we sent); null when
                      none.
                  browser:
                    type: string
                    nullable: true
                    description: >-
                      The parser's name (Chrome, Safari, Firefox...); null when
                      unknown.
                  browser_version:
                    type: string
                    nullable: true
                  os:
                    type: string
                    nullable: true
                    description: Windows, macOS, iOS, Android, Linux...; null when unknown.
                  os_version:
                    type: string
                    nullable: true
                  device:
                    type: string
                    enum:
                      - desktop
                      - mobile
                      - tablet
                      - unknown
                    description: desktop | mobile | tablet | unknown.
                  screen:
                    type: string
                    nullable: true
                    description: >-
                      {width}x{height} of the screen; null when the first page
                      view did not report it.
                  language:
                    type: string
                    nullable: true
                    description: The browser's first language; null when not reported.
                  timezone:
                    type: string
                    nullable: true
                    description: The browser's IANA zone; null when not reported.
                  geo_country:
                    type: string
                    nullable: true
                    description: >-
                      ISO 3166-1 alpha-2 from the edge's location header; null
                      when the edge gave none.
                  geo_region:
                    type: string
                    nullable: true
                  geo_city:
                    type: string
                    nullable: true
                  ip:
                    type: string
                    description: >-
                      The client address of the first hit (IPv4 or IPv6); its
                      network part only once the network answer is stored on a
                      site with anonymize_ip.
                  network_status:
                    type: string
                    enum:
                      - pending
                      - resolved
                      - failed
                      - private
                    description: >-
                      pending until the data service answered for the address;
                      resolved with the network columns filled; failed (no
                      answer after the asks); private (an address nobody is
                      asked about).
                  network_type:
                    type: string
                    nullable: true
                    description: >-
                      The data service's classification of the block: business,
                      isp, mobile, hosting, education, government or unknown;
                      null until resolved.
                  network_name:
                    type: string
                    nullable: true
                    description: >-
                      The organization the block is registered to, else the
                      registry's name of the block ("Deutsche Telekom",
                      "Hetzner"); null until resolved.
                  network_domain:
                    type: string
                    nullable: true
                    description: >-
                      The company domain the data service derived for a business
                      network; null when none.
                  asn:
                    type: integer
                    nullable: true
                    description: The origin AS; null until resolved.
                  as_name:
                    type: string
                    nullable: true
                    description: The AS holder; null until resolved.
                  is_internal:
                    type: boolean
                    description: >-
                      A hit came from one of the site's ignored_ips, or an
                      identified email of the team's own domains: the team's own
                      traffic, never a fact, never a signal.
                  created_at:
                    type: string
                    description: ISO 8601 UTC.
                  updated_at:
                    type: string
                    description: ISO 8601 UTC.
                required:
                  - sid
                  - team_sid
                  - site_sid
                  - visitor_sid
                  - person_sid
                  - company_sid
                  - attribution
                  - fingerprint_sid
                  - started_at
                  - last_seen_at
                  - closed_at
                  - pageviews_count
                  - engaged_seconds
                  - entry_path
                  - exit_path
                  - pages
                  - events
                  - key_pages
                  - referrer_type
                  - referrer_host
                  - utm_source
                  - utm_medium
                  - utm_campaign
                  - utm_content
                  - utm_term
                  - landing_code
                  - browser
                  - browser_version
                  - os
                  - os_version
                  - device
                  - screen
                  - language
                  - timezone
                  - geo_country
                  - geo_region
                  - geo_city
                  - ip
                  - network_status
                  - network_type
                  - network_name
                  - network_domain
                  - asn
                  - as_name
                  - is_internal
                  - created_at
                  - updated_at
              included:
                type: object
                properties:
                  visitor:
                    type: object
                    properties:
                      sid:
                        type: string
                    required:
                      - sid
                    description: >-
                      The browser behind the visit, the WebsiteVisitorDomain
                      verbatim (bound person, identified email, sessions_count,
                      the latest attributes; // see ./website_visitors.md).
                  person:
                    type: object
                    properties:
                      sid:
                        type: string
                    required:
                      - sid
                    description: >-
                      The person a rung named: { sid } today (cr_pp_...), the
                      compact card is owed. Absent while person_sid is null.
                  company:
                    type: object
                    properties:
                      sid:
                        type: string
                    required:
                      - sid
                    description: >-
                      The company a company code or the network named when
                      nobody else did: { sid } today (cr_co_...). Absent while
                      company_sid is null.
            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: Sessions matching the filter (full filter scope, not the page).
            groups:
              type: object
              properties:
                attribution:
                  anyOf:
                    - type: object
                      additionalProperties: {}
                    - type: array
                      items: {}
                  description: >-
                    Sessions per attribution (code, identified, fingerprint,
                    manual, company_code, company_network, none); the values
                    that occur only, [] when none.
                network_type:
                  anyOf:
                    - type: object
                      additionalProperties: {}
                    - type: array
                      items: {}
                  description: >-
                    Sessions per network classification (business, isp, mobile,
                    hosting, education, government, unknown); unresolved
                    sessions are not a group.
                referrer_type:
                  anyOf:
                    - type: object
                      additionalProperties: {}
                    - type: array
                      items: {}
                  description: Sessions per referrer type.
                device:
                  anyOf:
                    - type: object
                      additionalProperties: {}
                    - type: array
                      items: {}
                  description: Sessions per device class.
                key_page:
                  anyOf:
                    - type: object
                      additionalProperties: {}
                    - type: array
                      items: {}
                  description: >-
                    Sessions per key page slug reached; a session that reached
                    two pages counts in both.
              required:
                - attribution
                - network_type
                - referrer_type
                - device
                - key_page
          required:
            - total_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.