Official A2A Protocol v1.0 Specification

A2A v1.0 Agent Card Specification Explorer

The definitive interactive guide, schema blueprint, and live field matrix for constructing spec-compliant agent-card.json manifests in decentralized Agent-to-Agent (A2A) networks.

Critical Upgrade Guide

Key Breaking Changes from A2A v0.3 to v1.0

Existing agents authored before the v1.0 specification will fail strict schema validation until migrated. Review the 5 core structural differences below:

1. supportedInterfaces[]Replaced url

Top-level url & preferredTransport are removed. Agents now declare an ordered array of endpoints with explicit protocol bindings.

"supportedInterfaces": [ { "url": "https://api.agent.com/a2a", "protocolBinding": "JSONRPC", "protocolVersion": "1.0" } ]
2. defaultInput/OutputModesMandatory Arrays

Top-level MIME mode declarations are required on all v1.0 manifests so orchestrators know supported media types upfront without negotiating.

"defaultInputModes": ["application/json", "text/plain"], "defaultOutputModes": ["application/json"]
3. skills[].tags ArrayRequired on Every Skill

Every item inside skills[] must contain a non-empty string array of semantic tags for search vector indexing and agent discovery.

"skills": [ { "id": "search", "name": "Web Search", "tags": ["search", "web", "research"] } ]
4. Flexible Skill ModesNo Rigid Schemas

Rigid JSON Schema contracts on individual skills are replaced by skill-level inputModes, outputModes, and natural-language examples[].

"examples": ["Find flight options from SFO to JFK on Friday"]

What is the Specification Explorer?

An interactive, structured visual directory of every property defined in the official A2A Protocol v1.0 standard. Rather than parsing through dense specification markdown or raw JSON Schema definitions, developers can browse, search, and copy exact schemas, field types, requirement tiers, and working JSON snippets.

Includes Draft 2020-12 JSON Schema definitions

Why should you use it?

  • Master Breaking Changes: Understand the transition from v0.3 (single url) to v1.0 (supportedInterfaces[]).
  • Eliminate Verification Failures: Ensure all mandatory tags, MIME modes, and SemVer patterns pass automated registry checks.
  • Build Secure Integrations: Explore JWS cryptographic detached signatures and RFC 8785 canonicalization.
Standardizes agent interoperability across networks
Showing 12 of 12 fields
namestringREQUIRED

Human-readable, user-friendly name of the agent.

Example:"Currency Exchange Agent"
descriptionstringREQUIRED

Detailed summary of the agent’s capabilities, domain expertise, and operational boundaries.

Example:"Provides real-time forex rates and conversion calculations."
versionstring (SemVer)REQUIRED

Semantic Versioning 2.0 string (MAJOR.MINOR.PATCH).

Example:"1.0.0"
supportedInterfacesInterfaceDefinition[]REQUIRED

Ordered array of supported transport interfaces and endpoints. The first entry is treated as preferred.

v1.0 Spec Note:Replaces legacy single `url` and `preferredTransport` fields from v0.3.
Example:[{ "url": "https://api.example.com/a2a/v1", "protocolBinding": "JSONRPC", "protocolVersion": "1.0" }]
capabilitiesAgentCapabilitiesREQUIRED

Declared runtime capabilities (streaming, pushNotifications, extendedAgentCard) and extensions[].

v1.0 Spec Note:Relocates `supportsAuthenticatedExtendedCard` into `capabilities.extendedAgentCard`.
Example:{ "streaming": true, "pushNotifications": false, "extendedAgentCard": false }
defaultInputModesstring[] (MIME types)REQUIRED

MIME types accepted by default across agent skills (e.g. text/plain, application/json).

Example:["application/json", "text/plain"]
defaultOutputModesstring[] (MIME types)REQUIRED

MIME types returned by default across agent skills.

Example:["application/json"]
skillsAgentSkill[]REQUIRED

Array of discrete, invocable functional skills provided by the agent. Each skill requires tags[].

v1.0 Spec Note:inputSchema and outputSchema are removed in v1.0 in favor of inputModes/outputModes and examples[].
Example:[{ "id": "convert", "name": "Convert", "description": "Converts currency", "tags": ["forex"] }]
providerAgentProviderOPTIONAL

Organizational authorship metadata including organization name and official website URL.

Example:{ "organization": "Acme Corp", "url": "https://acme.com" }
package_namestring (Reverse-DNS)OPTIONAL

Global reverse-DNS unique namespace identifier (Registry Extension).

Example:"com.acme.forex.agent"
securitySchemesRecord<string, SecurityScheme>OPTIONAL

Map of authentication schemes (apiKey, http, oauth2, openIdConnect, mutualTls).

Example:{ "bearerAuth": { "type": "http", "scheme": "bearer" } }
signaturesJwsSignature[]OPTIONAL

RFC 7515 detached JWS signatures canonicalized with RFC 8785 JSON Canonicalization Scheme (JCS).

Example:[{ "protected": "eyJhbGci...", "signature": "dBjftJeZ4CVP..." }]