Agent Card extension example for authority contract metadata

Open Beginner friendly
#1,909 8 comments 0 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from a2aproject/A2A

All issues in a2aproject/A2A

Similar issues

More Shell/Bash issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.