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

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 tasks
  • GET /tasks/{taskId} - Get task by ID
  • POST /tasks/{taskId}:cancel - Cancel task
  • POST /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.

See Also: