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

# Get claims for a narrative

> See every claim behind one narrative in a Scan — the verbatim quotes, the prompt, platform and region, the per-brand stances, and the cited sources. Pass a narrativeId from the narratives list.



## OpenAPI

````yaml /openapi/public-api-v1.json get /v1/sites/{siteId}/narratives/{narrativeId}/claims
openapi: 3.0.0
info:
  title: Onsomble API
  description: >-
    Connect Onsomble to your reporting and operational workflows. Read
    discoverability results or start a Scan from another system.
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.onsomble.ai
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Sites
    description: Sites connected to your account.
  - name: Clients
    description: Clients managed by agency accounts.
  - name: Scans
    description: Scan history, status, and controls.
  - name: Reports
    description: AI discoverability results.
paths:
  /v1/sites/{siteId}/narratives/{narrativeId}/claims:
    get:
      tags:
        - Sites
      summary: Get claims for a narrative
      description: >-
        See every claim behind one narrative in a Scan — the verbatim quotes,
        the prompt, platform and region, the per-brand stances, and the cited
        sources. Pass a narrativeId from the narratives list.
      operationId: getNarrativeClaims
      parameters:
        - name: siteId
          required: true
          in: path
          schema:
            type: string
        - name: narrativeId
          required: true
          in: path
          schema:
            type: string
        - name: promptId
          required: false
          in: query
          description: Repeat to limit to these prompts (promptIds).
          schema:
            type: array
            items:
              type: string
              format: uuid
        - name: tag
          required: false
          in: query
          description: Repeat to limit to prompts with these tags.
          schema:
            example:
              - pricing
            type: array
            items:
              type: string
        - name: category
          required: false
          in: query
          description: Repeat to limit to prompts in these categories.
          schema:
            example:
              - comparison
            type: array
            items:
              type: string
        - name: product
          required: false
          in: query
          description: Repeat to limit to prompts about these products.
          schema:
            example:
              - Car Insurance
            type: array
            items:
              type: string
        - name: persona
          required: false
          in: query
          description: Repeat to limit to prompts targeting these personas.
          schema:
            example:
              - Landlords
            type: array
            items:
              type: string
        - name: stage
          required: false
          in: query
          description: Repeat to limit to prompts in these journey stages.
          schema:
            example:
              - Decision
            type: array
            items:
              type: string
        - name: brandMention
          required: false
          in: query
          description: Limit to prompts that do, or do not, mention the tracked brand.
          schema:
            type: string
            enum:
              - mentions_tracked_brand
              - does_not_mention_tracked_brand
        - name: scanId
          required: false
          in: query
          description: >-
            Scan to read. Omit for the latest completed Scan; the response
            echoes the resolved scanId and scanDate.
          schema:
            type: string
            format: uuid
        - name: platform
          required: false
          in: query
          description: Repeat to select AI platforms. Omit for every platform.
          schema:
            type: array
            items:
              type: string
              enum:
                - claude_api
                - chatgpt_api
                - gemini_api
                - perplexity_sonar_pro
                - chatgpt_app
                - gemini_app
                - google_ai_summaries_app
                - google_ai_mode_app
                - microsoft_copilot_app
                - perplexity_app
        - name: region
          required: false
          in: query
          description: Repeat to select region codes. Omit for all regions.
          schema:
            example:
              - NZ:auckland
            type: array
            items:
              type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NarrativeClaimsReportResponseDto'
        '404':
          description: Site not found.
components:
  schemas:
    NarrativeClaimsReportResponseDto:
      type: object
      properties:
        scanId:
          type: string
          format: uuid
          nullable: true
        scanDate:
          type: string
          nullable: true
          example: '2026-09-10'
          description: >-
            The UTC calendar day of the Scan. Use `scanCompletedAt` for the
            exact time, to show the day in your user's time zone.
        scanCompletedAt:
          type: string
          nullable: true
          format: date-time
          example: '2026-09-10T09:42:00.000Z'
          description: >-
            When the Scan finished, as an ISO 8601 UTC timestamp. Format it in
            your user's time zone to show the day. Null when not known.
        narrative:
          nullable: true
          description: >-
            The narrative these claims belong to. Null when the id is not in
            this Site.
          type: object
          allOf:
            - $ref: '#/components/schemas/NarrativeTargetDto'
        data:
          type: array
          items:
            $ref: '#/components/schemas/NarrativeClaimDto'
      required:
        - scanId
        - scanDate
        - narrative
        - data
    NarrativeTargetDto:
      type: object
      properties:
        narrativeId:
          type: string
          format: uuid
        name:
          type: string
          example: Interest, rates and pricing
      required:
        - narrativeId
        - name
    NarrativeClaimDto:
      type: object
      properties:
        claimId:
          type: string
          format: uuid
          description: >-
            Stable claim id. Pass as a create_recommendation seed
            ({kind:"claim", id}) to attach this quote as the recommendation
            evidence.
        claimText:
          type: string
          example: State offers comprehensive car insurance with agreed value cover.
        quote:
          type: string
          description: Verbatim slice of the AI response the claim was extracted from.
        stance:
          type: string
          nullable: true
          example: positive
        platform:
          $ref: '#/components/schemas/PublicPlatformDto'
        region:
          type: string
          nullable: true
          example: NZ:auckland
        promptId:
          type: string
          format: uuid
          description: >-
            Resolve the prompt text and classification via GET
            /v1/sites/{siteId}/prompts/{promptId}.
        brands:
          type: array
          items:
            $ref: '#/components/schemas/NarrativeClaimBrandDto'
        sources:
          type: array
          items:
            $ref: '#/components/schemas/NarrativeClaimSourceDto'
        drivers:
          description: >-
            The factors behind the claim — what the answer said and how it felt,
            per brand or market-level.
          type: array
          items:
            $ref: '#/components/schemas/NarrativeClaimDriverDto'
      required:
        - claimId
        - claimText
        - quote
        - stance
        - platform
        - region
        - promptId
        - brands
        - sources
        - drivers
    PublicPlatformDto:
      type: object
      properties:
        id:
          type: string
          example: chatgpt_app
          description: Stable ID for the platform and collection method.
        name:
          type: string
          example: ChatGPT
        method:
          type: string
          enum:
            - web
            - api
          example: web
          description: >-
            How Onsomble collected the result: from the public website or
            through an API.
      required:
        - id
        - name
        - method
    NarrativeClaimBrandDto:
      type: object
      properties:
        brandId:
          type: string
          format: uuid
          nullable: true
        name:
          type: string
          example: State Insurance
        stance:
          type: string
          example: positive
        role:
          type: string
          enum:
            - subject
            - comparison_reference
          example: subject
      required:
        - brandId
        - name
        - stance
        - role
    NarrativeClaimSourceDto:
      type: object
      properties:
        url:
          type: string
          example: https://state.co.nz/car-insurance
        domain:
          type: string
          nullable: true
          example: state.co.nz
        passage:
          type: string
          nullable: true
          description: The cited passage, when captured.
      required:
        - url
        - domain
        - passage
    NarrativeClaimDriverDto:
      type: object
      properties:
        brandId:
          type: string
          format: uuid
          nullable: true
          description: The brand the driver is about; null for a market-level driver.
        brandName:
          type: string
          nullable: true
        factor:
          type: string
          example: liability evidence
          description: The factor (the claim aspect) this driver concerns.
        factorType:
          type: string
          example: trust_signal
          description: >-
            decision_criterion, feature, friction, or trust_signal (new values
            may appear).
        polarity:
          type: string
          example: positive
          description: >-
            How the answer felt about the factor: positive, neutral, negative,
            or mixed.
        relevance:
          type: number
          nullable: true
          example: 1
          description: 0 to 1.
        evidence:
          type: string
          nullable: true
          description: The snippet the driver was read from.
      required:
        - brandId
        - brandName
        - factor
        - factorType
        - polarity
        - relevance
        - evidence
  securitySchemes:
    apiKeyAuth:
      scheme: bearer
      bearerFormat: ons_…
      type: http
      description: An API key created in Settings → Account → API Keys.

````

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