openapi: 3.2.0 info: title: Agentic Resource Discovery Registry Agents API version: 0.5.0 description: 'Universal federated discovery API specification for AI agents, tools, and capabilities. Allows LLM orchestrators to semantically search and discover registries for relevant capabilities and enables registry-to-registry federated query routing. ' tags: - name: Agents paths: /agents: get: summary: Browse Catalog Entries description: 'Deterministic, highly cacheable listing endpoint designed for developer portals. Relies on strict EBNF database filtering instead of natural language search. ' operationId: listAgents parameters: - name: filter in: query required: false description: EBNF-like filter expression (e.g., "type = 'application/mcp-server-card+json' AND createdAfter > '2026-01-01'") schema: type: string - name: orderBy in: query required: false description: Field and sorting direction (e.g., "displayName", "updatedAt DESC") schema: type: string - name: pageSize in: query required: false description: Maximum number of entries to return. schema: type: integer default: 20 maximum: 100 - name: pageToken in: query required: false description: Token for pagination. schema: type: string responses: '200': description: Successful deterministic list operation. content: application/json: schema: $ref: '#/components/schemas/ListResponse' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '429': $ref: '#/components/responses/429TooManyRequests' '500': $ref: '#/components/responses/500InternalError' tags: - Agents components: responses: 500InternalError: description: Internal server error. content: application/json: schema: $ref: '#/components/schemas/Error' 401Unauthorized: description: Credentials missing or rejected. content: application/json: schema: $ref: '#/components/schemas/Error' 429TooManyRequests: description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' 400BadRequest: description: Malformed request payload or invalid syntax. content: application/json: schema: $ref: '#/components/schemas/Error' schemas: ListResponse: type: object required: - items properties: items: type: array items: $ref: ./ai-catalog.schema.json#/$defs/catalogEntry total: type: integer description: Total count of matching entries in the registry. pageToken: type: string description: Token for paginating subsequent results. Error: type: object required: - errorCode - message properties: errorCode: type: string description: Standard uppercase error classification code. example: INVALID_ARGUMENT message: type: string description: Human-readable description explaining the error. example: The filter expression syntax 'type = MCP' is invalid. Did you mean 'type = application/mcp-server-card+json'?