> ## Documentation Index
> Fetch the complete documentation index at: https://launchdarkly-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List AI Configs

> > For the complete documentation index, see [llms.txt](https://launchdarkly-preview.mintlify.app/llms.txt). For the full documentation snapshot, see [llms-full.txt](https://launchdarkly-preview.mintlify.app/llms-full.txt).

Get a list of all AI Configs in the given project.



## OpenAPI

````yaml /openapi/launchdarkly-api.json get /api/v2/projects/{projectKey}/ai-configs
openapi: 3.0.3
info:
  title: LaunchDarkly REST API
  description: >
    > For the complete documentation index, see
    https://launchdarkly-preview.mintlify.app/llms.txt.

    > For the full documentation snapshot, see
    https://launchdarkly-preview.mintlify.app/llms-full.txt.


    This is the LaunchDarkly REST API. It lets you build custom integrations,
    automate your workflow, and manage feature flags and other LaunchDarkly
    resources programmatically.


    For authentication, rate limits, pagination, versioning, JSON Patch and
    semantic patches, beta resources, and the full SDK End-of-Life table, read
    the [REST API overview](https://launchdarkly-preview.mintlify.app/api).


    To fetch the complete OpenAPI spec, use [Get OpenAPI
    spec](https://launchdarkly.com/docs/api/other/get-openapi-spec).
  contact:
    name: LaunchDarkly Technical Support Team
    url: https://support.launchdarkly.com
    email: support@launchdarkly.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '2.0'
servers:
  - url: https://app.launchdarkly.com
    description: ' Default'
  - url: https://app.launchdarkly.us
    description: ' Federal'
security:
  - ApiKey:
      - read
      - write
tags:
  - name: Access tokens
    description: >-
      The access tokens API allows you to list, create, modify, and delete
      access tokens programmatically.
  - name: Account members
    description: >-
      The account members API allows you to invite new members to an account by
      making a `POST` request to `/api/v2/members`. When you invite a new member
      to an account, an invitation is sent to the email you provided.
  - name: Account usage (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: AI Configs
    description: >-
      The AI Configs API allows you to create, retrieve, and edit AI Configs, AI
      Config variations, and AI model configurations.
  - name: Announcements
    description: >-
      The announcements API lets you create and update a custom announcement
      banner that appears in the LaunchDarkly user interface for everyone in
      your organization.
  - name: Applications (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Approvals
    description: >-
      An account member can request approval on changes to a flag or AI Config's
      targeting or variations, or to a segment's targeting. Members may be
      required to request approval depending on the settings in their
      LaunchDarkly project.
  - name: Approvals (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Audit log
    description: >-
      LaunchDarkly maintains a record of all the changes made to any resource in
      the system. You can access this history using the audit log API, including
      filtering by timestamps, or using a custom policy to select which entries
      to receive.
  - name: Code references
    description: >-
      > ### Code references is an Enterprise feature > > Code references is
      available to customers on an Enterprise plan. To learn more, [read about
      our pricing](https://launchdarkly.com/pricing/).
  - name: Context settings
    description: >-
      You can use the context settings API to assign a context to a specific
      variation for any feature flag. To learn more, read [View and manage
      contexts](https://launchdarkly.com/docs/home/observability/context-attributes#view-and-manage-contexts).
  - name: Contexts
    description: >-
      Contexts are people, services, machines, or other resources that encounter
      feature flags in your product. Contexts are identified by their `kind`,
      which describes the type of resources encountering flags, and by their
      `key`.
  - name: Custom roles
    description: >-
      > ### Custom roles is an Enterprise feature > > Custom roles is available
      to customers on an Enterprise plan. To learn more, [read about our
      pricing](https://launchdarkly.com/pricing/).
  - name: Data Export destinations
    description: >-
      > ### Data Export is an add-on feature > > Data Export is available as an
      add-on for customers on a Foundation or Enterprise plan. To learn more,
      [read about our pricing](https://launchdarkly.com/pricing/).
  - name: Environments
    description: >-
      Environments allow you to maintain separate rollout rules in different
      contexts, from local development to QA, staging, and production. With the
      LaunchDarkly Environments API, you can programmatically list, create, and
      manage environments.
  - name: Experiments
    description: >-
      > ### Available for subscription customers > > Experimentation is
      available to all customers on a Developer, Foundation, or Enterprise
      subscription. If you're on an older Pro or Enterprise plan,
      Experimentation is available as an add-on.
  - name: Feature flags
    description: >-
      The feature flags API allows you to list, create, and modify feature flags
      and their targeting. For example, you can control percentage rollouts,
      target specific contexts, or even toggle off a feature flag
      programmatically.
  - name: Feature flags (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Flag import configurations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Flag links (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Flag triggers
    description: >-
      > ### Flag triggers is an Enterprise feature > > Flag triggers is
      available to customers on an Enterprise plan. To learn more, [read about
      our pricing](https://launchdarkly.com/pricing/).
  - name: Follow flags
    description: >-
      Follow flags to receive email updates about targeting changes to a flag in
      a project and environment.
  - name: Holdouts (beta)
    description: >-
      > ### Available for customers using Experimentation > > Holdouts are
      available to customers using
      [Experimentation](https://launchdarkly.com/docs/api/experiments).
  - name: Insights charts (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights deployments (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights flag events (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights pull requests (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights repositories (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Insights scores (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Integration audit log subscriptions
    description: >-
      Audit log integration subscriptions allow you to send audit log events
      hooks to one of dozens of external tools. For example, you can send flag
      change event webhooks to external third party software.
  - name: Integration delivery configurations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Integrations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Layers
    description: >-
      > ### Available for customers using Experimentation > > Layers are
      available to customers using
      [Experimentation](https://launchdarkly.com/docs/api/experiments).
  - name: Metrics
    description: >-
      Metrics track flag behavior over time when an experiment is running. The
      data generated from experiments gives you more insight into the impact of
      a particular flag.
  - name: Metrics (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: OAuth2 Clients
    description: >-
      The OAuth2 client API allows you to register a LaunchDarkly OAuth client
      for use in your own custom integrations.
  - name: Persistent store integrations (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Projects
    description: >-
      Projects allow you to manage multiple different software projects under
      one LaunchDarkly account. Each project has its own unique set of
      environments and feature flags.
  - name: Relay Proxy configurations
    description: >-
      > ### Relay Proxy automatic configuration is an Enterprise feature > >
      Relay Proxy automatic configuration is available to customers on an
      Enterprise plan. To learn more, [read about our
      pricing](https://launchdarkly.com/pricing/).
  - name: Release pipelines (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Release policies (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Releases (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Scheduled changes
    description: >-
      > ### Scheduled flag changes is an Enterprise feature > > Scheduled flag
      changes is available to customers on an Enterprise plan. To learn more,
      [read about our pricing](https://launchdarkly.com/pricing/).
  - name: Segments
    description: >-
      > ### Synced segments and larger list-based segments are an Enterprise
      feature > > This section documents endpoints for rule-based, list-based,
      and synced segments.
  - name: Tags
    description: >-
      Tags are simple strings that you can attach to most resources in
      LaunchDarkly. Tags are useful for grouping resources into a set that you
      can name in a resource specifier.
  - name: Teams
    description: >-
      > ### Teams is an Enterprise feature > > Teams is available to customers
      on an Enterprise plan. To learn more, [read about our
      pricing](https://launchdarkly.com/pricing/).
  - name: Teams (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: User settings
    description: >-
      > ### Contexts are now available > > After you have upgraded your
      LaunchDarkly SDK to use contexts instead of users, you should use
      [Contexts](https://launchdarkly.com/docs/api/contexts) instead of the user
      settings API.
  - name: Users
    description: >-
      > ### Contexts are now available > > After you have upgraded your
      LaunchDarkly SDK to use contexts instead of users, you should use
      [Contexts](https://launchdarkly.com/docs/api/contexts) instead of these
      endpoints.
  - name: Users (beta)
    description: >-
      > ### Contexts are now available > > After you have upgraded your
      LaunchDarkly SDK to use contexts instead of users, you should use
      [Contexts](https://launchdarkly.com/docs/api/contexts) instead of these
      endpoints.
  - name: Views (beta)
    description: >-
      > ### This feature is in beta > > To use this feature, pass in a header
      including the `LD-API-Version` key with value set to `beta`. Use this
      header with each call.
  - name: Webhooks
    description: >-
      The webhooks API lets you build your own integrations that subscribe to
      activities in LaunchDarkly. When you generate an activity in LaunchDarkly,
      such as when you change a flag or you create a project, LaunchDarkly sends
      an HTTP POST payload to the...
  - name: Workflow templates
    description: >-
      > ### Workflows are in maintenance mode > > The workflows feature is in
      maintenance mode, and is planned for future deprecation at a date not yet
      specified.
  - name: Workflows
    description: >-
      > ### Workflows are in maintenance mode > > The workflows feature is in
      maintenance mode, and is planned for future deprecation at a date not yet
      specified.
  - name: Other
    description: Other requests available in the LaunchDarkly API.
paths:
  /api/v2/projects/{projectKey}/ai-configs:
    get:
      tags:
        - AI Configs
      summary: List AI Configs
      description: >-
        > For the complete documentation index, see
        [llms.txt](https://launchdarkly-preview.mintlify.app/llms.txt). For the
        full documentation snapshot, see
        [llms-full.txt](https://launchdarkly-preview.mintlify.app/llms-full.txt).


        Get a list of all AI Configs in the given project.
      operationId: getAIConfigs
      parameters:
        - example: default
          explode: false
          in: path
          name: projectKey
          required: true
          schema:
            type: string
          style: simple
        - description: A sort to apply to the list of AI Configs.
          explode: true
          in: query
          name: sort
          required: false
          schema:
            type: string
          style: form
        - description: The number of resources to return.
          explode: true
          in: query
          name: limit
          required: false
          schema:
            type: integer
          style: form
        - description: >-
            Where to start in the list. Use this with pagination. For example,
            an offset of 10 skips the first ten items and then returns the next
            items in the list, up to the query `limit`.
          explode: true
          in: query
          name: offset
          required: false
          schema:
            type: integer
          style: form
        - description: A filter to apply to the list.
          explode: true
          in: query
          name: filter
          required: false
          schema:
            type: string
          style: form
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIConfigs'
          description: Successful response
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Bad request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Not found
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Internal server error
components:
  schemas:
    AIConfigs:
      example:
        _links:
          next:
            href: href
            type: type
          last:
            href: href
            type: type
          prev:
            href: href
            type: type
          self:
            href: href
            type: type
          first:
            href: href
            type: type
        totalCount: 2
        items:
          - _maintainer:
              kind: kind
            _links:
              parent:
                href: href
                type: type
              self:
                href: href
                type: type
            description: description
            evaluationMetricKey: evaluationMetricKey
            version: 0
            tags:
              - tags
              - tags
            dependencies:
              - type: agent-graph
                key: key
              - type: agent-graph
                key: key
            mode: completion
            createdAt: 9
            evaluationMetricKeys:
              - evaluationMetricKeys
              - evaluationMetricKeys
            _access:
              allowed:
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
              denied:
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
            variations:
              - judgeConfiguration:
                  judges:
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                instructions: instructions
                color: color
                _links:
                  parent:
                    href: href
                    type: type
                description: description
                modelConfigKey: modelConfigKey
                judgingConfigKeys:
                  - judgingConfigKeys
                  - judgingConfigKeys
                version: 1
                tools:
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                createdAt: 6
                _publishedAt: 5
                _archivedAt: 5
                name: name
                messages:
                  - role: role
                    content: content
                  - role: role
                    content: content
                comment: comment
                model: '{}'
                _id: _id
                state: state
                key: key
              - judgeConfiguration:
                  judges:
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                instructions: instructions
                color: color
                _links:
                  parent:
                    href: href
                    type: type
                description: description
                modelConfigKey: modelConfigKey
                judgingConfigKeys:
                  - judgingConfigKeys
                  - judgingConfigKeys
                version: 1
                tools:
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                createdAt: 6
                _publishedAt: 5
                _archivedAt: 5
                name: name
                messages:
                  - role: role
                    content: content
                  - role: role
                    content: content
                comment: comment
                model: '{}'
                _id: _id
                state: state
                key: key
            name: name
            key: key
            isInverted: true
            updatedAt: 3
          - _maintainer:
              kind: kind
            _links:
              parent:
                href: href
                type: type
              self:
                href: href
                type: type
            description: description
            evaluationMetricKey: evaluationMetricKey
            version: 0
            tags:
              - tags
              - tags
            dependencies:
              - type: agent-graph
                key: key
              - type: agent-graph
                key: key
            mode: completion
            createdAt: 9
            evaluationMetricKeys:
              - evaluationMetricKeys
              - evaluationMetricKeys
            _access:
              allowed:
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
              denied:
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
                - reason:
                    role_name: role_name
                    notActions:
                      - null
                      - null
                    notResources:
                      - notResources
                      - notResources
                    effect: allow
                    resources:
                      - proj/*:env/*;qa_*:/flag/*
                    actions:
                      - '*'
                  action: action
            variations:
              - judgeConfiguration:
                  judges:
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                instructions: instructions
                color: color
                _links:
                  parent:
                    href: href
                    type: type
                description: description
                modelConfigKey: modelConfigKey
                judgingConfigKeys:
                  - judgingConfigKeys
                  - judgingConfigKeys
                version: 1
                tools:
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                createdAt: 6
                _publishedAt: 5
                _archivedAt: 5
                name: name
                messages:
                  - role: role
                    content: content
                  - role: role
                    content: content
                comment: comment
                model: '{}'
                _id: _id
                state: state
                key: key
              - judgeConfiguration:
                  judges:
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                    - samplingRate: 0.7061401
                      judgeConfigKey: judgeConfigKey
                instructions: instructions
                color: color
                _links:
                  parent:
                    href: href
                    type: type
                description: description
                modelConfigKey: modelConfigKey
                judgingConfigKeys:
                  - judgingConfigKeys
                  - judgingConfigKeys
                version: 1
                tools:
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                  - customParameters:
                      key: ''
                    version: 2
                    key: key
                createdAt: 6
                _publishedAt: 5
                _archivedAt: 5
                name: name
                messages:
                  - role: role
                    content: content
                  - role: role
                    content: content
                comment: comment
                model: '{}'
                _id: _id
                state: state
                key: key
            name: name
            key: key
            isInverted: true
            updatedAt: 3
      properties:
        _links:
          $ref: '#/components/schemas/PaginatedLinks'
        items:
          items:
            $ref: '#/components/schemas/AIConfig'
          type: array
        totalCount:
          type: integer
      required:
        - items
        - totalCount
      type: object
    Error:
      example:
        code: code
        message: message
      properties:
        message:
          type: string
        code:
          type: string
      required:
        - code
        - message
      type: object
    PaginatedLinks:
      example:
        next:
          href: href
          type: type
        last:
          href: href
          type: type
        prev:
          href: href
          type: type
        self:
          href: href
          type: type
        first:
          href: href
          type: type
      properties:
        first:
          $ref: '#/components/schemas/AiConfigsLink'
        last:
          $ref: '#/components/schemas/AiConfigsLink'
        next:
          $ref: '#/components/schemas/AiConfigsLink'
        prev:
          $ref: '#/components/schemas/AiConfigsLink'
        self:
          $ref: '#/components/schemas/AiConfigsLink'
      required:
        - self
      type: object
    AIConfig:
      example:
        _maintainer:
          kind: kind
        _links:
          parent:
            href: href
            type: type
          self:
            href: href
            type: type
        description: description
        evaluationMetricKey: evaluationMetricKey
        version: 0
        tags:
          - tags
          - tags
        dependencies:
          - type: agent-graph
            key: key
          - type: agent-graph
            key: key
        mode: completion
        createdAt: 9
        evaluationMetricKeys:
          - evaluationMetricKeys
          - evaluationMetricKeys
        _access:
          allowed:
            - reason:
                role_name: role_name
                notActions:
                  - null
                  - null
                notResources:
                  - notResources
                  - notResources
                effect: allow
                resources:
                  - proj/*:env/*;qa_*:/flag/*
                actions:
                  - '*'
              action: action
            - reason:
                role_name: role_name
                notActions:
                  - null
                  - null
                notResources:
                  - notResources
                  - notResources
                effect: allow
                resources:
                  - proj/*:env/*;qa_*:/flag/*
                actions:
                  - '*'
              action: action
          denied:
            - reason:
                role_name: role_name
                notActions:
                  - null
                  - null
                notResources:
                  - notResources
                  - notResources
                effect: allow
                resources:
                  - proj/*:env/*;qa_*:/flag/*
                actions:
                  - '*'
              action: action
            - reason:
                role_name: role_name
                notActions:
                  - null
                  - null
                notResources:
                  - notResources
                  - notResources
                effect: allow
                resources:
                  - proj/*:env/*;qa_*:/flag/*
                actions:
                  - '*'
              action: action
        variations:
          - judgeConfiguration:
              judges:
                - samplingRate: 0.7061401
                  judgeConfigKey: judgeConfigKey
                - samplingRate: 0.7061401
                  judgeConfigKey: judgeConfigKey
            instructions: instructions
            color: color
            _links:
              parent:
                href: href
                type: type
            description: description
            modelConfigKey: modelConfigKey
            judgingConfigKeys:
              - judgingConfigKeys
              - judgingConfigKeys
            version: 1
            tools:
              - customParameters:
                  key: ''
                version: 2
                key: key
              - customParameters:
                  key: ''
                version: 2
                key: key
            createdAt: 6
            _publishedAt: 5
            _archivedAt: 5
            name: name
            messages:
              - role: role
                content: content
              - role: role
                content: content
            comment: comment
            model: '{}'
            _id: _id
            state: state
            key: key
          - judgeConfiguration:
              judges:
                - samplingRate: 0.7061401
                  judgeConfigKey: judgeConfigKey
                - samplingRate: 0.7061401
                  judgeConfigKey: judgeConfigKey
            instructions: instructions
            color: color
            _links:
              parent:
                href: href
                type: type
            description: description
            modelConfigKey: modelConfigKey
            judgingConfigKeys:
              - judgingConfigKeys
              - judgingConfigKeys
            version: 1
            tools:
              - customParameters:
                  key: ''
                version: 2
                key: key
              - customParameters:
                  key: ''
                version: 2
                key: key
            createdAt: 6
            _publishedAt: 5
            _archivedAt: 5
            name: name
            messages:
              - role: role
                content: content
              - role: role
                content: content
            comment: comment
            model: '{}'
            _id: _id
            state: state
            key: key
        name: name
        key: key
        isInverted: true
        updatedAt: 3
      properties:
        _access:
          $ref: '#/components/schemas/AiConfigsAccess'
        _links:
          $ref: '#/components/schemas/ParentAndSelfLinks'
        description:
          type: string
        key:
          type: string
        _maintainer:
          $ref: '#/components/schemas/AIConfig__maintainer'
        mode:
          default: completion
          enum:
            - agent
            - completion
            - judge
          type: string
        name:
          type: string
        tags:
          type: array
          items:
            type: string
        version:
          type: integer
        variations:
          items:
            $ref: '#/components/schemas/AIConfigVariation'
          type: array
        createdAt:
          type: integer
          format: int64
        updatedAt:
          type: integer
          format: int64
        evaluationMetricKey:
          description: Evaluation metric key for this AI Config
          type: string
        evaluationMetricKeys:
          deprecated: true
          description: List of evaluation metric keys for this AI Config
          items:
            type: string
          type: array
        isInverted:
          description: >-
            Whether the evaluation metric is inverted, meaning a lower value is
            better if set as true
          type: boolean
        dependencies:
          description: Resources that depend on this AI Config, grouped by type
          items:
            $ref: '#/components/schemas/AIConfigDependency'
          type: array
      required:
        - createdAt
        - description
        - key
        - name
        - tags
        - updatedAt
        - variations
        - version
      type: object
    AiConfigsLink:
      example:
        href: href
        type: type
      properties:
        href:
          type: string
        type:
          type: string
      type: object
    AiConfigsAccess:
      example:
        allowed:
          - reason:
              role_name: role_name
              notActions:
                - null
                - null
              notResources:
                - notResources
                - notResources
              effect: allow
              resources:
                - proj/*:env/*;qa_*:/flag/*
              actions:
                - '*'
            action: action
          - reason:
              role_name: role_name
              notActions:
                - null
                - null
              notResources:
                - notResources
                - notResources
              effect: allow
              resources:
                - proj/*:env/*;qa_*:/flag/*
              actions:
                - '*'
            action: action
        denied:
          - reason:
              role_name: role_name
              notActions:
                - null
                - null
              notResources:
                - notResources
                - notResources
              effect: allow
              resources:
                - proj/*:env/*;qa_*:/flag/*
              actions:
                - '*'
            action: action
          - reason:
              role_name: role_name
              notActions:
                - null
                - null
              notResources:
                - notResources
                - notResources
              effect: allow
              resources:
                - proj/*:env/*;qa_*:/flag/*
              actions:
                - '*'
            action: action
      properties:
        denied:
          items:
            $ref: '#/components/schemas/AiConfigsAccessDenied'
          type: array
        allowed:
          items:
            $ref: '#/components/schemas/AiConfigsAccessAllowedRep'
          type: array
      required:
        - allowed
        - denied
      type: object
    ParentAndSelfLinks:
      description: The location and content type of related resources
      example:
        parent:
          href: href
          type: type
        self:
          href: href
          type: type
      properties:
        self:
          $ref: '#/components/schemas/CoreLink'
        parent:
          $ref: '#/components/schemas/CoreLink'
      required:
        - parent
        - self
      type: object
    AIConfig__maintainer:
      example:
        kind: kind
      oneOf:
        - $ref: '#/components/schemas/MaintainerMember'
        - $ref: '#/components/schemas/AiConfigsMaintainerTeam'
      properties:
        kind:
          type: string
      required:
        - kind
    AIConfigVariation:
      example:
        judgeConfiguration:
          judges:
            - samplingRate: 0.7061401
              judgeConfigKey: judgeConfigKey
            - samplingRate: 0.7061401
              judgeConfigKey: judgeConfigKey
        instructions: instructions
        color: color
        _links:
          parent:
            href: href
            type: type
        description: description
        modelConfigKey: modelConfigKey
        judgingConfigKeys:
          - judgingConfigKeys
          - judgingConfigKeys
        version: 1
        tools:
          - customParameters:
              key: ''
            version: 2
            key: key
          - customParameters:
              key: ''
            version: 2
            key: key
        createdAt: 6
        _publishedAt: 5
        _archivedAt: 5
        name: name
        messages:
          - role: role
            content: content
          - role: role
            content: content
        comment: comment
        model: '{}'
        _id: _id
        state: state
        key: key
      properties:
        _links:
          $ref: '#/components/schemas/ParentLink'
        color:
          type: string
        comment:
          type: string
        description:
          description: >-
            Returns the description for the agent. This is only returned for
            agent variations.
          type: string
        instructions:
          description: >-
            Returns the instructions for the agent. This is only returned for
            agent variations.
          type: string
        key:
          type: string
        _id:
          type: string
        messages:
          items:
            $ref: '#/components/schemas/Message'
          type: array
        model:
          type: object
        modelConfigKey:
          type: string
        name:
          type: string
        createdAt:
          type: integer
          format: int64
        version:
          type: integer
        state:
          type: string
        _archivedAt:
          type: integer
          format: int64
        _publishedAt:
          type: integer
          format: int64
        tools:
          items:
            $ref: '#/components/schemas/VariationTool'
          type: array
        judgeConfiguration:
          $ref: '#/components/schemas/JudgeConfiguration'
        judgingConfigKeys:
          type: array
          items:
            type: string
      required:
        - _id
        - createdAt
        - key
        - model
        - name
        - version
      type: object
    AIConfigDependency:
      description: A resource that depends on this AI Config
      example:
        type: agent-graph
        key: key
      properties:
        type:
          description: The type of the dependent resource
          enum:
            - agent-graph
          type: string
        key:
          description: The key of the dependent resource
          type: string
      required:
        - key
        - type
      type: object
    AiConfigsAccessDenied:
      example:
        reason:
          role_name: role_name
          notActions:
            - null
            - null
          notResources:
            - notResources
            - notResources
          effect: allow
          resources:
            - proj/*:env/*;qa_*:/flag/*
          actions:
            - '*'
        action: action
      properties:
        action:
          type: string
        reason:
          $ref: '#/components/schemas/AiConfigsAccessDeniedReason'
      required:
        - action
        - reason
      type: object
    AiConfigsAccessAllowedRep:
      example:
        reason:
          role_name: role_name
          notActions:
            - null
            - null
          notResources:
            - notResources
            - notResources
          effect: allow
          resources:
            - proj/*:env/*;qa_*:/flag/*
          actions:
            - '*'
        action: action
      properties:
        action:
          type: string
        reason:
          $ref: '#/components/schemas/AiConfigsAccessAllowedReason'
      required:
        - action
        - reason
      type: object
    CoreLink:
      example:
        href: href
        type: type
      properties:
        href:
          type: string
        type:
          type: string
      required:
        - href
        - type
      type: object
    MaintainerMember:
      properties:
        _id:
          type: string
        email:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        role:
          type: string
      required:
        - _id
        - email
        - role
      type: object
    AiConfigsMaintainerTeam:
      properties:
        key:
          type: string
        name:
          type: string
      required:
        - key
        - name
      type: object
    ParentLink:
      example:
        parent:
          href: href
          type: type
      properties:
        parent:
          $ref: '#/components/schemas/CoreLink'
      required:
        - parent
      type: object
    Message:
      example:
        role: role
        content: content
      properties:
        content:
          type: string
        role:
          type: string
      required:
        - content
        - role
      type: object
    VariationTool:
      example:
        customParameters:
          key: ''
        version: 2
        key: key
      properties:
        key:
          description: The key of the tool to use.
          type: string
        version:
          description: The version of the tool.
          type: integer
        customParameters:
          additionalProperties: true
          description: Custom metadata and configuration for application-level use
          type: object
      required:
        - key
        - version
      type: object
    JudgeConfiguration:
      example:
        judges:
          - samplingRate: 0.7061401
            judgeConfigKey: judgeConfigKey
          - samplingRate: 0.7061401
            judgeConfigKey: judgeConfigKey
      properties:
        judges:
          description: >
            List of judges for this variation. When updating, this replaces all
            existing judge attachments, and if empty, removes all judge
            attachments.
          items:
            $ref: '#/components/schemas/JudgeAttachment'
          type: array
      type: object
    AiConfigsAccessDeniedReason:
      example:
        role_name: role_name
        notActions:
          - null
          - null
        notResources:
          - notResources
          - notResources
        effect: allow
        resources:
          - proj/*:env/*;qa_*:/flag/*
        actions:
          - '*'
      properties:
        resources:
          type: array
          description: Resource specifier strings
          items:
            type: string
          example:
            - proj/*:env/*;qa_*:/flag/*
        notResources:
          type: array
          description: >-
            Targeted resources are the resources NOT in this list. The
            <code>resources</code> and <code>notActions</code> fields must be
            empty to use this field.
          items:
            type: string
        actions:
          type: array
          description: Actions to perform on a resource
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          example:
            - '*'
        notActions:
          type: array
          description: >-
            Targeted actions are the actions NOT in this list. The
            <code>actions</code> and <code>notResources</code> fields must be
            empty to use this field.
          items:
            $ref: '#/components/schemas/ActionSpecifier'
        effect:
          type: string
          description: >-
            Whether this statement should allow or deny actions on the
            resources.
          example: allow
          enum:
            - allow
            - deny
        role_name:
          type: string
      required:
        - effect
      type: object
    AiConfigsAccessAllowedReason:
      example:
        role_name: role_name
        notActions:
          - null
          - null
        notResources:
          - notResources
          - notResources
        effect: allow
        resources:
          - proj/*:env/*;qa_*:/flag/*
        actions:
          - '*'
      properties:
        resources:
          type: array
          description: Resource specifier strings
          items:
            type: string
          example:
            - proj/*:env/*;qa_*:/flag/*
        notResources:
          type: array
          description: >-
            Targeted resources are the resources NOT in this list. The
            <code>resources</code> and <code>notActions</code> fields must be
            empty to use this field.
          items:
            type: string
        actions:
          type: array
          description: Actions to perform on a resource
          items:
            $ref: '#/components/schemas/ActionSpecifier'
          example:
            - '*'
        notActions:
          type: array
          description: >-
            Targeted actions are the actions NOT in this list. The
            <code>actions</code> and <code>notResources</code> fields must be
            empty to use this field.
          items:
            $ref: '#/components/schemas/ActionSpecifier'
        effect:
          type: string
          description: >-
            Whether this statement should allow or deny actions on the
            resources.
          example: allow
          enum:
            - allow
            - deny
        role_name:
          type: string
      required:
        - effect
      type: object
    JudgeAttachment:
      example:
        samplingRate: 0.7061401
        judgeConfigKey: judgeConfigKey
      properties:
        judgeConfigKey:
          description: Key of the judge AI Config
          type: string
        samplingRate:
          description: Sampling rate for this judge attachment (0.0 to 1.0)
          format: float
          maximum: 1
          minimum: 0
          type: number
      required:
        - judgeConfigKey
        - samplingRate
      type: object
    ActionSpecifier:
      type: string
  securitySchemes:
    ApiKey:
      type: apiKey
      in: header
      name: Authorization

````