> ## 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.

# Get a parse record

> One parse of a Knowledge document: its status and step, what it did (pages, passages, questions, the comparison's counts) and the answers found, each with its page and state. Poll it while it runs.

Contract:
- MCP tool `get_agent_source_parse`, registry package `mcp.unibox/agent_source_parses`, mount `unibox.knowledge`.
- Operation `get`, response envelope `get`.
- Flags: read only.



## OpenAPI

````yaml /api-reference/unibox/openapi.yaml get /api/agent-source-parses/{sid}
openapi: 3.0.3
info:
  title: 'GetSales public contract: gs.service.unibox'
  description: >-
    The team inbox and the AI SDR: every LinkedIn and email thread in one place
    (conversations, messages, the timeline events), the manual tasks a thread
    spawns, the sender profiles the team speaks through with their LinkedIn
    account and mailboxes, and the one agent per team with its scenarios, plans
    and runs.


    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.unibox`, 125 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/unibox/v1
    description: >-
      Production (the gateway path on the beta ring; the origin is provisioned
      per DEPLOY_MAP.md)
security:
  - BearerJwt: []
    TeamSid: []
tags:
  - name: agent_answers
    description: >-
      Registry package `mcp.unibox/agent_answers`, served on MCP mount
      `unibox.knowledge`.
  - name: agent_conversation_uploads
    description: >-
      Registry package `mcp.unibox/agent_conversation_uploads`, served on MCP
      mount `unibox.agent-memory`.
  - name: agent_examples
    description: >-
      Registry package `mcp.unibox/agent_examples`, served on MCP mount
      `unibox.agent-memory`.
  - name: agent_hints
    description: >-
      Registry package `mcp.unibox/agent_hints`, served on MCP mount
      `unibox.agent-memory`.
  - name: agent_plans
    description: >-
      Registry package `mcp.unibox/agent_plans`, served on MCP mount
      `unibox.agent`.
  - name: agent_runs
    description: >-
      Registry package `mcp.unibox/agent_runs`, served on MCP mount
      `unibox.agent-memory`.
  - name: agent_scenarios
    description: >-
      Registry package `mcp.unibox/agent_scenarios`, served on MCP mount
      `unibox.agent`.
  - name: agent_source_parses
    description: >-
      Registry package `mcp.unibox/agent_source_parses`, served on MCP mount
      `unibox.knowledge`.
  - name: agent_sources
    description: >-
      Registry package `mcp.unibox/agent_sources`, served on MCP mount
      `unibox.knowledge`.
  - name: agent_tests
    description: >-
      Registry package `mcp.unibox/agent_tests`, served on MCP mount
      `unibox.agent-memory`.
  - name: agents
    description: >-
      Registry package `mcp.unibox/agents`, served on MCP mount
      `unibox.website`.
  - name: conversation_events
    description: >-
      Registry package `mcp.unibox/conversation_events`, served on MCP mount
      `unibox.inbox`.
  - name: conversations
    description: >-
      Registry package `mcp.unibox/conversations`, served on MCP mount
      `unibox.inbox`.
  - name: messages
    description: >-
      Registry package `mcp.unibox/messages`, served on MCP mount
      `unibox.inbox`.
  - name: sender_profiles
    description: >-
      Registry package `mcp.unibox/sender_profiles`, served on MCP mount
      `unibox.sender-profiles`.
  - name: tasks
    description: Registry package `mcp.unibox/tasks`, served on MCP mount `unibox.inbox`.
  - name: timeline
    description: >-
      Registry package `mcp.unibox/timeline`, served on MCP mount
      `unibox.inbox`.
paths:
  /api/agent-source-parses/{sid}:
    get:
      tags:
        - agent_source_parses
      summary: Get a parse record
      description: >-
        One parse of a Knowledge document: its status and step, what it did
        (pages, passages, questions, the comparison's counts) and the answers
        found, each with its page and state. Poll it while it runs.


        Contract:

        - MCP tool `get_agent_source_parse`, registry package
        `mcp.unibox/agent_source_parses`, mount `unibox.knowledge`.

        - Operation `get`, response envelope `get`.

        - Flags: read only.
      operationId: get_agent_source_parse
      parameters:
        - name: sid
          in: path
          required: true
          description: The ub_ps_* sid of the parse record.
          schema:
            type: string
            minLength: 18
            maxLength: 18
            pattern: ^ub_ps_
            description: The ub_ps_* sid of the parse record.
      responses:
        '200':
          description: '`get` success envelope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAgentSourceParseResponse'
        4XX:
          $ref: '#/components/responses/McpClientError'
        5XX:
          $ref: '#/components/responses/McpServerError'
components:
  schemas:
    GetAgentSourceParseResponse:
      type: object
      properties:
        success:
          type: boolean
          enum:
            - true
        operation:
          type: string
          enum:
            - get
        item:
          type: object
          properties:
            sid:
              type: string
              description: Parse record sid (ub_ps_…).
            team_sid:
              type: string
              description: Owning team (ts_tm_…, external - gs.service.id).
            agent_sid:
              type: string
              description: The team's agent (ub_ag_…).
            source_sid:
              type: string
              description: The document read (ub_as_…).
            kind:
              type: string
              enum:
                - parse
                - again
                - refresh
              description: >-
                parse: a first read, compared with every answer the agent has;
                again: Read it again or a replaced file, compared with the
                document's own answers first; refresh: a website's scheduled
                read, the same comparison.
            status:
              type: string
              enum:
                - queued
                - reading
                - found
                - applied
                - failed
                - discarded
              description: >-
                queued for the job; reading (step says which); found (the
                answers wait for the OK); applied (what the person picked is in
                Knowledge; a read again that found everything as it was applies
                itself); failed (failure says why); discarded (closed with
                nothing added).
            instruction:
              type: string
              nullable: true
              description: The instruction this parse read by.
            step:
              type: string
              nullable: true
              enum:
                - reading
                - splitting
                - extracting
                - comparing
              description: >-
                Where a running parse stands: reading, splitting, extracting,
                comparing; null otherwise.
            steps:
              type: object
              properties:
                pages:
                  type: object
                  properties:
                    read:
                      type: integer
                    skipped:
                      type: integer
                    total:
                      type: integer
                  required:
                    - read
                    - skipped
                    - total
                  description: >-
                    The pages read, skipped on the instruction's word, and in
                    all.
                passages:
                  type: integer
                  description: The passages split by heading.
                questions:
                  type: integer
                  description: The questions found with their answers.
                compared:
                  type: object
                  properties:
                    new:
                      type: integer
                    already_there:
                      type: integer
                    says_otherwise:
                      type: integer
                    unchanged:
                      type: integer
                    gone:
                      type: integer
                  required:
                    - new
                    - already_there
                    - says_otherwise
                    - unchanged
                    - gone
                  description: The rows per state.
                applied:
                  type: object
                  properties:
                    added:
                      type: integer
                    updated:
                      type: integer
                    removed:
                      type: integer
                  required:
                    - added
                    - updated
                    - removed
                  description: 'What apply did: answers added, written over, removed.'
              description: >-
                What it did, as the modal shows it; a step not reached is
                absent.
            found:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: integer
                    description: 'The row''s id within the parse, from 1: what apply names.'
                  question:
                    type: string
                    description: The question as a lead would ask it, up to 500 chars.
                  phrasings:
                    type: array
                    items:
                      type: string
                    description: Other ways a lead would ask it, up to twelve.
                  answer:
                    type: string
                    description: The answer in the document's words, up to 1200 chars.
                  page:
                    type: integer
                    nullable: true
                    description: >-
                      The page it was read from (a website's page ordinal); null
                      for a text file.
                  url:
                    type: string
                    nullable: true
                    description: A website page's address; null for a file.
                  passage_from:
                    type: integer
                    nullable: true
                    description: The passage's start offset in its page's text.
                  passage_to:
                    type: integer
                    nullable: true
                    description: The passage's end offset.
                  passage:
                    type: string
                    nullable: true
                    description: The passage it was read from, up to 1200 chars.
                  state:
                    type: string
                    enum:
                      - new
                      - already_there
                      - says_otherwise
                      - unchanged
                      - gone
                    description: >-
                      new: nothing in Knowledge answers it (comes checked);
                      already_there: an answer with the same meaning exists
                      (comes unchecked); says_otherwise: an answer exists and
                      differs (Keep ours or Use the new one); unchanged: a read
                      again found the document's own answer as it was (its sid
                      and reads kept); gone: an earlier answer of the document
                      the read again did not find (listed to remove).
                  similarity:
                    type: number
                    nullable: true
                    description: >-
                      How near the existing answer's question is, (1 + cosine) /
                      2; null on a new row.
                  existing:
                    type: object
                    nullable: true
                    properties:
                      sid:
                        type: string
                        description: The existing answer (ub_an_…).
                      question:
                        type: string
                        description: Its question.
                      answer:
                        type: string
                        description: Its answer.
                      source_kind:
                        type: string
                        description: document or manual.
                      source_sid:
                        type: string
                        nullable: true
                        description: Its document (ub_as_…) when read from one.
                      source_title:
                        type: string
                        nullable: true
                        description: That document's title.
                      page:
                        type: integer
                        nullable: true
                        description: That document's page.
                    required:
                      - sid
                      - question
                      - answer
                      - source_kind
                      - source_sid
                      - source_title
                      - page
                    description: >-
                      The existing answer the row was compared with; null on a
                      new row.
                required:
                  - id
                  - question
                  - phrasings
                  - answer
                  - page
                  - url
                  - passage_from
                  - passage_to
                  - passage
                  - state
                  - similarity
                  - existing
              description: >-
                The answers found, each with its state against Knowledge; empty
                until the comparison finished (and on the include of
                search_agent_sources).
            failure:
              type: object
              nullable: true
              properties:
                reason:
                  type: string
                  enum:
                    - unreadable
                    - no_text
                    - too_large
                    - website_unreachable
                    - nothing_found
                    - model_failed
                message:
                  type: string
                  description: What to do, in the words the modal shows.
              required:
                - reason
                - message
              description: Why the parse gave up; null unless failed.
            read_at:
              type: string
              nullable: true
              description: ISO 8601 UTC when the comparison finished; null until then.
            applied_at:
              type: string
              nullable: true
              description: ISO 8601 UTC when the answers were taken in; null until then.
            applied_by:
              type: object
              nullable: true
              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: Who took them in; null on a read that applied itself.
            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: Who opened the parse; the system on a website's refresh.
            created_at:
              type: string
              description: ISO 8601 UTC.
            updated_at:
              type: string
              description: ISO 8601 UTC.
          required:
            - sid
            - team_sid
            - agent_sid
            - source_sid
            - kind
            - status
            - instruction
            - step
            - steps
            - found
            - failure
            - read_at
            - applied_at
            - applied_by
            - created_by
            - created_at
            - updated_at
        included:
          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
      required:
        - success
        - operation
        - item
        - included
        - 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.