Package org.a2aproject.sdk.server.rest.quarkus
@NullMarked
package org.a2aproject.sdk.server.rest.quarkus
Quarkus REST reference implementation for the A2A protocol.
This package provides a ready-to-use Quarkus-based REST transport implementation that maps HTTP endpoints to A2A protocol operations. It serves as both a reference implementation and a production-ready solution for deploying A2A agents over HTTP/REST.
Key Components
A2AServerRoutes- Vert.x Web Router route definitions mapping HTTP paths to A2A operationsCallContextFactory- Extensible factory for creatingServerCallContextQuarkusRestTransportMetadata- Transport protocol metadata implementation
Architecture
HTTP Request (Quarkus/Vert.x)
↓
A2AServerRoutes (Vert.x Web Router)
↓
RestHandler (transport/rest)
↓
RequestHandler (server-common)
↓
AgentExecutor (user implementation)
Supported Endpoints
POST /message:send- Send message (blocking)POST /message:stream- Send message (streaming SSE)GET /tasks- List tasksGET /tasks/{taskId}- Get task by IDPOST /tasks/{taskId}:cancel- Cancel taskPOST /tasks/{taskId}:subscribe- Subscribe to task updates (SSE)GET /.well-known/agent-card.json- Get agent card
Multi-tenancy Support
All endpoints support optional tenant prefixes in the URL path:
/message:send- Default tenant (empty string)/tenant-123/message:send- Tenant "tenant-123"
Usage
Add this module as a dependency to your Quarkus project:
<dependency>
<groupId>org.a2aproject.sdk</groupId>
<artifactId>a2a-java-sdk-reference-rest</artifactId>
<version>${a2a.version}</version>
</dependency>
Provide CDI beans for AgentCard and
AgentExecutor, and the REST endpoints
will be automatically registered.
-
ClassDescriptionVert.x Web Router routes for A2A protocol REST endpoints.Factory interface for creating
ServerCallContextfrom Vert.x routing context.Transport metadata implementation for Quarkus REST.