A2A Key Concepts and Components
A2A Key Concepts and Components
A2A uses a set of core concepts to define how agents interact. Understanding these building blocks is essential when developing or integrating A2A-compatible systems.

Core actors in an A2A interaction
User: The end user, either a human operator or an automated service. The user initiates requests or defines goals that one or more AI agents help achieve.
A2A client (client agent): An application, service, or another AI agent acting on behalf of the user. The client initiates communication using the A2A protocol.
A2A server (remote agent): An AI agent or agent system that implements the A2A HTTP endpoints. It receives requests from the client, processes tasks, and returns results or status updates. From the client’s perspective, a remote agent is an opaque (black-box) system—its internal logic, memory, or tools are not exposed.
Fundamental communication elements
The following table describes the fundamental communication elements in A2A:
| Element | Description | Key purpose |
|---|---|---|
| AgentCard | A JSON metadata document describing an agent’s identity, capabilities, endpoints, skills, and authentication requirements. | Enables clients to discover agents and learn how to interact with them securely and effectively. |
| Task | A stateful unit of work initiated by an agent, with a unique ID and a defined lifecycle. | Enables tracking of long-running operations and supports multi-turn interactions and collaboration. |
| Message | A single-turn communication between a client and an agent, containing content and a role (“user” or “agent”). | Conveys instructions, context, questions, answers, or status updates that may not be formal artifacts. |
| Part | A basic content container used within messages and artifacts (e.g., TextPart, FilePart, DataPart). | Provides flexibility for agents to exchange multiple content types in messages and artifacts. |
| Artifact | A tangible output produced by an agent during a task (e.g., documents, images, structured data). | Represents concrete deliverables and enables structured, retrievable outputs. |
Interaction mechanisms
The A2A protocol supports multiple interaction modes to meet different responsiveness and persistence needs:
Request/response (polling): The client sends a request and the server responds. For long-running tasks, the client polls the server for updates.
Streaming via Server-Sent Events (SSE): The client opens a stream to receive real-time, incremental results or status updates over an HTTP connection.
Push notifications: For very long-running tasks or disconnected scenarios, the server can send asynchronous notifications to a client-provided webhook when important updates occur.
For more detail, see Streaming and Async.
AgentCard
An AgentCard is a JSON document that acts as a digital business card for discovery and interaction setup. Clients parse it to determine whether the agent is suitable for a task, how to construct requests, and how to communicate securely. Key information includes identity, service endpoint (URL), A2A capabilities, authentication requirements, and a list of skills.
Messages and Parts
A message represents a single-turn communication between a client and an agent. It includes a role (“user” or “agent”) and a unique messageId. It contains one or more Part objects, which carry the actual content. This design makes A2A modality-agnostic.
Common part types include:
TextPart: Plain text content.FilePart: A file, transferred inline (Base64) or via URI, with metadata such asfilenameandmimeType.DataPart: Structured JSON data, useful for forms, parameters, or other machine-readable information.
Artifacts
An artifact is a tangible output produced by a remote agent during task processing. Unlike general messages, artifacts are deliverables. Artifacts have a unique artifactId, a human-readable name, and are composed of one or more parts. Artifacts are closely tied to the task lifecycle and can be streamed incrementally to the client.
Agent responses: Task or Message
An agent response can be either a new Task (for long-running operations) or a Message (for immediate responses).
For details, see Life of a Task.
Other important concepts
Context (
contextId): A server-generated identifier used to logically group relatedTaskobjects, providing continuity across a series of interactions.Transport and format: A2A communication happens over HTTP(S). JSON-RPC 2.0 is used as the payload format for all requests and responses.
Authentication and authorization: A2A relies on standard web security practices. Authentication requirements are declared in the AgentCard, and credentials (e.g., OAuth tokens, API keys) are typically passed in HTTP headers, separate from the A2A message itself. For more, see Enterprise-ready Features.
Agent discovery: The process by which clients locate an AgentCard to learn which A2A servers exist and what they can do. For more, see Agent Discovery.
Extensions: Agents can declare custom protocol extensions in their AgentCard. For more, see Extensions.