Agent Card extension example for authority contract metadata
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 70/100
- Issue type
- Documentation
- Clarity
- Clearly specified
- Activity status
- Quiet
- Domain
- documentation
Research direction
The issue is about adding a non-normative example extension to the A2A specification. Look for the Agent Card extension documentation in the repository, likely in a docs or spec directory. The example JSON object provided in the issue should be integrated as an illustrative example. Check for existing extension examples to follow the same format and ensure the example is placed appropriately in the documentation.
Written by the indexing model from the issue text.
Description
Agent Card extension example for authority contract metadata
Context
A2A already provides an extension mechanism and Agent Cards as the discovery
surface for an agent's identity, capabilities, skills, endpoint, and
authentication requirements. The A2A spec also states that servers must
implement authorization checks for A2A protocol operations and scope results to
the caller's authorized access boundaries.
For production agents, it would be useful to make the agent's external
authorization requirements discoverable without embedding sensitive policy
details or credentials in the public Agent Card.
Proposal
Add a non-normative example extension for authority contract metadata. This
could be a data-only extension for discovery, and optionally a required
extension when the server expects clients to activate an authorization protocol
before sending tasks.
Example Agent Card extension object:
{
"uri": "https://agentid.dev/extensions/authority-contract/v1",
"description": "Declares where clients and gateways can discover the agent's authority contract and delegated-task receipt requirements.",
"required": false,
"params": {
"authority_manifest_uri": "https://agent.example.com/.well-known/agentid.json",
"authorization_contract_uri": "https://agent.example.com/.well-known/agentid-provider-contract.json",
"receipt_required_for": ["write", "admin", "execute", "financial"],
"receipt_transport": "message.metadata.agentid_receipt",
"attestation_uri": "https://agent.example.com/.well-known/vcs.json"
}
}
Why this helps
This keeps identity/capability discovery separate from runtime authorization
while giving clients and gateways a standard place to find authority metadata.
It also supports common enterprise checks:
- Which actions require approval or just-in-time authority?
- Which delegated tasks require a scoped receipt?
- Where can a verifier fetch the authority contract?
- Where can a verifier fetch identity or security attestations?
- How should an authorization receipt be carried in an A2A request?
Non-goals
- Do not define a new identity system.
- Do not replace A2A authentication or authorization.
- Do not require public Agent Cards to expose sensitive policy internals.
- Do not require AgentID specifically; AgentID can be one implementation of the
authority contract URI.
Related implementation
I have been working on AgentID, which uses a manifest to express action-level
authority: tool, action, resource, job, user, approval, JIT grant, data flow,
delegation, audit, and kill-switch behavior.
The extension above would let A2A clients discover that such a contract exists
and where to retrieve it, without changing the core A2A task model.
Reference: https://github.com/dinpd/AgentID/blob/main/docs/standards-alignment.md
- Dominant language
- Shell
- Stars
- 25.9k
- Forks
- 2.6k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 11
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from a2aproject/A2A
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
a2aproject/A2A#2235 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
a2aproject/A2A#2231 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
a2aproject/A2A#2228 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
a2aproject/A2A#2221 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 80/100
a2aproject/A2A#2212 · 1 reaction ·
Similar issues
-
docs(agents): strengthen the no-backslash-escaped-backticks rule with an issue-creation example Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
-
package-update
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
oSoWoSo/vOid_Community_repOsitory#148 · 1 comment ·
-
chore
Difficulty 1/5 Under an hour Newbie friendliness 91/100
alunduil/alunduil-chezmoi#792 ·
-
area: compat bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
-
zenhub-dev
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
OpenLiberty/ci.docker#747 ·