Skip to content

docs(spec): add HTTP base path deployment guidance - #2156

Open
madankumarpichamuthu wants to merge 2 commits into
a2aproject:mainfrom
madankumarpichamuthu:docs/2029-http-base-path
Open

docs(spec): add HTTP base path deployment guidance#2156
madankumarpichamuthu wants to merge 2 commits into
a2aproject:mainfrom
madankumarpichamuthu:docs/2029-http-base-path

Conversation

@madankumarpichamuthu

Copy link
Copy Markdown
Contributor

Description

Closes #2029.

The HTTP+JSON/REST binding (§11.3) defines only relative URL patterns (/message:send, /tasks/{id}, …) and leaves the base URL implementation-defined. This leaves framework authors and production deployments unsure whether to root A2A endpoints at the host root or under a dedicated prefix, especially where A2A endpoints coexist with business REST APIs, admin endpoints, and observability interfaces.

This adds a non-normative §11.3.5 Base Path subsection that:

  • States implementations MAY serve endpoints at the root or under a dedicated base path such as /a2a.
  • Lists the operational benefits (gateway/proxy routing, middleware attachment, rate limiting, observability partitioning).
  • Clarifies that a base path is an operational/routing convenience — not a security or identity boundary — and that declared transport security requirements apply regardless of prefix. (This addresses the "operational isolation, not a protocol-level security boundary" framing raised in the issue discussion.)
  • Notes that the advertised AgentInterface.url MUST include the base path when one is used.

No protocol change and no mandatory base path — documentation only.

Checklist

  • Follow the CONTRIBUTING Guide.
  • Conventional Commit title (docs(spec): for specification.md).
  • Linter passes.

Fixes #2029

@madankumarpichamuthu
madankumarpichamuthu requested a review from a team as a code owner August 19, 2026 21:50
Comment thread docs/specification.md Outdated
The HTTP+JSON/REST binding defines only relative URL patterns and leaves the
base URL implementation-defined, which left implementers unsure whether to
root A2A endpoints at the host root or under a dedicated prefix.

Add a non-normative Base Path subsection to section 11.3 noting that
implementations MAY serve endpoints under a dedicated prefix such as `/a2a`
to simplify routing, middleware attachment, rate limiting, and observability.
Clarify that a base path is an operational convenience, not a security or
identity boundary, and that the advertised AgentInterface url must include the
base path when one is used.

Fixes a2aproject#2029
Address review feedback: the host plus prefix is not an RFC 3986 base URI,
since resolving an operation path beginning with '/' against a base URI would
replace the prefix rather than preserve it. Reframe the section around a path
prefix that is concatenated with each operation path, add a note explaining the
RFC 3986 distinction, and require that a prefix MUST NOT end with '/' to avoid
'//' in the resulting path.

Fixes a2aproject#2029
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Docs]: Add deployment best practices for A2A HTTP base path (e.g. /a2a)

2 participants