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

# Browse Agent Catalog

> Returns the unified agent catalog assembled from configured template projects and approved installable registry entries. Template agents expose the fork action. Installable agents expose the install action and their runtime service key, but never expose internal invoke URLs.



## OpenAPI

````yaml https://api.veryfront.com/openapi.json get /agents
openapi: 3.1.0
info:
  title: Veryfront REST API
  version: 1.0.0
  summary: Domain-first REST reference for the maintained Veryfront HTTP API surface.
  description: >-
    Project-first HTTP API for Veryfront project resources. Root
    account/platform endpoints that still appear in this reference are
    transitional compatibility surfaces unless the canonical inventory marks
    them otherwise.


    ## Start here


    - **Interactive REST reference:** [/docs](/docs)

    - **Raw OpenAPI document:** [/openapi.json](/openapi.json)

    - **Canonical inventory:** `docs/api-surface-inventory.md` in this
    repository

    - **GraphQL endpoint:** [/graphql](/graphql)

    - **MCP playground:** [/mcp/playground](/mcp/playground)


    ## Authentication


    Use one of these request headers:


    - `Authorization: Bearer <jwt>`

    - `Authorization: Bearer vf_<prefix>_<secret>`

    - `X-API-Key: vf_<prefix>_<secret>`


    JWTs must use the Bearer token contract. API keys work in either the Bearer
    header or `X-API-Key`.


    ## Discovery model


    Veryfront is one platform with multiple access modes:


    - **REST** for resource-oriented and operational HTTP workflows

    - **GraphQL** for connected app-facing data and typed mutations

    - **MCP** for tool-style automation and agent workflows


    For the fastest path through the platform, start with the project-scoped
    domain groups. Transitional account/platform groups are retained for
    compatibility and follow the removal register in the canonical inventory.
  contact:
    name: Veryfront API Support
    url: https://veryfront.com/docs
    email: support@veryfront.com
servers:
  - url: https://api.veryfront.com
    description: Current request origin
  - url: http://localhost:4000
    description: Local development
security:
  - bearerAuth: []
  - apiKeyAuth: []
tags:
  - name: Projects
    description: Core project operations
  - name: Account
    description: >-
      Transitional account-level users and settings retained for dashboard
      compatibility
  - name: Project Users
    description: Project members and invites
  - name: Members
    description: Project members and invites
  - name: Files
    description: Main branch files
  - name: Branch Files
    description: Files on branches
  - name: Environment Files
    description: Files in environments
  - name: Release Files
    description: Files in releases
  - name: Uploads
    description: File uploads and assets
  - name: Branches
    description: Content branches for previews
  - name: Releases
    description: Published file snapshots
  - name: Deployments
    description: Connect releases to environments
  - name: Environments
    description: Deployment targets and variables
  - name: Environment Variables
    description: Project environment variable management
  - name: Domains
    description: Custom domains for environments
  - name: Project Servers
    description: Project-scoped dedicated server instances
  - name: Root Servers
    description: >-
      Transitional root dedicated-server administration retained for
      compatibility
  - name: Tasks
    description: Project tasks
  - name: Evals
    description: Project eval definitions and eval run projections
  - name: Work
    description: Project business-process definitions and execution state
  - name: Workflows
    description: Project workflows
  - name: Workflow Runs
    description: Workflow run history and status
  - name: Schedules
    description: Recurring project automation schedules
  - name: Webhooks
    description: Webhook-triggered automation entry points
  - name: Skills
    description: Project skills
  - name: Prompts
    description: Project prompts
  - name: Tools
    description: Project tools
  - name: Resources
    description: Project-defined resource documents and source-backed resource definitions
  - name: Sandboxes
    description: Ephemeral sandbox execution environments
  - name: Search
    description: Text and vector search
  - name: Knowledge
    description: Knowledge manifest lookup across project knowledge files
  - name: Chunks
    description: File chunks for search indexing
  - name: Embeddings
    description: Vector embeddings
  - name: RAG Documents
    description: Project retrieval-augmented knowledge documents
  - name: Style Artifacts
    description: Project style artifact state and build outputs
  - name: External Storage
    description: Transitional connected cloud-provider file operations
  - name: Project Cache
    description: Project-scoped distributed cache operations
  - name: User Cache
    description: Transitional user cache helpers retained for compatibility
  - name: API Keys
    description: >-
      Transitional user/account API key management; prefer project-scoped keys
      for public integrations
  - name: User
    description: Transitional current-user profile endpoint for first-party clients
  - name: Favorites
    description: Transitional user favorites for first-party dashboard clients
  - name: Subscriptions
    description: Transitional account billing and subscription workflows
  - name: Credits
    description: Transitional account credit balance, purchase, and insufficiency flows
  - name: Usage
    description: >-
      Project/account usage limits and warnings; account-level usage is
      transitional
  - name: Gates
    description: Transitional plan and feature gate checks for first-party clients
  - name: Channels
    description: Project channel integrations and delivery settings
  - name: Agents
    description: Project agents
  - name: Agent Catalog
    description: Public catalog of agents assembled from curated template projects
  - name: Agent Workers
    description: Internal/transitional agent worker leases and sessions
  - name: Agent Runtimes
    description: Registered push-based agent runtime services and runtime target health
  - name: Project Integrations
    description: Project-scoped integration catalog and configuration
  - name: Integrations
    description: Transitional external integration catalog for first-party clients
  - name: Integration Tools
    description: >-
      Transitional dynamic integration tool listing, invocation, and connection
      state
  - name: OAuth
    description: >-
      Transitional OAuth integration flows for first-party and connected-app
      clients
  - name: Templates
    description: Transitional starter-template discovery used during project creation
  - name: AI
    description: >-
      Transitional platform AI gateway/model helpers; project AI assets use
      project-scoped routes
  - name: Images
    description: Generated images and image assets
  - name: Conversations
    description: Transitional conversation/run-control HTTP surface for first-party clients
  - name: Runs
    description: Transitional hosted run-control endpoints for conversation execution
  - name: MCP
    description: >-
      MCP catalog/playground helpers; primary MCP traffic uses the streamable
      MCP handler
  - name: Logs
    description: Project log queries via Loki
  - name: Metrics
    description: Project metric queries via a Prometheus-compatible backend
  - name: Traces
    description: Project trace queries via Grafana Tempo
  - name: Errors
    description: Internal/public error type catalog (RFC 9457)
  - name: Authentication
    description: Transitional auth token, login, logout, magic-link, and JWKS flows
externalDocs:
  description: Interactive REST reference
  url: https://api.veryfront.com/docs
paths:
  /agents:
    get:
      tags:
        - Agent Catalog
      summary: Browse Agent Catalog
      description: >-
        Returns the unified agent catalog assembled from configured template
        projects and approved installable registry entries. Template agents
        expose the fork action. Installable agents expose the install action and
        their runtime service key, but never expose internal invoke URLs.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            description: Page size (1-200, default 100).
          required: false
          name: limit
          in: query
        - schema:
            type: integer
            nullable: true
            minimum: 0
            description: Zero-based offset into the flat catalog.
          required: false
          name: offset
          in: query
        - schema:
            type: string
            minLength: 1
            description: Filter to a single category id.
          required: false
          name: category
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 200
            description: >-
              Search term matched (case-insensitive substring) against agent
              name, description, agent_id, and category_label. Matched against
              the catalog cache, so edits to template projects surface within
              ~60s.
            example: support
          required: false
          name: search
          in: query
        - schema:
            type: string
            enum:
              - name
              - agent_id
              - category_label
            description: Sort field. Defaults to "name".
            example: name
          required: false
          name: sort_by
          in: query
        - schema:
            type: string
            enum:
              - asc
              - desc
            description: Sort order. Defaults to "asc".
            example: asc
          required: false
          name: sort_order
          in: query
      responses:
        '200':
          description: Paginated agent catalog
          content:
            application/json:
              schema:
                type: object
                properties:
                  items:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        agent_id:
                          type: string
                        kind:
                          type: string
                          enum:
                            - template_agent
                            - installable_agent
                          description: >-
                            Catalog identity kind. Template agents are
                            fork-only; installable agents are installed into a
                            project before they can run.
                        name:
                          type: string
                        description:
                          type: string
                          nullable: true
                        avatar_url:
                          type: string
                          nullable: true
                          format: uri
                        category_id:
                          type: string
                        category_label:
                          type: string
                        provider_name:
                          type: string
                        provider_url:
                          type: string
                          nullable: true
                          format: uri
                        model:
                          type: string
                          nullable: true
                        version:
                          type: string
                          nullable: true
                        tools:
                          type: array
                          items:
                            type: string
                            minLength: 1
                        suggestions:
                          type: array
                          items:
                            anyOf:
                              - type: string
                                minLength: 1
                              - type: object
                                properties:
                                  title:
                                    type: string
                                    minLength: 1
                                  prompt:
                                    type: string
                                    minLength: 1
                                required:
                                  - title
                                  - prompt
                                additionalProperties: false
                        actions:
                          type: array
                          items:
                            type: string
                            enum:
                              - fork
                              - install
                          description: >-
                            Allowed catalog actions for the caller. Clients
                            should use this instead of inferring behavior from
                            provenance.
                        template_project:
                          type: object
                          properties:
                            name:
                              type: string
                              description: >-
                                Display name of the template project used as the
                                forked project name.
                            project_reference:
                              type: string
                              description: >-
                                Template project reference used by the fork
                                flow.
                            source_path:
                              type: string
                              nullable: true
                              description: >-
                                Source path of the agent inside the template
                                project.
                          required:
                            - name
                            - project_reference
                            - source_path
                          description: >-
                            Present for template_agent items; omitted for
                            installable_agent items.
                        installability:
                          type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - installable
                                - already_installed
                                - unavailable
                            reason:
                              type: string
                              nullable: true
                          required:
                            - status
                            - reason
                          description: Project-install state for installable_agent items.
                        origin:
                          type: string
                          enum:
                            - veryfront
                            - user
                        runtime_mode:
                          type: string
                          enum:
                            - push_service
                            - pull_worker
                            - none
                        runtime_service_key:
                          type: string
                          nullable: true
                          description: >-
                            Runtime registry key when the entry is backed by a
                            registered service. Internal invoke URLs are
                            intentionally not exposed.
                        environment_scope:
                          type: string
                          enum:
                            - development
                            - staging
                            - production
                            - all
                        card:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            description:
                              type: string
                              nullable: true
                            provider:
                              type: object
                              properties:
                                name:
                                  type: string
                                url:
                                  type: string
                                  nullable: true
                                  format: uri
                              required:
                                - name
                                - url
                            version:
                              type: string
                              nullable: true
                            runtime_mode:
                              type: string
                              enum:
                                - push_service
                                - pull_worker
                                - none
                            runtime_service_key:
                              type: string
                              nullable: true
                            default_input_modes:
                              type: array
                              items:
                                type: string
                            default_output_modes:
                              type: array
                              items:
                                type: string
                            skills:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: string
                                  name:
                                    type: string
                                  description:
                                    type: string
                                required:
                                  - id
                                  - name
                            tools:
                              type: array
                              items:
                                type: string
                          required:
                            - id
                            - name
                            - description
                            - provider
                            - version
                            - runtime_mode
                            - runtime_service_key
                            - default_input_modes
                            - default_output_modes
                            - skills
                            - tools
                      required:
                        - id
                        - agent_id
                        - kind
                        - name
                        - description
                        - category_id
                        - category_label
                        - provider_name
                        - provider_url
                        - version
                        - actions
                  total:
                    type: integer
                  has_more:
                    type: boolean
                  next_offset:
                    type: integer
                    nullable: true
                required:
                  - items
                  - total
                  - has_more
                  - next_offset
        '500':
          description: Server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  message:
                    type: string
                required:
                  - error
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT or API Key
      description: >-
        Use a JWT bearer token or a Veryfront API key in the Authorization
        header.
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: Alternative API key header for vf_<prefix>_<secret> tokens.

````