openapi: 3.2.0 info: title: LiteLLM [beta] A2A Agents API description: "Enterprise Edition \n\nProxy Server to call 100+ LLMs in the OpenAI format. [**Customize Swagger Docs**](https://docs.litellm.ai/docs/proxy/enterprise#swagger-docs---custom-routes--branding)\n\n\U0001F449 [```LiteLLM Admin Panel on /ui```](/ui). Create, Edit Keys with SSO. Having issues? Try [```Fallback Login```](/fallback/login)\n\n\U0001F4B8 [```LiteLLM Model Cost Map```](https://models.litellm.ai/).\n\n\U0001F50E [```LiteLLM Model Hub```](/ui/model_hub_table). See available models on the proxy. [**Docs**](https://docs.litellm.ai/docs/proxy/ai_hub)" version: 1.95.0 x-operator: institution x-provenance: method: probed source: https://llmproxy.uva.nl/openapi.json retrieved: '2026-08-19' note: Document is generated by the LiteLLM proxy software the University of Amsterdam self-hosts; the deployment, the key issuance and the host (llmproxy.uva.nl, UvA Azure) are the institution's. servers[] added by API Evangelist because the served document omits it; nothing else altered. servers: - url: https://llmproxy.uva.nl description: University of Amsterdam / Amsterdam University of Applied Sciences shared AI gateway tags: - name: '[beta] A2A Agents' paths: /v1/agents: get: tags: - '[beta] A2A Agents' summary: Get Agents description: 'Example usage: ``` curl -X GET "http://localhost:4000/v1/agents" -H "Content-Type: application/json" -H "Authorization: Bearer your-key" ``` Pass `?health_check=true` to filter out agents whose URL is unreachable: ``` curl -X GET "http://localhost:4000/v1/agents?health_check=true" -H "Content-Type: application/json" -H "Authorization: Bearer your-key" ``` Returns: List[AgentResponse]' operationId: get_agents_v1_agents_get security: - APIKeyHeader: [] parameters: - name: health_check in: query required: false schema: type: boolean description: When true, performs a GET request to each agent's URL. Agents with reachable URLs (HTTP status < 500) and agents without a URL are returned; unreachable agents are filtered out. default: false title: Health Check description: When true, performs a GET request to each agent's URL. Agents with reachable URLs (HTTP status < 500) and agents without a URL are returned; unreachable agents are filtered out. responses: '200': description: Successful Response content: application/json: schema: type: array items: $ref: '#/components/schemas/AgentResponse' title: Response Get Agents V1 Agents Get '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' post: tags: - '[beta] A2A Agents' summary: Create Agent description: "Create a new agent\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/v1/agents\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"my-custom-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Hello World Agent\",\n \"description\": \"Just a hello world agent\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.0.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": [\n {\n \"id\": \"hello_world\",\n \"name\": \"Returns hello world\",\n \"description\": \"just returns hello world\",\n \"tags\": [\"hello world\"],\n \"examples\": [\"hi\", \"hello world\"]\n }\n ]\n },\n \"litellm_params\": {\n \"make_public\": true\n }\n }'\n```" operationId: create_agent_v1_agents_post security: - APIKeyHeader: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentConfig' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/agents/{agent_id}: get: tags: - '[beta] A2A Agents' summary: Get Agent By Id description: "Get a specific agent by ID\n\nExample Request:\n```bash\ncurl -X GET \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \"\n```" operationId: get_agent_by_id_v1_agents__agent_id__get security: - APIKeyHeader: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' put: tags: - '[beta] A2A Agents' summary: Update Agent description: "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PUT \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"updated-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Updated Agent\",\n \"description\": \"Updated description\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.1.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": []\n },\n \"litellm_params\": {\n \"make_public\": false\n }\n }'\n```" operationId: update_agent_v1_agents__agent_id__put security: - APIKeyHeader: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AgentConfig' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' patch: tags: - '[beta] A2A Agents' summary: Patch Agent description: "Update an existing agent\n\nExample Request:\n```bash\ncurl -X PATCH \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_name\": \"updated-agent\",\n \"agent_card_params\": {\n \"protocolVersion\": \"1.0\",\n \"name\": \"Updated Agent\",\n \"description\": \"Updated description\",\n \"url\": \"http://localhost:9999/\",\n \"version\": \"1.1.0\",\n \"defaultInputModes\": [\"text\"],\n \"defaultOutputModes\": [\"text\"],\n \"capabilities\": {\n \"streaming\": true\n },\n \"skills\": []\n },\n \"litellm_params\": {\n \"make_public\": false\n }\n }'\n```" operationId: patch_agent_v1_agents__agent_id__patch security: - APIKeyHeader: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PatchAgentRequest' responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/agents/{agent_id}/make_public: post: tags: - '[beta] A2A Agents' summary: Make Agent Public description: "Make an agent publicly discoverable\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/v1/agents/123e4567-e89b-12d3-a456-426614174000/make_public\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\"\n```\n\nExample Response:\n```json\n{\n \"agent_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"agent_name\": \"my-custom-agent\",\n \"litellm_params\": {\n \"make_public\": true\n },\n \"agent_card_params\": {...},\n \"created_at\": \"2025-11-15T10:30:00Z\",\n \"updated_at\": \"2025-11-15T10:35:00Z\",\n \"created_by\": \"user123\",\n \"updated_by\": \"user123\"\n}\n```" operationId: make_agent_public_v1_agents__agent_id__make_public_post security: - APIKeyHeader: [] parameters: - name: agent_id in: path required: true schema: type: string title: Agent Id responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentMakePublicResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' /v1/agents/make_public: post: tags: - '[beta] A2A Agents' summary: Make Agents Public description: "Make multiple agents publicly discoverable\n\nExample Request:\n```bash\ncurl -X POST \"http://localhost:4000/v1/agents/make_public\" \\\n -H \"Authorization: Bearer \" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"agent_ids\": [\"123e4567-e89b-12d3-a456-426614174000\", \"123e4567-e89b-12d3-a456-426614174001\"]\n }'\n```\n\nExample Response:\n```json\n{\n \"agent_id\": \"123e4567-e89b-12d3-a456-426614174000\",\n \"agent_name\": \"my-custom-agent\",\n \"litellm_params\": {\n \"make_public\": true\n },\n \"agent_card_params\": {...},\n \"created_at\": \"2025-11-15T10:30:00Z\",\n \"updated_at\": \"2025-11-15T10:35:00Z\",\n \"created_by\": \"user123\",\n \"updated_by\": \"user123\"\n}\n```" operationId: make_agents_public_v1_agents_make_public_post requestBody: content: application/json: schema: $ref: '#/components/schemas/MakeAgentsPublicRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AgentMakePublicResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyHeader: [] components: schemas: AgentExtension: properties: uri: type: string title: Uri description: anyOf: - type: string - type: 'null' title: Description required: anyOf: - type: boolean - type: 'null' title: Required params: anyOf: - additionalProperties: true type: object - type: 'null' title: Params type: object title: AgentExtension description: A declaration of a protocol extension supported by an Agent. MakeAgentsPublicRequest: properties: agent_ids: items: type: string type: array title: Agent Ids type: object required: - agent_ids title: MakeAgentsPublicRequest APIKeySecurityScheme: properties: description: anyOf: - type: string - type: 'null' title: Description type: type: string const: apiKey title: Type in_: type: string enum: - query - header - cookie title: In name: type: string title: Name type: object required: - type - in_ - name title: APIKeySecurityScheme description: Defines a security scheme using an API key. AgentInterface: properties: url: type: string title: Url transport: type: string title: Transport type: object title: AgentInterface description: Declares a combination of a target URL and a transport protocol. OAuthFlows: properties: authorizationCode: anyOf: - additionalProperties: true type: object - type: 'null' title: Authorizationcode clientCredentials: anyOf: - additionalProperties: true type: object - type: 'null' title: Clientcredentials implicit: anyOf: - additionalProperties: true type: object - type: 'null' title: Implicit password: anyOf: - additionalProperties: true type: object - type: 'null' title: Password type: object title: OAuthFlows description: Defines the configuration for the supported OAuth 2.0 flows. MutualTLSSecurityScheme: properties: description: anyOf: - type: string - type: 'null' title: Description type: type: string const: mutualTLS title: Type type: object required: - type title: MutualTLSSecurityScheme description: Defines a security scheme using mTLS authentication. AgentCard: properties: protocolVersion: type: string title: Protocolversion name: type: string title: Name description: type: string title: Description url: type: string title: Url version: type: string title: Version capabilities: $ref: '#/components/schemas/AgentCapabilities' defaultInputModes: items: type: string type: array title: Defaultinputmodes defaultOutputModes: items: type: string type: array title: Defaultoutputmodes skills: items: $ref: '#/components/schemas/AgentSkill' type: array title: Skills preferredTransport: anyOf: - type: string - type: 'null' title: Preferredtransport additionalInterfaces: anyOf: - items: $ref: '#/components/schemas/AgentInterface' type: array - type: 'null' title: Additionalinterfaces iconUrl: anyOf: - type: string - type: 'null' title: Iconurl provider: anyOf: - $ref: '#/components/schemas/AgentProvider' - type: 'null' documentationUrl: anyOf: - type: string - type: 'null' title: Documentationurl securitySchemes: anyOf: - additionalProperties: anyOf: - $ref: '#/components/schemas/APIKeySecurityScheme' - $ref: '#/components/schemas/HTTPAuthSecurityScheme' - $ref: '#/components/schemas/OAuth2SecurityScheme' - $ref: '#/components/schemas/OpenIdConnectSecurityScheme' - $ref: '#/components/schemas/MutualTLSSecurityScheme' type: object - type: 'null' title: Securityschemes security: anyOf: - items: additionalProperties: items: type: string type: array type: object type: array - type: 'null' title: Security supportsAuthenticatedExtendedCard: anyOf: - type: boolean - type: 'null' title: Supportsauthenticatedextendedcard signatures: anyOf: - items: $ref: '#/components/schemas/AgentCardSignature' type: array - type: 'null' title: Signatures type: object title: AgentCard description: 'The AgentCard is a self-describing manifest for an agent. It provides essential metadata including the agent''s identity, capabilities, skills, supported communication methods, and security requirements.' OpenIdConnectSecurityScheme: properties: description: anyOf: - type: string - type: 'null' title: Description type: type: string const: openIdConnect title: Type openIdConnectUrl: type: string title: Openidconnecturl type: object required: - type - openIdConnectUrl title: OpenIdConnectSecurityScheme description: Defines a security scheme using OpenID Connect. AgentProvider: properties: organization: type: string title: Organization url: type: string title: Url type: object title: AgentProvider description: Represents the service provider of an agent. AgentCardSignature: properties: protected: type: string title: Protected signature: type: string title: Signature header: anyOf: - additionalProperties: true type: object - type: 'null' title: Header type: object title: AgentCardSignature description: Represents a JWS signature of an AgentCard. ValidationError: properties: loc: items: anyOf: - type: string - type: integer type: array title: Location msg: type: string title: Message type: type: string title: Error Type input: title: Input ctx: type: object title: Context type: object required: - loc - msg - type title: ValidationError AgentMakePublicResponse: properties: message: type: string title: Message public_agent_groups: items: type: string type: array title: Public Agent Groups updated_by: type: string title: Updated By type: object required: - message - public_agent_groups - updated_by title: AgentMakePublicResponse PatchAgentRequest: properties: agent_name: type: string title: Agent Name agent_card_params: $ref: '#/components/schemas/AgentCard' litellm_params: additionalProperties: true type: object title: Litellm Params object_permission: $ref: '#/components/schemas/AgentObjectPermission' tpm_limit: anyOf: - type: integer - type: 'null' title: Tpm Limit rpm_limit: anyOf: - type: integer - type: 'null' title: Rpm Limit session_tpm_limit: anyOf: - type: integer - type: 'null' title: Session Tpm Limit session_rpm_limit: anyOf: - type: integer - type: 'null' title: Session Rpm Limit static_headers: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Static Headers extra_headers: anyOf: - items: type: string type: array - type: 'null' title: Extra Headers type: object title: PatchAgentRequest AgentKeySummary: properties: token: type: string title: Token key_alias: anyOf: - type: string - type: 'null' title: Key Alias key_name: anyOf: - type: string - type: 'null' title: Key Name type: object required: - token title: AgentKeySummary AgentSkill: properties: id: type: string title: Id name: type: string title: Name description: type: string title: Description tags: items: type: string type: array title: Tags examples: anyOf: - items: type: string type: array - type: 'null' title: Examples inputModes: anyOf: - items: type: string type: array - type: 'null' title: Inputmodes outputModes: anyOf: - items: type: string type: array - type: 'null' title: Outputmodes security: anyOf: - items: additionalProperties: items: type: string type: array type: object type: array - type: 'null' title: Security type: object title: AgentSkill description: Represents a distinct capability or function that an agent can perform. AgentResponse: properties: agent_id: type: string title: Agent Id agent_name: type: string title: Agent Name litellm_params: anyOf: - additionalProperties: true type: object - type: 'null' title: Litellm Params agent_card_params: additionalProperties: true type: object title: Agent Card Params object_permission: anyOf: - additionalProperties: true type: object - type: 'null' title: Object Permission spend: anyOf: - type: number - type: 'null' title: Spend tpm_limit: anyOf: - type: integer - type: 'null' title: Tpm Limit rpm_limit: anyOf: - type: integer - type: 'null' title: Rpm Limit session_tpm_limit: anyOf: - type: integer - type: 'null' title: Session Tpm Limit session_rpm_limit: anyOf: - type: integer - type: 'null' title: Session Rpm Limit static_headers: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Static Headers extra_headers: anyOf: - items: type: string type: array - type: 'null' title: Extra Headers keys: anyOf: - items: $ref: '#/components/schemas/AgentKeySummary' type: array - type: 'null' title: Keys created_at: anyOf: - type: string format: date-time - type: 'null' title: Created At updated_at: anyOf: - type: string format: date-time - type: 'null' title: Updated At created_by: anyOf: - type: string - type: 'null' title: Created By updated_by: anyOf: - type: string - type: 'null' title: Updated By type: object required: - agent_id - agent_name - agent_card_params title: AgentResponse HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError OAuth2SecurityScheme: properties: description: anyOf: - type: string - type: 'null' title: Description type: type: string const: oauth2 title: Type flows: $ref: '#/components/schemas/OAuthFlows' oauth2MetadataUrl: anyOf: - type: string - type: 'null' title: Oauth2Metadataurl type: object required: - type - flows title: OAuth2SecurityScheme description: Defines a security scheme using OAuth 2.0. AgentObjectPermission: properties: mcp_servers: anyOf: - items: type: string type: array - type: 'null' title: Mcp Servers mcp_access_groups: anyOf: - items: type: string type: array - type: 'null' title: Mcp Access Groups mcp_tool_permissions: anyOf: - additionalProperties: items: type: string type: array type: object - type: 'null' title: Mcp Tool Permissions models: anyOf: - items: type: string type: array - type: 'null' title: Models agents: anyOf: - items: type: string type: array - type: 'null' title: Agents type: object title: AgentObjectPermission HTTPAuthSecurityScheme: properties: description: anyOf: - type: string - type: 'null' title: Description type: type: string const: http title: Type scheme: type: string title: Scheme bearerFormat: anyOf: - type: string - type: 'null' title: Bearerformat type: object required: - type - scheme title: HTTPAuthSecurityScheme description: Defines a security scheme using HTTP authentication. AgentCapabilities: properties: streaming: anyOf: - type: boolean - type: 'null' title: Streaming pushNotifications: anyOf: - type: boolean - type: 'null' title: Pushnotifications stateTransitionHistory: anyOf: - type: boolean - type: 'null' title: Statetransitionhistory extensions: anyOf: - items: $ref: '#/components/schemas/AgentExtension' type: array - type: 'null' title: Extensions type: object title: AgentCapabilities description: Defines optional capabilities supported by an agent. AgentConfig: properties: agent_name: type: string title: Agent Name agent_card_params: $ref: '#/components/schemas/AgentCard' litellm_params: additionalProperties: true type: object title: Litellm Params object_permission: $ref: '#/components/schemas/AgentObjectPermission' tpm_limit: anyOf: - type: integer - type: 'null' title: Tpm Limit rpm_limit: anyOf: - type: integer - type: 'null' title: Rpm Limit session_tpm_limit: anyOf: - type: integer - type: 'null' title: Session Tpm Limit session_rpm_limit: anyOf: - type: integer - type: 'null' title: Session Rpm Limit static_headers: anyOf: - additionalProperties: type: string type: object - type: 'null' title: Static Headers extra_headers: anyOf: - items: type: string type: array - type: 'null' title: Extra Headers type: object required: - agent_name - agent_card_params title: AgentConfig securitySchemes: APIKeyHeader: type: apiKey description: Bearer token in: header name: x-litellm-api-key