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

# Discover Agents

> Results are always scoped to your own Domain — never leaked across Projects. For a bare Project credential (ProjectMachineContext/ ProjectAdminContext): every Agent in this Project's own Domain, any owner type — "Project discovery". For a credential paired with x-persona-external-user-id (ProjectRuntimeContext): `scope=mine` returns only that external user's own Agents; omitting it returns this Domain's public Agents only ("Project-public browse"). systemPrompt/providerId are stripped from any result the caller doesn't own.




## OpenAPI

````yaml /openapi.json get /api/v1/developer/agents
openapi: 3.0.0
info:
  title: Persona.ai Developer Platform API
  version: 1.0.0
  description: >-
    REST + AG-UI API for integrating your product with Persona's agent
    infrastructure.


    Every endpoint here is a server-to-server call — see the Integration Guide
    for where in your own stack to call each one from, and how the same endpoint
    serves both Project-level and per-end-user requests via the
    `x-persona-external-user-id` header.
servers:
  - url: https://api.personaai.com
    description: Production
security: []
tags: []
paths:
  /api/v1/developer/agents:
    get:
      tags:
        - Developer
      summary: Discover Agents
      description: >
        Results are always scoped to your own Domain — never leaked across
        Projects. For a bare Project credential (ProjectMachineContext/
        ProjectAdminContext): every Agent in this Project's own Domain, any
        owner type — "Project discovery". For a credential paired with
        x-persona-external-user-id (ProjectRuntimeContext): `scope=mine` returns
        only that external user's own Agents; omitting it returns this Domain's
        public Agents only ("Project-public browse"). systemPrompt/providerId
        are stripped from any result the caller doesn't own.
      parameters:
        - name: page
          in: query
          schema:
            type: integer
        - name: limit
          in: query
          schema:
            type: integer
        - name: search
          in: query
          schema:
            type: string
        - name: category
          in: query
          schema:
            type: string
        - name: scope
          in: query
          schema:
            type: string
            enum:
              - mine
          description: >-
            ProjectRuntimeContext only — "mine" restricts to the asserted
            external user's own Agents.
      responses:
        '200':
          description: List of Agents
      security:
        - projectCredential: []
components:
  securitySchemes:
    projectCredential:
      type: http
      scheme: bearer
      bearerFormat: <keyId>.<secret>
      description: >-
        Developer Platform Project credential, minted via POST
        /api/v1/projects/{projectId}/credentials. Send as `Authorization: Bearer
        <keyId>.<secret>`. Optionally pair with the `x-persona-external-user-id`
        header to act on behalf of one of the Project's own external users. This
        credential is a server-side secret — see the Integration Guide.

````