Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/university-of-amsterdam-beta-a2a-agents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
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 <your_api_key>\" \\\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 <your_api_key>\"\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 <your_api_key>\" \\\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 <your_api_key>\" \\\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 <your_api_key>\" \\\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 <your_api_key>\" \\\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