{"components":{"schemas":{"models.Agent":{"properties":{"allowed_org_ids":{"items":{"type":"string"},"type":"array"},"author":{"type":"string"},"capabilities":{"items":{"type":"string"},"type":"array"},"created_at":{"type":"string"},"description":{"type":"string"},"endpoint":{"type":"string"},"id":{"type":"string"},"image":{"type":"string"},"image_pull_secret":{"$ref":"#/components/schemas/models.ImagePullSecret"},"manifest":{"$ref":"#/components/schemas/models.AgentManifest"},"metadata":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"org_id":{"type":"string"},"public_key":{"type":"string"},"state":{"description":"registered, deploying, running, active, idle, sleeping, stopped, failed","type":"string"},"updated_at":{"type":"string"},"version":{"type":"string"},"visibility":{"description":"private, public","type":"string"}},"type":"object"},"models.AgentManifest":{"properties":{"authentication":{"additionalProperties":true,"type":"object"},"capabilities":{"additionalProperties":true,"type":"object"},"description":{"type":"string"},"input_schema":{"additionalProperties":true,"type":"object"},"name":{"type":"string"},"output_schema":{"additionalProperties":true,"type":"object"},"runtime":{"additionalProperties":true,"type":"object"},"skills":{"items":{"$ref":"#/components/schemas/models.ManifestSkill"},"type":"array"},"url":{"type":"string"},"version":{"type":"string"}},"type":"object"},"models.AgentResponse":{"properties":{"agent":{"$ref":"#/components/schemas/models.Agent"}},"type":"object"},"models.AgentsListResponse":{"properties":{"agents":{"items":{"$ref":"#/components/schemas/models.Agent"},"type":"array"},"total":{"type":"integer"}},"type":"object"},"models.CreateAgentRequest":{"properties":{"author":{"type":"string"},"capabilities":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"endpoint":{"type":"string"},"image":{"type":"string"},"image_pull_secret":{"$ref":"#/components/schemas/models.ImagePullSecret"},"manifest":{"$ref":"#/components/schemas/models.AgentManifest"},"metadata":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"org_id":{"type":"string"},"version":{"type":"string"}},"required":["image","name","org_id"],"type":"object"},"models.CreateToolRequest":{"properties":{"category":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"],"type":"object"},"models.ErrorResponse":{"properties":{"error":{"type":"string"},"message":{"type":"string"}},"type":"object"},"models.ImagePullSecret":{"properties":{"password":{"type":"string"},"registry":{"type":"string"},"username":{"type":"string"}},"type":"object"},"models.ManifestSkill":{"properties":{"id":{"type":"string"},"inputModes":{"items":{"type":"string"},"type":"array"},"outputModes":{"items":{"type":"string"},"type":"array"}},"type":"object"},"models.Tool":{"properties":{"category":{"type":"string"},"created_at":{"type":"string"},"description":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"}},"type":"object"},"models.ToolResponse":{"properties":{"tool":{"$ref":"#/components/schemas/models.Tool"}},"type":"object"},"models.ToolsListResponse":{"properties":{"tools":{"items":{"$ref":"#/components/schemas/models.Tool"},"type":"array"},"total":{"type":"integer"}},"type":"object"},"models.UpdateAgentRequest":{"properties":{"capabilities":{"items":{"type":"string"},"type":"array"},"description":{"type":"string"},"endpoint":{"type":"string"},"image":{"type":"string"},"manifest":{"$ref":"#/components/schemas/models.AgentManifest"},"metadata":{"additionalProperties":{"type":"string"},"type":"object"},"name":{"type":"string"},"public_key":{"type":"string"},"state":{"type":"string"},"version":{"type":"string"}},"type":"object"}},"securitySchemes":{"BearerAuth":{"in":"header","name":"Authorization","type":"apiKey"}}},"info":{"contact":{},"description":"Independent agent catalog service for Compute and Orchestrator platforms","title":"Agent Registry API","version":"1.0"},"openapi":"3.0.1","paths":{"/registry/v1/agents":{"get":{"description":"List agents with optional filters","parameters":[{"description":"Filter by author","in":"query","name":"author","schema":{"type":"string"}},{"description":"Filter by status","in":"query","name":"status","schema":{"type":"string"}},{"description":"Limit","in":"query","name":"limit","schema":{"default":20,"type":"integer"}},{"description":"Offset","in":"query","name":"offset","schema":{"default":0,"type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.AgentsListResponse"}}},"description":"OK"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Internal Server Error"}},"summary":"List agents","tags":["agents"]},"post":{"description":"Register a new agent in the catalog","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.CreateAgentRequest"}}},"description":"Agent details","required":true,"x-originalParamName":"request"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.AgentResponse"}}},"description":"Created"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Bad Request"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Conflict"}},"summary":"Create agent","tags":["agents"]}},"/registry/v1/agents/search":{"get":{"description":"Find agents matching given capabilities","parameters":[{"description":"Comma-separated capabilities","in":"query","name":"capabilities","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.AgentsListResponse"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Bad Request"}},"summary":"Search agents by capabilities","tags":["agents"]}},"/registry/v1/agents/{id}":{"get":{"description":"Get agent by ID","parameters":[{"description":"Agent ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.AgentResponse"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Not Found"}},"summary":"Get agent","tags":["agents"]},"put":{"description":"Update agent fields","parameters":[{"description":"Agent ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.UpdateAgentRequest"}}},"description":"Fields to update","required":true,"x-originalParamName":"request"},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.AgentResponse"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Not Found"}},"summary":"Update agent","tags":["agents"]},"delete":{"description":"Delete agent by ID","parameters":[{"description":"Agent ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"No Content"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Not Found"}},"summary":"Delete agent","tags":["agents"]}},"/registry/v1/agents/{id}/public-key":{"get":{"description":"Returns the Ed25519 public key for A2A signature verification","parameters":[{"description":"Agent ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":{"type":"string"},"type":"object"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Not Found"}},"summary":"Get agent public key","tags":["agents"]}},"/registry/v1/tools":{"get":{"description":"List all tools with optional category filter","parameters":[{"description":"Filter by category","in":"query","name":"category","schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ToolsListResponse"}}},"description":"OK"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Internal Server Error"}},"summary":"List tools","tags":["tools"]},"post":{"description":"Register a new tool in the catalog","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.CreateToolRequest"}}},"description":"Tool details","required":true,"x-originalParamName":"request"},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ToolResponse"}}},"description":"Created"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Bad Request"},"409":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Conflict"}},"summary":"Create tool","tags":["tools"]}},"/registry/v1/tools/{id}":{"get":{"description":"Get tool by ID","parameters":[{"description":"Tool ID","in":"path","name":"id","required":true,"schema":{"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ToolResponse"}}},"description":"OK"},"404":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/models.ErrorResponse"}}},"description":"Not Found"}},"summary":"Get tool","tags":["tools"]}}},"servers":[{"url":"https://compute.hexelstudio.com"}]}