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

# AssessInvestigationAPI assesses one data question from evidence the caller


> already collected. It does not query a warehouse or call an ad account.




## OpenAPI

````yaml /api/openapi.json post /v1/investigations
openapi: 3.0.0
info:
  title: Erdo API
  description: >-
    Erdo's REST API: query and write datasets, run agents, manage threads,
    integrations, pages, evals, workstreams, experiments, and bounded outreach.
    Authenticate with a Bearer API key (erdo_api_...) or scoped token
    (erdo_token_...).
  version: '2026-11-06'
servers:
  - url: https://api.erdo.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/investigations:
    post:
      summary: >
        AssessInvestigationAPI assesses one data question from evidence the
        caller
      description: |
        already collected. It does not query a warehouse or call an ad account.
      operationId: POST:mcp.AssessInvestigationAPI
      requestBody:
        content:
          application/json:
            schema:
              properties:
                artifacts:
                  items:
                    $ref: '#/components/schemas/investigation.ClaimCarrier'
                  type: array
                claims:
                  items:
                    $ref: '#/components/schemas/investigation.Claim'
                  type: array
                definitions:
                  items:
                    $ref: '#/components/schemas/investigation.Definition'
                  type: array
                min_post_days:
                  format: int64
                  type: integer
                observations:
                  items:
                    $ref: '#/components/schemas/investigation.Observation'
                  type: array
                post_days:
                  format: int64
                  type: integer
                question:
                  type: string
                  enum:
                    - metric
                    - bidding
                    - coverage
                    - cause
                    - citation
                    - count
                    - retraction
                subject:
                  type: string
                term:
                  type: string
              type: object
              required:
                - question
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  alternatives:
                    items:
                      type: string
                    type: array
                  artifact_ids:
                    items:
                      type: string
                    type: array
                  cited:
                    items:
                      type: string
                    type: array
                  findings:
                    items:
                      $ref: '#/components/schemas/investigation.Finding'
                    type: array
                  missing:
                    items:
                      type: string
                    type: array
                  question:
                    type: string
                  retracted_claim_ids:
                    items:
                      type: string
                    type: array
                  status:
                    type: string
                  unchanged_claim_ids:
                    items:
                      type: string
                    type: array
                type: object
          description: Success response
        default:
          $ref: '#/components/responses/APIError'
components:
  schemas:
    investigation.ClaimCarrier:
      description: >
        handoff, a draft, or a sub-agent brief. The caller names it. This
        package does not search messages.
      properties:
        claim_ids:
          items:
            type: string
          type: array
        id:
          type: string
      title: >
        ClaimCarrier is something that already carries a claim: a sent message,
        a
      type: object
    investigation.Claim:
      properties:
        action_id:
          type: string
        assertion:
          type: string
        basis:
          items:
            type: string
          type: array
        campaign_id:
          type: string
        id:
          type: string
      title: |
        Claim is an earlier statement a retraction has to address.
      type: object
    investigation.Definition:
      properties:
        count:
          format: int64
          type: integer
        entity:
          type: string
        feeds:
          description: |
            False keeps it out of the answer. Omitted means it may be.
          title: |
            Feeds reports whether this definition is a source of the asked term.
          type: boolean
        key:
          type: string
        meaning:
          type: string
        source:
          type: string
        status:
          type: string
        term:
          type: string
      title: >
        Definition is one meaning of a term and, when known, the count of its
        entity.
      type: object
    investigation.Observation:
      description: |
        stay empty.
      properties:
        action_id:
          type: string
        after:
          format: int64
          type: integer
        agrees:
          type: boolean
        before:
          description: |
            change. A cause is not answered from the window length alone.
          format: int64
          title: >
            Before and After are the outcome values on either side of a
            candidate
          type: integer
        campaign_id:
          type: string
        candidate:
          type: boolean
        complete:
          type: boolean
        count:
          format: int64
          type: integer
        entity:
          type: string
        feeds:
          type: boolean
        goal_read:
          type: string
        id:
          type: string
        in_effective_goal:
          type: boolean
        kind:
          type: string
        live_complete:
          type: boolean
        meaning:
          type: string
        name:
          type: string
        primary_for_goal:
          type: boolean
        row_count:
          format: int64
          type: integer
        same_window:
          type: boolean
        scope:
          type: string
        served:
          type: boolean
        source:
          type: string
        status:
          type: string
        synced:
          type: boolean
        term:
          type: string
      title: >
        Observation is one read from this session. Fields that do not apply to
        Kind
      type: object
    investigation.Finding:
      description: |
        observation ids it came from. Count is set only for a known measurement.
      properties:
        count:
          format: int64
          type: integer
        detail:
          type: string
        entity:
          type: string
        meaning:
          type: string
        role:
          type: string
        source_ids:
          items:
            type: string
          type: array
        status:
          type: string
        subject:
          type: string
      title: |
        Finding is one resolved statement. SourceIDs are the definition keys or
      type: object
  responses:
    APIError:
      content:
        application/json:
          schema:
            externalDocs:
              url: https://pkg.go.dev/encore.dev/beta/errs#Error
            properties:
              code:
                description: Error code
                example: not_found
                externalDocs:
                  url: https://pkg.go.dev/encore.dev/beta/errs#ErrCode
                type: string
              details:
                description: Error details
                type: object
              message:
                description: Error message
                type: string
            title: APIError
            type: object
      description: Error response
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).

````

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