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

# List AI variables

> Retrieve a paginated list of AI variables (AI research). This covers AI research entities only — workspace AI messages, AI snippets, and message templates have their own list/get endpoints under `/v1/ai-variables/ai-messages`, `/v1/ai-variables/ai-snippets`, and `/v1/ai-variables/message-templates`.

Use this endpoint to browse the AI variables that appear in the platform AI Variables page. By default archived variables are excluded.

    > **Required scope:** `AI_VARIABLES_READ`
    >
    > **Rate limit:** 100 requests per minute



## OpenAPI

````yaml https://openapi.enginy.ai/definitions.json get /v1/ai-variables
openapi: 3.1.0
info:
  title: Enginy API
  version: 1.0.0
  description: Public API for Enginy platform
servers:
  - url: https://openapi.enginy.ai
    description: Configured server
security: []
tags:
  - name: AI Variables
    description: >-
      Manage AI variables and discover the entity fields you can reference in
      prompts and entity requests.
  - name: Inbox
    description: >-
      Inbox endpoints for listing contact threads, reading thread messages,
      managing tags, and sending manual replies.
  - name: Workflows
    description: >-
      Build, validate, publish, run, and inspect advanced (graph) workflows,
      plus the block/condition catalog needed to author a workflow plan.
paths:
  /v1/ai-variables:
    get:
      tags:
        - AI Variables
      summary: List AI variables
      description: >-
        Retrieve a paginated list of AI variables (AI research). This covers AI
        research entities only — workspace AI messages, AI snippets, and message
        templates have their own list/get endpoints under
        `/v1/ai-variables/ai-messages`, `/v1/ai-variables/ai-snippets`, and
        `/v1/ai-variables/message-templates`.


        Use this endpoint to browse the AI variables that appear in the platform
        AI Variables page. By default archived variables are excluded.

            > **Required scope:** `AI_VARIABLES_READ`
            >
            > **Rate limit:** 100 requests per minute
      parameters:
        - schema:
            type: string
            default: '1'
            description: Page number for pagination. Minimum value is 1. Defaults to 1.
          required: false
          description: Page number for pagination. Minimum value is 1. Defaults to 1.
          name: page
          in: query
        - schema:
            type: string
            default: '25'
            description: >-
              Number of items per page. Minimum is 1, maximum is 100. Defaults
              to 25.
          required: false
          description: >-
            Number of items per page. Minimum is 1, maximum is 100. Defaults to
            25.
          name: pageSize
          in: query
        - schema:
            type: string
            description: Optional case-insensitive search over AI variable names.
          required: false
          description: Optional case-insensitive search over AI variable names.
          name: search
          in: query
        - schema:
            type: string
            enum:
              - CONTACT
              - COMPANY
            description: Filter AI variables by entity type.
          required: false
          description: Filter AI variables by entity type.
          name: entity
          in: query
        - schema:
            type: string
            description: Filter AI variables by folder ID.
          required: false
          description: Filter AI variables by folder ID.
          name: folderId
          in: query
        - schema:
            type: string
            description: Set to `true` to include archived AI variables. Defaults to false.
          required: false
          description: Set to `true` to include archived AI variables. Defaults to false.
          name: includeArchived
          in: query
      responses:
        '200':
          description: Successful response with paginated AI variables
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: number
                          description: Unique identifier for the AI variable.
                        name:
                          type: string
                          description: >-
                            Unique AI variable name. Use this exact name in
                            prompts and entity field requests.
                        prompt:
                          type: string
                          description: >-
                            Plain-text prompt template. Field references use the
                            `{fieldName}` syntax.
                        model:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Model ID used to run the variable. If omitted on
                            create, Enginy uses the default AI model.
                        outputSchema:
                          type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - text
                                - number
                                - date
                                - oneOf
                                - url
                                - email
                              description: >-
                                Controls the output format Enginy expects from
                                the AI variable.
                            values:
                              type: array
                              items:
                                type: string
                              description: >-
                                Required when `type` is `oneOf`. Lists the
                                allowed values the model should return.
                            provideExplanation:
                              type: boolean
                              description: >-
                                When true, Enginy also stores an explanation
                                alongside the generated value.
                            jsonSchema:
                              anyOf:
                                - type: string
                                - type: number
                                - type: boolean
                                - type: 'null'
                                - type: array
                                  items:
                                    anyOf:
                                      - type: string
                                      - type: number
                                      - type: boolean
                                      - type: 'null'
                                      - type: array
                                        items:
                                          anyOf:
                                            - type: string
                                            - type: number
                                            - type: boolean
                                            - type: 'null'
                                      - type: object
                                        additionalProperties:
                                          anyOf:
                                            - type: string
                                            - type: number
                                            - type: boolean
                                            - type: 'null'
                                - type: object
                                  additionalProperties:
                                    anyOf:
                                      - type: string
                                      - type: number
                                      - type: boolean
                                      - type: 'null'
                                      - type: array
                                        items:
                                          anyOf:
                                            - type: string
                                            - type: number
                                            - type: boolean
                                            - type: 'null'
                                      - type: object
                                        additionalProperties:
                                          anyOf:
                                            - type: string
                                            - type: number
                                            - type: boolean
                                            - type: 'null'
                              description: >-
                                Advanced JSON schema override used by some
                                structured-output AI variables.
                          required:
                            - type
                          additionalProperties: false
                          description: Output contract for the AI variable.
                        search:
                          type: boolean
                          description: >-
                            Enable or disable Deep Search for this AI variable.
                            This is the only public search option.
                        entity:
                          type: string
                          enum:
                            - CONTACT
                            - COMPANY
                          description: Which entity stores the resulting value.
                        folderId:
                          type:
                            - number
                            - 'null'
                          description: Folder ID used to organize the AI variable.
                        customWebsiteField:
                          type:
                            - string
                            - 'null'
                          description: >-
                            Optional custom website source field used by
                            variables that crawl a specific website field.
                        description:
                          type:
                            - string
                            - 'null'
                          description: Auto-generated variable description, when available.
                        isPublic:
                          type: boolean
                          description: >-
                            Whether the AI variable is globally public inside
                            Enginy.
                        archivedAt:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: >-
                            Archive timestamp. Archived variables are excluded
                            from list results unless requested.
                        createdAt:
                          type: string
                          format: date-time
                          description: Creation timestamp.
                        updatedAt:
                          type: string
                          format: date-time
                          description: Last update timestamp.
                      required:
                        - id
                        - name
                        - prompt
                        - model
                        - outputSchema
                        - search
                        - entity
                        - folderId
                        - customWebsiteField
                        - description
                        - isPublic
                        - archivedAt
                        - createdAt
                        - updatedAt
                  meta:
                    type: object
                    properties:
                      page:
                        type: number
                      pageSize:
                        type: number
                      total:
                        type: number
                    required:
                      - page
                      - pageSize
                      - total
                required:
                  - data
                  - meta
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````