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

# 分享报告

> 通过链接或公开方式发布监测器的只读报告，或将其下线。



## OpenAPI

````yaml PUT /v1/monitors/{id}/share
openapi: 3.1.0
info:
  title: querying.ai
  description: >-
    One API for every AI answer engine. Every task is asynchronous: submit, then
    collect the result via webhook or polling.
  version: 1.0.0
servers:
  - url: https://api.querying.ai
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/monitors/{id}/share:
    put:
      tags:
        - Monitors
      summary: Share a report
      description: >-
        Publish the monitor's read-only report at querying.ai/<slug> for anyone
        with the link (LINK) or for search engines too (PUBLIC), or take it
        offline (PRIVATE) while keeping the slug for the next time.
      operationId: updateMonitorShare
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MonitorShareRequest'
            example:
              access: LINK
              slug: acme-earbuds
              locale: en
      responses:
        '200':
          description: The sharing state after the change.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorShareUpdateResponse'
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          description: 'SLUG_TAKEN: another monitor already uses this slug.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                success: false
                error:
                  code: SLUG_TAKEN
                  message: querying.ai/acme-earbuds is taken. Choose another address
                  timestamp: '2026-10-09T09:00:00.000Z'
components:
  schemas:
    MonitorShareRequest:
      type: object
      required:
        - access
      properties:
        access:
          type: string
          enum:
            - PRIVATE
            - LINK
            - PUBLIC
        slug:
          type:
            - string
            - 'null'
          description: >-
            Required the first time access is LINK or PUBLIC. Omitted, null or
            empty keeps the current slug. Trimmed and lowercased, then 3 to 40
            lowercase letters, digits or single hyphens, starting and ending
            with a letter or digit; words the site uses for its own pages are
            reserved (400).
        locale:
          type: string
          enum:
            - en
            - ko
            - ja
            - zh
            - es
            - fr
            - de
            - pt
          description: Omit to keep the report's current language.
    MonitorShareUpdateResponse:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          const: true
        data:
          $ref: '#/components/schemas/MonitorShare'
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          $ref: '#/components/schemas/ErrorDetail'
    MonitorShare:
      type: object
      required:
        - access
        - slug
        - locale
        - url
      properties:
        access:
          type: string
          enum:
            - PRIVATE
            - LINK
            - PUBLIC
          description: >-
            PRIVATE: only you. LINK: anyone with the URL, not indexed. PUBLIC:
            anyone, and search engines may index it.
        slug:
          type:
            - string
            - 'null'
          description: >-
            The address segment, kept when access goes back to PRIVATE. null
            until one is set.
        locale:
          type: string
          enum:
            - en
            - ko
            - ja
            - zh
            - es
            - fr
            - de
            - pt
          description: The language the report renders in for every reader.
        url:
          type:
            - string
            - 'null'
          description: >-
            https://querying.ai/<slug>, or null when no slug is set. It serves
            the report only while access is LINK or PUBLIC.
    ErrorDetail:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Stable, safe to branch on. See the Errors guide for the full list.
        message:
          type: string
          description: For humans. May change.
        details:
          description: >-
            Context for the error. An array of `{field, message}` on most
            `VALIDATION_ERROR`s; an object elsewhere (for example `{id}` on
            `RESOURCE_NOT_FOUND`, `retryAfterSec` on 429 and 503 codes). Omitted
            when there is nothing to add.
          oneOf:
            - type: array
              items:
                type: object
                properties:
                  field:
                    type: string
                  message:
                    type: string
            - type: object
              additionalProperties: true
        timestamp:
          type: string
          format: date-time
  responses:
    ValidationError:
      description: >-
        The request is malformed — bad JSON, unrecognised `taskType`, or neither
        `payload.prompt` nor `payload.query` present. `details` names the
        offending field.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingPrompt:
              summary: Neither prompt nor query supplied
              value:
                success: false
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  details:
                    - field: payload.prompt
                      message: payload.prompt or payload.query is required
                  timestamp: '2026-07-09T04:12:00.000Z'
            badTaskType:
              summary: Unrecognised taskType
              value:
                success: false
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  details:
                    - field: taskType
                      message: '''NOPE'' is not recognized'
                  timestamp: '2026-07-09T04:12:00.000Z'
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: MISSING_API_KEY
              message: Missing or invalid API key
              timestamp: '2026-07-09T04:12:00.000Z'
    NotFound:
      description: >-
        No monitor with that id for this key, or no scored row with that task
        id. A monitor owned by another account is reported the same way rather
        than as a 403.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: NOT_FOUND
              message: No monitor with that id
              timestamp: '2026-09-22T04:12:00.000Z'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Your API key, sent as `Authorization: Bearer <key>`.'

````

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