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

# Describe the analytics schema

> Returns column metadata for every table and view in the analytics schema. Use this to discover available tables/columns before writing an analytics query.



## OpenAPI

````yaml /paragraph-api/openapi.json get /v1/analytics/schema
openapi: 3.1.0
info:
  title: Paragraph API
  version: 1.0.0
  description: >-
    Public API for interacting with Paragraph publications, posts, users, and
    coined writing.


    ## Rate Limiting

    API requests are rate-limited to ensure fair usage. Contact
    support@paragraph.com for higher limits.


    ## Pagination

    List endpoints support cursor-based pagination using `cursor` and `limit`
    parameters.
  contact:
    name: Paragraph Support
    email: support@paragraph.com
    url: https://paragraph.com/support
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://public.api.paragraph.com/api
    description: Production server
security:
  - {}
tags:
  - name: publications
    description: Operations related to publications
  - name: posts
    description: Operations related to posts and content
  - name: users
    description: Operations related to users and authors
  - name: coins
    description: Operations related to tokenized content
  - name: subscribers
    description: Operations related to subscriber management (requires API key)
paths:
  /v1/analytics/schema:
    get:
      tags:
        - analytics
      summary: Describe the analytics schema
      description: >-
        Returns column metadata for every table and view in the analytics
        schema. Use this to discover available tables/columns before writing an
        analytics query.
      operationId: analyticsSchema
      parameters: []
      responses:
        '200':
          description: Schema metadata retrieved successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  tables:
                    type: array
                    items:
                      type: object
                      properties:
                        table_name:
                          type: string
                        column_name:
                          type: string
                        data_type:
                          type: string
                        is_nullable:
                          type: string
                      required:
                        - table_name
                        - column_name
                        - data_type
                        - is_nullable
                    description: One row per column, grouped by table in ordinal order
                required:
                  - tables
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses
                  msg:
                    type: string
                    description: Human-readable error message
                required:
                  - success
                  - msg
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    description: Always false for error responses
                  msg:
                    type: string
                    description: Human-readable error message
                required:
                  - success
                  - msg
      security:
        - apiKey: []
      x-codeSamples:
        - lang: typescript
          label: List analytics tables
          source: |-
            import { ParagraphAPI } from "@paragraph-com/sdk"

            const api = new ParagraphAPI({ apiKey: "your-api-key" })
            const { tables } = await api.analytics.schema()
        - lang: bash
          label: Fetch schema via curl
          source: |-
            curl -H "Authorization: Bearer your-api-key" \
              "https://public.api.paragraph.com/api/v1/analytics/schema"
components:
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: >-
        API key for authenticating protected endpoints. Pass as Bearer token in
        Authorization header.

````