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

# List eval prompt sets

> List eval prompt sets, sorted alphabetically by name. When `model_ids` is omitted, returns prompt sets for every shared model the caller can access. Requires at least the Querier role on each requested model.



## OpenAPI

````yaml /api/openapi.yaml get /v1/ai/eval/prompt-sets
openapi: 3.1.0
info:
  title: Omni API
  description: >
    The Omni REST API provides programmatic access to your Omni instance for
    managing users, documents, queries, schedules, and more.  
  version: 1.0.0
  contact:
    name: Omni Support
    url: https://docs.omni.co
servers:
  - url: https://{instance}.omniapp.co/api
    description: Production
    variables:
      instance:
        default: blobsrus
        description: Your production Omni instance subdomain
  - url: https://{instance}.playground.exploreomni.dev/api
    description: Playground
    variables:
      instance:
        default: blobsrus
        description: Your playground Omni instance subdomain
security:
  - bearerAuth: []
  - orgApiKey: []
tags:
  - name: Who Am I
    description: Inspect your own user permissions
  - name: AI
    description: AI-powered query generation
  - name: AI Credit Controls
    description: Manage organization-level AI credit usage
  - name: AI Eval
    description: >-
      AI evaluation: manage prompt sets and runs used to score AI quality
      against curated prompt suites.
  - name: AI Model Suggestions
    description: Manage AI-generated suggestions for shared models
  - name: AI Routines
    description: >-
      Manage AI Routines: schedule recurring AI-powered tasks to run
      automatically on your data.
  - name: Documents v2
    description: >
      A draft-based workflow for creating and editing documents: create a
      document, patch a draft, then publish. Replaces the one-shot `PUT`/`PATCH`
      v1 document write endpoints.
  - name: Documents
    description: Create, retrieve, and manage documents
  - name: API Tokens
    description: >-
      Manage API tokens (Organization keys, Personal Access Tokens, MCP OAuth
      grants)
  - name: Connections
    description: Manage database connections
  - name: Connection environments
    description: Manage connection environments database connections
  - name: Content
    description: Unified content retrieval (documents and folders)
  - name: Content migration
    description: Export and import dashboards
  - name: Content validator
    description: Validate content against models and perform find/replace operations
  - name: Dashboard downloads
    description: Download dashboards and tiles as PDF, PNG, XLSX, CSV, or JSON files
  - name: Dashboard filters and controls
    description: Read and update dashboard filter and control default values
  - name: dbt
    description: Manage dbt configuration for connections
  - name: Document favorites
    description: Favorite and unfavorite documents
  - name: Document labels
    description: Apply and manage labels on documents
  - name: Document permissions
    description: Manage document-level access
  - name: Labels
    description: >
      Manage labels in an organization. Labels can be applied to documents and
      folders to help organize and categorize content.


      **Label types:**

      - **Basic labels**: Can be created and managed by any user

      - **Verified labels**: Indicate curated or officially sanctioned content.
      Admin-only.

      - **Homepage labels**: Appear on the organization homepage. Admin-only.
  - name: Folders
    description: Create and organize content folders
  - name: Folder permissions
    description: Manage folder-level access
  - name: Jobs
    description: Check status of asynchronous jobs
  - name: Models
    description: Create and manage data models
  - name: Model branches
    description: Manage model branches and merge changes
  - name: Model git configuration
    description: Manage git configuration for shared models
  - name: Queries
    description: Execute workbook queries
  - name: Schedules
    description: Create and manage scheduled tasks
  - name: Schedule recipients
    description: Manage schedule recipients
  - name: Schema refresh schedules
    description: Manage automated schema refresh schedules for connections
  - name: Topics
    description: Retrieve topic information from models
  - name: Uploads
    description: Manage file uploads
  - name: Users
    description: Manage users
  - name: User attributes
    description: Manage user attribute definitions
  - name: User groups
    description: Manage user groups
  - name: User model roles
    description: Manage model and connection role assignments for users
  - name: User group model roles
    description: Manage model and connection role assignments for user groups
  - name: Uploads
    description: Manage CSV and spreadsheet uploads
paths:
  /v1/ai/eval/prompt-sets:
    get:
      tags:
        - AI Eval
      summary: List eval prompt sets
      description: >-
        List eval prompt sets, sorted alphabetically by name. When `model_ids`
        is omitted, returns prompt sets for every shared model the caller can
        access. Requires at least the Querier role on each requested model.
      operationId: aiEvalPromptSetsList
      parameters:
        - schema:
            type: string
            enum:
              - 'true'
              - 'false'
            description: >-
              When `true`, returns archived prompt sets instead of active ones.
              Defaults to `false`.
            example: 'false'
          required: false
          description: >-
            When `true`, returns archived prompt sets instead of active ones.
            Defaults to `false`.
          name: archived
          in: query
        - schema:
            type: array
            items:
              type: string
              format: uuid
            description: >-
              Optional list of model IDs to filter prompt sets by. When omitted,
              returns prompt sets for every model the caller can access. Supply
              multiple times to filter by more than one model (e.g.,
              `?model_ids=A&model_ids=B`).
          required: false
          description: >-
            Optional list of model IDs to filter prompt sets by. When omitted,
            returns prompt sets for every model the caller can access. Supply
            multiple times to filter by more than one model (e.g.,
            `?model_ids=A&model_ids=B`).
          name: model_ids
          in: query
      responses:
        '200':
          description: List of prompt sets, sorted alphabetically by name.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalPromptSetsListResponse'
        '400':
          description: >-
            Invalid query params (e.g. `model_ids` contains a non-UUID, or
            `archived` is not `true`/`false`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalApiError'
              example:
                detail: 'Bad Request: name: Required'
                status: 400
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalApiError'
              example:
                detail: 'Unauthorized: Missing or invalid API key'
                status: 401
        '403':
          description: >-
            Insufficient permissions. The caller must have at least the Querier
            role on each requested model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalApiError'
              example:
                detail: AI eval requires at least Querier access on the model
                status: 403
        '404':
          description: No eval-accessible models for this caller.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EvalApiError'
              example:
                detail: Prompt set not found
                status: 404
components:
  schemas:
    EvalPromptSetsListResponse:
      type: object
      properties:
        prompt_sets:
          type: array
          items:
            $ref: '#/components/schemas/EvalPromptSetListItem'
          description: Prompt sets matching the query, sorted alphabetically by name.
      required:
        - prompt_sets
    EvalApiError:
      type: object
      description: Error response returned by the AI Eval endpoints.
      properties:
        detail:
          type: string
          description: Human-readable error message describing what went wrong.
        status:
          type: integer
          description: HTTP status code of the error.
      required:
        - detail
        - status
    EvalPromptSetListItem:
      type: object
      properties:
        created_at:
          type:
            - string
            - 'null'
          description: ISO 8601 timestamp when the prompt set was created.
          example: '2025-01-15T10:00:00.000Z'
        description:
          type:
            - string
            - 'null'
          description: Optional human-readable description of the prompt set.
          example: Regression suite for the orders topic
        id:
          type: string
          format: uuid
          description: Unique identifier for the prompt set.
          example: 550e8400-e29b-41d4-a716-446655440000
        is_archived:
          type: boolean
          description: Whether the prompt set has been archived.
          example: false
        model_id:
          type: string
          format: uuid
          description: The shared model this prompt set is bound to.
          example: 880e8400-e29b-41d4-a716-446655440003
        name:
          type: string
          description: Human-readable name for the prompt set.
          example: Orders regression
        slug:
          type: string
          description: URL-safe identifier for the prompt set. Unique per `model_id`.
          example: orders-regression
        updated_at:
          type:
            - string
            - 'null'
          description: ISO 8601 timestamp when the prompt set was last updated.
          example: '2025-01-15T10:00:00.000Z'
        latest_run_at:
          type:
            - string
            - 'null'
          description: >-
            ISO 8601 timestamp of the most recent run on this prompt set, if
            any.
          example: '2025-01-15T10:05:00.000Z'
        prompt_count:
          type: integer
          description: Number of prompts in the set.
          example: 12
      required:
        - created_at
        - description
        - id
        - is_archived
        - model_id
        - name
        - slug
        - updated_at
        - latest_run_at
        - prompt_count
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Can be either an [Organization API
        Key](/api/authentication#organization-api-keys) or [Personal Access
        Token (PAT)](/api/authentication#token-types).


        Include in the `Authorization` header as: `Bearer YOUR_TOKEN`
    orgApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >
        Requires an [Organization API
        Key](/api/authentication#organization-api-keys). Personal Access Tokens
        (PATs) are not supported for this endpoint.


        Include in the `Authorization` header as: `Bearer ORGANIZATION_API_KEY`

````