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

# Create a private native empty report draft

> Requires delegated reports:write consent, native workspace create permission and current authoring availability. Workspace service keys are unsupported. A stable client report UUID and Idempotency-Key bind the original command before resolving defaults. An identical retry returns the initial native manifest after later edits and still checks current permissions. Creates an initial native V4 page, checkpoint and owner grant atomically. Complete page, theme and print settings are accepted through their native schemas. No Data attachment, connector query, provider run, share or schedule is created. Visual validation is a later measured composition step. Request maximum 512 KiB.

Required scopes: `reports:write`.


## OpenAPI

````yaml POST /api/v2/reports
openapi: 3.1.1
info:
  title: chatobserver public API
  version: '2026-09-09'
  description: >-
    Track AI visibility, manage prompts, inspect collected answers and
    citations, and integrate workspace data with your own tools. Visibility
    endpoints use workspace API keys. Data endpoints use scoped service-account
    keys; spreadsheet client endpoints use authorised client sessions. See the
    authentication guide for each credential type.
  contact:
    name: chatobserver support
    url: https://chatobserver.com/contact
    email: support@chatobserver.com
servers:
  - url: https://app.chatobserver.com
    description: Production API
security:
  - WorkspaceKey: []
  - BearerKey: []
tags:
  - name: Workspace
    description: Validate access and list the workspace project and available platforms.
  - name: Prompts
    description: Create, schedule, organise, activate and retrieve tracked prompts.
  - name: Answers
    description: Retrieve collected AI answers, their analysis and visibility trends.
  - name: Brands
    description: Manage brands and compare their visibility in AI answers.
  - name: Sources and citations
    description: Analyse cited domains, pages and ownership across answers.
  - name: Visitor analytics
    description: Read website visitor and crawler analytics for the workspace.
  - name: Content opportunities
    description: Retrieve content-gap findings and recommendations for tracked prompts.
  - name: Usage
    description: Read workspace consumption and allowance summaries.
  - name: Data connections
    description: Discover authorised connections, source accounts and connector catalogues.
  - name: Data queries
    description: >-
      Create versioned queries, publish definitions and inspect integration
      contracts.
  - name: Data operations
    description: >-
      Execute, validate, cancel and inspect operations and page through result
      rows.
  - name: Data delivery
    description: Manage schedules, transfers, destinations and import workflows.
  - name: Data definitions
    description: Manage reusable definitions and their immutable versions.
  - name: Data webhooks
    description: >-
      Configure event delivery, inspect deliveries, replay events and rotate
      secrets.
  - name: Client authorisation
    description: Authorise spreadsheet clients using a user-approved challenge exchange.
  - name: Spreadsheet clients
    description: >-
      Access document-bound client sessions, queries, schedules, bindings and
      write claims.
  - name: AI visibility audits
    description: Create website visibility audits and retrieve their report links.
  - name: Version 1
    description: Integrate with the version 1 visibility and analytics endpoints.
  - name: Tracked coverage
    description: >-
      Track published coverage, maintain its metadata and inspect exact-page
      citation evidence with the same workspace feature access as the dashboard.
  - name: Reports
    description: >-
      Discover accessible native reports and assess exact saved revisions using
      measured, context-specific evidence.
paths:
  /api/v2/reports:
    post:
      tags:
        - Reports
      summary: Create a private native empty report draft
      description: >-
        Requires delegated reports:write consent, native workspace create
        permission and current authoring availability. Workspace service keys
        are unsupported. A stable client report UUID and Idempotency-Key bind
        the original command before resolving defaults. An identical retry
        returns the initial native manifest after later edits and still checks
        current permissions. Creates an initial native V4 page, checkpoint and
        owner grant atomically. Complete page, theme and print settings are
        accepted through their native schemas. No Data attachment, connector
        query, provider run, share or schedule is created. Visual validation is
        a later measured composition step. Request maximum 512 KiB.
      operationId: createNativeReportDraft
      parameters:
        - name: x-workspace-id
          in: header
          required: true
          schema:
            type: string
            pattern: ^ws_[a-f0-9]{32}$
          description: Explicit workspace selected for the delegated account.
        - name: Idempotency-Key
          in: header
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ReportCreateDraftRequestV1'
      responses:
        '200':
          description: Original creation receipt.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportCreateDraftResponseV1'
        '201':
          description: Native empty draft created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ReportCreateDraftResponseV1'
        default:
          description: >-
            Invalid native command, denied permission or conflicting creation
            identity.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
      security:
        - McpConnection: []
components:
  schemas:
    ReportCreateDraftRequestV1:
      type: object
      properties:
        version:
          type: number
          const: 1
        clientReportId:
          type: string
          format: uuid
        name:
          type: string
          minLength: 1
          maxLength: 160
        description:
          anyOf:
            - type: string
              maxLength: 16384
            - type: 'null'
          default: null
        layoutMode:
          type: string
          enum:
            - fixed
            - responsive
        flow:
          type: string
          enum:
            - paged
            - continuous
          default: paged
        defaultPageWidth:
          type: number
          minimum: 320
          maximum: 10000
        initialPage:
          type: object
          properties:
            id:
              type: string
              minLength: 1
              maxLength: 256
            title:
              type: string
              maxLength: 512
            position:
              type: integer
              minimum: 0
            navigationVisible:
              type: boolean
            hidden:
              type: boolean
            background:
              anyOf:
                - anyOf:
                    - type: object
                      properties:
                        kind:
                          type: string
                          const: solid
                        value:
                          type: string
                          minLength: 1
                          maxLength: 128
                        alpha:
                          type: number
                          minimum: 0
                          maximum: 1
                      required:
                        - kind
                        - value
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          const: linear_gradient
                        angle:
                          type: number
                          minimum: -360
                          maximum: 360
                        stops:
                          type: array
                          items:
                            type: object
                            properties:
                              offset:
                                type: number
                                minimum: 0
                                maximum: 1
                              color: 4426b5f0-6865-4639-a06a-1ed0beb2c578
                              alpha:
                                type: number
                                minimum: 0
                                maximum: 1
                            required:
                              - offset
                              - color
                            additionalProperties: false
                          minItems: 2
                          maxItems: 16
                      required:
                        - kind
                        - angle
                        - stops
                      additionalProperties: false
                    - type: object
                      properties:
                        kind:
                          type: string
                          const: radial_gradient
                        stops:
                          type: array
                          items: 41e94658-97a3-43c6-b608-3256114e3dcc
                          minItems: 2
                          maxItems: 16
                      required:
                        - kind
                        - stops
                      additionalProperties: false
                - type: 'null'
            rootElementIds:
              type: array
              items: 6274b67a-b971-4b3c-9464-68ce75c64573
              maxItems: 250
            fixed:
              anyOf:
                - type: object
                  properties:
                    width:
                      type: number
                      exclusiveMinimum: 0
                      minimum: 320
                      maximum: 10000
                    minimumHeight:
                      type: number
                      exclusiveMinimum: 0
                      minimum: 240
                      maximum: 20000
                    heightMode:
                      type: string
                      enum:
                        - explicit
                        - auto_extend
                    explicitHeight:
                      anyOf:
                        - type: number
                          exclusiveMinimum: 0
                          minimum: 240
                          maximum: 20000
                        - type: 'null'
                    margins:
                      type: object
                      properties:
                        top:
                          type: number
                          minimum: 0
                          maximum: 320
                        right:
                          type: number
                          minimum: 0
                          maximum: 320
                        bottom:
                          type: number
                          minimum: 0
                          maximum: 320
                        left:
                          type: number
                          minimum: 0
                          maximum: 320
                      required:
                        - top
                        - right
                        - bottom
                        - left
                      additionalProperties: false
                    bleed:
                      type: number
                      minimum: 0
                      maximum: 320
                    masterRegionElementIds:
                      type: array
                      items: b7c9bb09-26e1-4daa-a0cc-372f7f16bd2a
                      maxItems: 32
                    gridSize:
                      type: number
                      enum:
                        - 4
                        - 8
                        - 10
                        - 20
                      default: 20
                    guides:
                      type: array
                      items:
                        type: object
                        properties:
                          id: 73eb0084-39c3-414c-a835-65d58e67ed83
                          axis:
                            type: string
                            enum:
                              - x
                              - 'y'
                          position:
                            type: number
                            minimum: 0
                        required:
                          - id
                          - axis
                          - position
                        additionalProperties: false
                      maxItems: 100
                      default: []
                  required:
                    - width
                    - minimumHeight
                    - heightMode
                    - explicitHeight
                    - margins
                    - bleed
                    - masterRegionElementIds
                  additionalProperties: false
                - type: 'null'
            responsive:
              anyOf:
                - type: object
                  properties:
                    sectionIds:
                      type: array
                      items: 6274b67a-b971-4b3c-9464-68ce75c64573
                      maxItems: 250
                    contentMaxWidth:
                      anyOf:
                        - type: number
                          exclusiveMinimum: 0
                          maximum: 10000
                        - type: 'null'
                    outerPadding:
                      type: number
                      minimum: 0
                      maximum: 320
                    gap:
                      type: number
                      minimum: 0
                      maximum: 320
                    breakpointOverrides:
                      type: object
                      properties:
                        desktop:
                          type: object
                          properties:
                            contentMaxWidth:
                              anyOf:
                                - type: number
                                  exclusiveMinimum: 0
                                  maximum: 10000
                                - type: 'null'
                            outerPadding:
                              type: number
                              minimum: 0
                              maximum: 320
                            gap:
                              type: number
                              minimum: 0
                              maximum: 320
                          additionalProperties: false
                        tablet: c3257bee-1a50-4474-b311-5cb78e9e4146
                        mobile: 4da8bb32-53d5-476a-bf53-da832a00928f
                      additionalProperties: false
                    printGrouping:
                      type: string
                      enum:
                        - preserve_sections
                        - allow_split
                  required:
                    - sectionIds
                    - contentMaxWidth
                    - outerPadding
                    - gap
                    - breakpointOverrides
                    - printGrouping
                  additionalProperties: false
                - type: 'null'
          required:
            - id
            - title
            - position
            - navigationVisible
            - background
            - rootElementIds
            - fixed
            - responsive
          additionalProperties: false
        theme:
          type: object
          properties:
            version:
              type: number
              const: 1
            presetId:
              anyOf:
                - e33fa811-02a3-4d1c-8907-ebf528e381f5
                - type: 'null'
            fontFamilies:
              type: object
              properties:
                body:
                  type: string
                  minLength: 1
                  maxLength: 128
                heading:
                  type: string
                  minLength: 1
                  maxLength: 128
                monospace:
                  type: string
                  minLength: 1
                  maxLength: 128
              required:
                - body
                - heading
                - monospace
              additionalProperties: false
            typeScale:
              type: object
              additionalProperties:
                type: number
                exclusiveMinimum: 0
                maximum: 512
              propertyNames:
                minLength: 1
            typography:
              type: object
              properties:
                display:
                  type: object
                  properties:
                    fontFamily:
                      type: string
                      minLength: 1
                      maxLength: 128
                    fontSize:
                      type: number
                      exclusiveMinimum: 0
                      maximum: 512
                    fontWeight:
                      type: integer
                      minimum: 100
                      maximum: 900
                    lineHeight:
                      type: number
                      exclusiveMinimum: 0
                      maximum: 10
                    letterSpacing:
                      type: number
                      minimum: -20
                      maximum: 100
                    color: 6b254035-e20e-46d4-a60c-083852c2efab
                  required:
                    - fontFamily
                    - fontSize
                    - fontWeight
                    - lineHeight
                    - letterSpacing
                    - color
                  additionalProperties: false
                sectionHeading: c3e679c8-e04e-45cc-a28a-f200e170b347
                subheading: 8068ae9f-7ec0-4673-bd1a-e8a3adec423b
                body: 79e5f406-5359-40dd-8188-2ecf86d5ce39
                caption: dac553f5-a766-45af-9b6a-6e127fe8e9e1
                dataLabel: b930b6ac-45ee-45e9-9cc5-d527f4830610
                axisLabel: 045c8821-a764-472d-a866-333bbd1f2569
                microAnnotation: b25233eb-a05c-4b45-a3f7-90bc97dce7dd
              required:
                - display
                - sectionHeading
                - subheading
                - body
                - caption
                - dataLabel
                - axisLabel
                - microAnnotation
              additionalProperties: false
            colors:
              type: object
              properties:
                foreground: eeac1662-0c7d-4655-94e3-b1d73543a742
                mutedForeground: 16f14ac0-05d9-4bdc-93ac-8ddcc0384f5d
                background: c18b8014-bfee-4c32-816b-050b0b226e0f
                surface: fdc0e1a4-e19d-43e3-ae93-7a203fd94828
                border: be5d6e60-f070-45f5-a7ff-ae7efebad7e7
                accent: 31d37a8e-f2b1-457e-ada1-2d54b3340ae9
                focus: 88066352-3007-4091-8a3a-180aaf3c965e
                positive: c9098469-7d9e-4fa1-8086-c0f06410aa6f
                negative: da2bd672-9c1d-461a-849f-093da8c26cf6
                warning: 332346c2-261f-44e9-9ab8-de5e051d34ad
                grid: 09ee4dcb-446a-4255-8620-e5ce825401cf
                axis: 7f645d78-5be4-49e4-b7d3-64a96f1d6cfa
                title: d8870d4c-e6ff-42cb-a18f-46c2baab8387
                otherValue: bd3ca0eb-ed3f-4454-a366-8c6432b7104b
              required:
                - foreground
                - mutedForeground
                - background
                - surface
                - border
                - accent
              additionalProperties: false
            component:
              type: object
              properties:
                background: 4014507e-b8b3-4906-a48e-3fdb9d5e9ce8
                opacity:
                  type: number
                  minimum: 0
                  maximum: 1
                borderColor: fd4e8cf0-c900-4b23-ac4c-5b78387e6148
                borderRadius:
                  type: number
                  minimum: 0
                  maximum: 1000
                borderWidth:
                  type: number
                  minimum: 0
                  maximum: 32
                borderStyle:
                  type: string
                  enum:
                    - none
                    - solid
                    - dashed
                    - dotted
                shadow:
                  type: string
                  enum:
                    - none
                    - subtle
                    - medium
                    - strong
              required:
                - background
                - opacity
                - borderColor
                - borderRadius
                - borderWidth
                - borderStyle
                - shadow
              additionalProperties: false
            accentStyle:
              type: object
              properties:
                fontFamily:
                  type: string
                  minLength: 1
                  maxLength: 128
                foreground: 2352ff51-cecd-41b7-8030-28f1fb365e88
                background: 562a915d-305a-4f74-832d-5e8b882956c5
              required:
                - fontFamily
                - foreground
                - background
              additionalProperties: false
            textBox:
              type: object
              properties:
                fontFamily:
                  type: string
                  minLength: 1
                  maxLength: 128
                foreground: 8f154c51-a0f1-4d75-b30e-f2060e71824f
                background: dd1f858f-570f-4b18-9936-8b5a6ab9c260
                linkColor: 3e09b776-4875-4cf9-af97-49953d87d02a
                visitedLinkColor: 390131ec-e8d7-4dfd-8446-6c43eda9c76a
                hideBorder:
                  type: boolean
              required:
                - fontFamily
                - foreground
                - background
                - linkColor
                - visitedLinkColor
                - hideBorder
              additionalProperties: false
            chartPalette:
              type: array
              items: 6f05ae63-51a7-42e4-a7f6-6deaa78bdcff
              minItems: 1
              maxItems: 32
            palette:
              type: array
              items:
                type: object
                properties:
                  id: 2ae6ad6b-0fda-4feb-a346-cdecc909f7fe
                  color: c8c74c96-9828-499b-890d-401e201293bb
                  label:
                    anyOf:
                      - 5442f56c-68f4-4d6c-99c5-04b334cc6701
                      - type: 'null'
                required:
                  - id
                  - color
                  - label
                additionalProperties: false
              minItems: 1
              maxItems: 64
            dimensionValueColors:
              type: array
              items:
                type: object
                properties:
                  fieldId: e9a03031-de77-42ce-af0a-6fe92156b8de
                  valueId:
                    type: string
                    minLength: 1
                    maxLength: 512
                  color: 05f5bdee-0e5f-4fc6-865a-2fbf2c7ad5c1
                  label:
                    anyOf:
                      - 5442f56c-68f4-4d6c-99c5-04b334cc6701
                      - type: 'null'
                required:
                  - fieldId
                  - valueId
                  - color
                additionalProperties: false
              maxItems: 2000
            chart:
              type: object
              properties:
                gridColor: 26780733-df92-41b2-a15b-564d67851d39
                axisColor: 52fe58fd-80f5-40b4-afbb-43c7f8126389
                lineWidth:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 32
                titleColor: 88064cf5-b6c9-4ac0-a707-2c8084ee9b97
                textContrast: 6252c033-678d-4428-9cc8-c820ac81e3a6
                othersColor: 40df6896-69b1-4bbb-8824-7e28bed37163
                barBorderColor: c85538f6-7e35-402d-be94-9d10684bdaf1
                barBorderWidth:
                  type: number
                  minimum: 0
                  maximum: 32
                groupedBarWidth:
                  type: number
                  minimum: 0.1
                  maximum: 1
                positiveColor: 8162b553-0234-4fb0-b163-97f0b60dea86
                negativeColor: a0d23c65-b6e6-4eab-8252-0bd5db28596a
                headerVisibility:
                  type: string
                  enum:
                    - always
                    - hover
                    - never
                colorMode:
                  type: string
                  enum:
                    - series_order
                    - dimension_value
              required:
                - gridColor
                - axisColor
                - lineWidth
              additionalProperties: false
            table:
              type: object
              properties:
                density:
                  type: string
                  enum:
                    - compact
                    - standard
                    - comfortable
                showRowDividers:
                  type: boolean
                background: 59ac18b2-cbc1-487e-a1e2-dbb9d36f9d8b
                headerBackground: 5e06c59f-e273-4c74-9d70-17a43ab07de2
                headerForeground: 13c1dc10-aaf4-43b8-b04a-9c0bd024310d
                alternateRowBackground: 9330ef17-80ec-42fc-8f4e-62c05fa1e5fa
                gridColor: 04b69c6c-1fb1-4a16-ab98-27b6b0fd5b3a
                totalsBackground: d1cd25a0-0edd-40d1-be25-ec9e93d30c88
                totalsForeground: 95482db8-a61a-4743-9669-156205cab3fc
                numericAlignment:
                  type: string
                  enum:
                    - start
                    - end
                linkColor: c67f4ac4-697d-4fe0-b057-0bba257e1773
              required:
                - density
                - showRowDividers
              additionalProperties: false
            controls:
              type: object
              properties:
                radius:
                  type: number
                  minimum: 0
                  maximum: 1000
                height:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 512
                background: c499c542-5bb5-4e9f-9370-6f87138209d2
                foreground: 61e2d295-8512-4726-bdb4-77d693c27e11
                borderColor: 6b344f08-ce49-4d03-bfb9-dddf61be54f3
                labelPosition:
                  type: string
                  enum:
                    - above
                    - inline
                    - hidden
                selectedBackground: c461652a-0478-4c2c-9112-5ca6fee7283c
                selectedForeground: 50237a30-7251-4633-9125-dacf10ee21a3
                unselectedForeground: 49de68da-41f0-4fd6-bfaa-1aee5d5e557e
                trackColor: d5d71a51-e944-4b0c-90a1-3fcafa14b951
                handleColor: ee7a588b-f731-41e9-a903-d56bbd5891f2
                popupBackground: 23e91367-7ad8-4c8f-833f-772e80a503ea
                popupForeground: b8c1c0c5-88a4-4899-b3a7-c780debf72bf
                popupBorderColor: 489ec914-17e0-4b64-85f8-e9c2f3a323f7
              required:
                - radius
                - height
              additionalProperties: false
            shapes:
              type: object
              properties:
                radius:
                  type: number
                  minimum: 0
                  maximum: 1000
                borderWidth:
                  type: number
                  minimum: 0
                  maximum: 32
                fillColor: e6147a42-d8ee-4307-85d8-59d349a453b6
                borderColor: 9aa52a68-bb8f-4bbb-9564-daef90872128
                borderStyle:
                  type: string
                  enum:
                    - none
                    - solid
                    - dashed
                    - dotted
              required:
                - radius
                - borderWidth
              additionalProperties: false
            navigation:
              type: object
              properties:
                showPageNumbers:
                  type: boolean
                fontFamily:
                  type: string
                  minLength: 1
                  maxLength: 128
                foreground: 1dbd4926-9b2a-4f1f-922e-8d27d68ed0d5
                activeForeground: 45e0bb9e-7472-4ff9-bff9-5a04dcc9139f
                background: c51a6cff-8c11-4078-bbd1-d07d208d0810
                inactiveForeground: 1dfba03f-ee90-466f-909f-9a6a8489c1d8
                activeBackground: 01553ef4-09a3-40e2-80fd-b66c31448445
                hoverBackground: 590a6f8f-7318-4e36-aeb9-3c80126f196a
                focusColor: d2d9a9b1-6a4b-4083-bbf6-6471de7adbed
                borderColor: 284df2ba-df60-4f49-bffc-42458212be31
                radius:
                  type: number
                  minimum: 0
                  maximum: 1000
                height:
                  type: number
                  exclusiveMinimum: 0
                  maximum: 512
              required:
                - fontFamily
                - foreground
                - activeForeground
                - background
              additionalProperties: false
            print:
              type: object
              properties:
                background: 90fc4362-86a4-4579-abf9-df76155d52e2
                foreground: f02e674f-ec9a-4a2a-96d1-7d7a4962baa6
                surface: 0d4e467a-4ce4-4256-8ac7-b7bf844b6cb3
                border: 44228a8b-fd4c-4285-b20a-6dc2e5eb3df9
                accent: 5db13769-ef5a-4958-9040-e6c185bfe392
              required:
                - background
                - foreground
                - surface
                - border
                - accent
              additionalProperties: false
            spacing:
              type: object
              additionalProperties:
                type: number
                minimum: 0
                maximum: 1000
              propertyNames:
                minLength: 1
            formatting:
              type: object
              properties:
                number:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - number
                        - percent
                        - currency
                        - duration
                    locale:
                      anyOf:
                        - type: string
                          minLength: 2
                          maxLength: 64
                        - type: 'null'
                    notation:
                      type: string
                      enum:
                        - standard
                        - compact
                    minimumFractionDigits:
                      anyOf:
                        - type: integer
                          minimum: 0
                          maximum: 20
                        - type: 'null'
                    maximumFractionDigits:
                      anyOf:
                        - type: integer
                          minimum: 0
                          maximum: 20
                        - type: 'null'
                    minimumSignificantDigits:
                      anyOf:
                        - type: integer
                          minimum: 1
                          maximum: 21
                        - type: 'null'
                    maximumSignificantDigits:
                      anyOf:
                        - type: integer
                          minimum: 1
                          maximum: 21
                        - type: 'null'
                    currency:
                      anyOf:
                        - type: string
                          pattern: ^[A-Z]{3}$
                        - type: 'null'
                    currencyDisplay:
                      type: string
                      enum:
                        - symbol
                        - narrowSymbol
                        - code
                        - name
                    accounting:
                      type: boolean
                    unit:
                      anyOf:
                        - type: string
                          minLength: 1
                          maxLength: 64
                        - type: 'null'
                    prefix:
                      type: string
                      maxLength: 64
                    suffix:
                      type: string
                      maxLength: 64
                    showPlusSign:
                      type: boolean
                    negativeStyle:
                      type: string
                      enum:
                        - minus
                        - parentheses
                    customPattern:
                      anyOf:
                        - type: string
                          maxLength: 128
                        - type: 'null'
                  required:
                    - kind
                    - locale
                    - notation
                    - minimumFractionDigits
                    - maximumFractionDigits
                    - minimumSignificantDigits
                    - maximumSignificantDigits
                    - currency
                    - currencyDisplay
                    - accounting
                    - unit
                    - prefix
                    - suffix
                    - showPlusSign
                    - negativeStyle
                    - customPattern
                  additionalProperties: false
                date:
                  type: object
                  properties:
                    kind:
                      type: string
                      enum:
                        - date
                        - time
                        - datetime
                    locale:
                      anyOf:
                        - type: string
                          minLength: 2
                          maxLength: 64
                        - type: 'null'
                    timeZone:
                      anyOf:
                        - type: string
                          minLength: 1
                          maxLength: 128
                        - type: 'null'
                    dateStyle:
                      anyOf:
                        - type: string
                          enum:
                            - short
                            - medium
                            - long
                            - full
                        - type: 'null'
                    timeStyle:
                      anyOf:
                        - type: string
                          enum:
                            - short
                            - medium
                            - long
                            - full
                        - type: 'null'
                    customPattern:
                      anyOf:
                        - type: string
                          maxLength: 128
                        - type: 'null'
                  required:
                    - kind
                    - locale
                    - timeZone
                    - dateStyle
                    - timeStyle
                    - customPattern
                  additionalProperties: false
                missing:
                  type: object
                  properties:
                    missing:
                      type: object
                      properties:
                        display:
                          type: string
                          enum:
                            - dash
                            - blank
                            - zero
                            - label
                        label:
                          anyOf:
                            - type: string
                              maxLength: 128
                            - type: 'null'
                      required:
                        - display
                        - label
                      additionalProperties: false
                    'null': 81848a25-7a79-4c68-8750-41549c30cb99
                    not_applicable: 711310a0-c279-423a-9c8f-74789357ac94
                    divide_by_zero: 8a9da5c2-da89-4036-9c58-f553c3687e68
                    suppressed: 0362f3ae-3ff4-4522-8a54-6c570f44b289
                  required:
                    - missing
                    - 'null'
                    - not_applicable
                    - divide_by_zero
                    - suppressed
                  additionalProperties: false
              required:
                - number
                - date
                - missing
              additionalProperties: false
            fontCatalogueVersion:
              type: number
              const: 1
          required:
            - version
            - fontFamilies
            - typeScale
            - colors
            - chartPalette
            - chart
            - table
            - controls
            - shapes
            - spacing
          additionalProperties: false
        themePresetId:
          type: string
          enum:
            - signal
            - observatory
            - editorial
            - grove
            - spectrum
        print:
          type: object
          properties:
            pageSize:
              type: string
              enum:
                - document
                - a4
                - letter
            orientation:
              type: string
              enum:
                - portrait
                - landscape
                - auto
            repeatMasterRegions:
              type: boolean
            includeBackgrounds:
              type: boolean
            scale:
              type: string
              enum:
                - actual_size
                - fit_width
                - fit_page
            margins:
              $ref: c2a1869f-40ce-46d5-a795-55d52240f9c7
              default:
                top: 24
                right: 24
                bottom: 24
                left: 24
            scaleCap:
              type: number
              exclusiveMinimum: 0
              maximum: 1
              default: 1
            allowElementSplitting:
              type: boolean
              default: false
          required:
            - pageSize
            - orientation
            - repeatMasterRegions
            - includeBackgrounds
            - scale
          additionalProperties: false
      required:
        - version
        - clientReportId
        - name
        - layoutMode
      additionalProperties: false
    ReportCreateDraftResponseV1:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
              maxLength: 4096
            revision:
              type: integer
              minimum: 0
            documentHash:
              anyOf:
                - type: string
                  pattern: ^[0-9a-f]{64}$
                - type: 'null'
            nativeDocumentVersion:
              anyOf:
                - eba7c8dd-839f-4a76-a214-a5ce22f2e0ef
                - type: 'null'
            updatedAt:
              type: string
              format: date-time
            layoutMode:
              anyOf:
                - type: string
                  enum:
                    - fixed
                    - responsive
                - type: 'null'
            manifest:
              type: object
              properties:
                identity:
                  type: object
                  properties:
                    reportId:
                      type: string
                      format: uuid
                    revision:
                      type: integer
                      minimum: 0
                    documentHash:
                      type: string
                      pattern: ^[a-f0-9]{64}$
                    nativeDocumentVersion:
                      type: number
                      enum:
                        - 3
                        - 4
                  required:
                    - reportId
                    - revision
                    - documentHash
                    - nativeDocumentVersion
                  additionalProperties: false
                configurationSchemaId:
                  type: string
                  maxLength: 128
                configurationHash:
                  type: string
                  pattern: ^[a-f0-9]{64}$
                pages:
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        maxLength: 256
                      pageHash:
                        type: string
                        pattern: ^[a-f0-9]{64}$
                      elementsHash:
                        type: string
                        pattern: ^[a-f0-9]{64}$
                      elementCount:
                        type: integer
                        minimum: 0
                    required:
                      - id
                      - pageHash
                      - elementsHash
                      - elementCount
                    additionalProperties: false
                  maxItems: 500
                dataSourceAttachmentIds:
                  type: array
                  items:
                    type: string
                    maxLength: 256
                  maxItems: 1000
              required:
                - identity
                - configurationSchemaId
                - configurationHash
                - pages
                - dataSourceAttachmentIds
              additionalProperties: false
          required:
            - id
            - name
            - revision
            - documentHash
            - nativeDocumentVersion
            - updatedAt
            - layoutMode
            - manifest
          additionalProperties: false
        replayed:
          type: boolean
      required:
        - data
        - replayed
      additionalProperties: false
    ApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            details: {}
          required:
            - code
            - message
        requestId:
          type: string
      required:
        - error
        - requestId
  securitySchemes:
    WorkspaceKey:
      type: apiKey
      in: header
      name: x-chatobserver-key
      description: >-
        A workspace API key. Data endpoints require a service-account key with
        the specified scopes.
    BearerKey:
      type: http
      scheme: bearer
      description: The workspace or service-account API key as a bearer token.
    McpConnection:
      type: http
      scheme: bearer
      description: >-
        Delegated application credential issued after Chatobserver account
        consent. Restricted to selected workspaces and explicitly supported MCP
        operations. The MCP server access token is a separate credential and
        cannot be used here.

````

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