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

# Create dashboard

> Create a new dashboard for your organization.



## OpenAPI

````yaml /api-reference/v1/dashboards-v1.yaml post /dashboards
openapi: 3.0.3
info:
  title: Coval Dashboards API
  version: 1.0.0
  description: |
    Create and manage dashboards and widgets for visualizing evaluation metrics.
  contact:
    name: Coval API Support
    email: support@coval.dev
    url: https://docs.coval.ai
  license:
    name: Proprietary
    url: https://coval.dev/terms
servers:
  - url: https://api.coval.dev/v1
    description: Production API
security:
  - ApiKeyAuth: []
tags:
  - name: Dashboards
    description: Dashboard CRUD operations
  - name: Widgets
    description: Dashboard widget CRUD operations
paths:
  /dashboards:
    post:
      tags:
        - Dashboards
      summary: Create dashboard
      description: Create a new dashboard for your organization.
      operationId: createDashboard
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDashboardRequest'
            examples:
              basic:
                summary: Create a dashboard
                value:
                  display_name: Production Metrics
      responses:
        '201':
          description: Dashboard created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateDashboardResponse'
              examples:
                created:
                  $ref: '#/components/examples/DashboardCreated'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    CreateDashboardRequest:
      type: object
      required:
        - display_name
      properties:
        display_name:
          type: string
          minLength: 1
          maxLength: 255
          description: Human-readable dashboard name
          example: Production Metrics
        description:
          type: string
          maxLength: 1000
          description: Optional free-text description
        is_favorite:
          type: boolean
          default: false
          description: Mark the dashboard as a favorite
        is_default:
          type: boolean
          nullable: true
          description: >-
            Mark as the organization's default dashboard. Omit to auto-default
            the first dashboard in the organization; set true to make this the
            default (any existing default is unset).
        position:
          type: integer
          minimum: 0
          description: Ordering position. Omit to append to the end.
        config:
          type: object
          additionalProperties: true
          description: Free-form JSON config blob (max 50000 bytes serialized)
    CreateDashboardResponse:
      type: object
      required:
        - dashboard
      properties:
        dashboard:
          $ref: '#/components/schemas/DashboardResource'
    DashboardResource:
      type: object
      description: Dashboard resource
      required:
        - name
        - create_time
        - update_time
      properties:
        name:
          type: string
          description: Resource name in format `dashboards/{id}`
          example: dashboards/abc123def456ghi789jklm
        display_name:
          type: string
          nullable: true
          maxLength: 255
          description: Human-readable dashboard name
          example: Production Metrics
        description:
          type: string
          nullable: true
          description: Free-text dashboard description
          example: Production monitoring metrics
        is_default:
          type: boolean
          description: >-
            Whether this is the organization's default dashboard (the one shown
            when no dashboard is specified)
          example: true
        is_favorite:
          type: boolean
          description: Whether the dashboard is marked as a favorite
          example: false
        position:
          type: integer
          description: Ordering position within the organization's dashboards
          example: 0
        config:
          type: object
          nullable: true
          additionalProperties: true
          description: Free-form JSON config blob (e.g. saved date preferences)
        create_time:
          type: string
          format: date-time
          description: Creation timestamp (ISO 8601)
          example: '2025-10-14T12:00:00Z'
        update_time:
          type: string
          format: date-time
          description: Last update timestamp (ISO 8601)
          example: '2025-10-15T14:30:00Z'
    ErrorResponse:
      type: object
      description: Standard error response
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - details
          properties:
            code:
              type: string
              description: Error code
              enum:
                - INVALID_ARGUMENT
                - UNAUTHENTICATED
                - NOT_FOUND
                - INTERNAL
              example: INVALID_ARGUMENT
            message:
              type: string
              description: Human-readable error message
              example: Invalid request parameter
            details:
              type: array
              description: Detailed error information
              items:
                type: object
                properties:
                  field:
                    type: string
                    nullable: true
                    description: Field that caused the error
                  description:
                    type: string
                    description: Detailed error description
  examples:
    DashboardCreated:
      summary: Dashboard created
      value:
        dashboard:
          name: dashboards/abc123def456ghi789jklm
          display_name: Production Metrics
          create_time: '2025-10-14T12:00:00Z'
          update_time: '2025-10-14T12:00:00Z'
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: INVALID_ARGUMENT
              message: Invalid request body
              details:
                - field: display_name
                  description: display_name must be between 1 and 255 characters
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: UNAUTHENTICATED
              message: Authentication failed
              details:
                - field: X-API-Key
                  description: Invalid or missing API key
    InternalError:
      description: Internal server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            error:
              code: INTERNAL
              message: Internal server error
              details:
                - description: An unexpected error occurred
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key for authentication

````