Extensions
Extensions let teams add domain-specific capabilities without forking the A2A core model.
What extensions are for
- Data-only metadata enrichment
- Profile constraints on message shape or workflow
- Additional RPC methods (extended skills)
- Extra task-state semantics for specialized domains
Guardrails
To keep interoperability intact, extensions should not:
- mutate core schema contracts,
- redefine core enums,
- bypass core authentication and authorization controls.
Use metadata and explicit extension schemas instead.
Declaration and activation
- Agents declare supported extensions in AgentCard capabilities.
- Clients request activation per call, usually via
A2A-Extensions. - Agents echo activated extension URIs in the response context.
Example request header:
A2A-Extensions: https://example.com/ext/konami-code/v1Required extensions
If an extension is marked required: true, client requests must comply with that extension’s contract, or the server should reject the request.
Implementation advice
- Put version in extension URI.
- Use a new URI for breaking changes.
- Publish extension specs at stable URLs.
- Validate extension payloads as strictly as core protocol data.