{"id":6315,"date":"2026-09-11T05:16:42","date_gmt":"2026-09-11T05:16:42","guid":{"rendered":"https:\/\/aigrowthagent.co\/articles\/a2a-agent-card-examples\/"},"modified":"2026-09-11T05:16:42","modified_gmt":"2026-09-11T05:16:42","slug":"a2a-agent-card-examples","status":"publish","type":"post","link":"https:\/\/aigrowthagent.co\/articles\/a2a-agent-card-examples\/","title":{"rendered":"A2A Agent Card JSON Examples: Core Fields Explained"},"content":{"rendered":"<p><em>Written by: Mariana Fonseca, Editorial Team, AI Growth Agent<\/em><\/p>\n<h2 id=\"key-takeaways\">Key Takeaways<\/h2>\n<ul>\n<li>An agent card is a JSON metadata document defined by the A2A protocol. It acts as a machine-readable business card for AI agents and lives at <code>\/.well-known\/agent-card.json<\/code>.<\/li>\n<li>Three practical card types exist in real deployments: A2A protocol cards for machine-to-machine discovery, marketplace and UI cards for human browsing, and enterprise directory cards for internal governance and compliance.<\/li>\n<li>A2A v1.0 standardized fields such as <code>supportedInterfaces<\/code>, made <code>tags<\/code> required on every skill, and consolidated transport options so different orchestrators discover agents in a consistent way.<\/li>\n<li>Skills blocks inside agent cards describe capabilities at a granular level. Peer agents read these blocks to decide delegation, including input and output modes, examples, and required tags.<\/li>\n<li>AI Growth Agent helps brands control their narrative across AI search surfaces. See how it works in a focused 20-minute walkthrough.<\/li>\n<\/ul>\n<h2>1. A2A Agent Card JSON Example With Core Fields Explained<\/h2>\n<p><a href=\"https:\/\/webspecification.com\/spec\/agent-readiness\/a2a-agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">A2A v1.0, which reached stable release in 2026 under Linux Foundation governance<\/a>, <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">consolidated the transport fields from earlier drafts into a single <code>supportedInterfaces<\/code> array and made <code>tags<\/code> required on every skill<\/a>. The card below shows a complete, valid A2A v1.0 Agent Card for a contract-review agent. It includes the minimum viable field set for a working agent: identity, one interface, capability flags, and two skills that a calling agent can evaluate before delegating work.<\/p>\n<pre><code>{ \"name\": \"ContractReviewAgent\", \"description\": \"Reviews commercial contracts for risk clauses, missing terms, and compliance gaps. Accepts PDF and plain-text input. Returns structured JSON findings and a plain-language summary.\", \"version\": \"2.1.0\", \"provider\": { \"organization\": \"Acme Legal\", \"url\": \"https:\/\/acmelegal.example.com\" }, \"supportedInterfaces\": [ { \"url\": \"https:\/\/agents.acmelegal.example.com\/a2a\/v1\", \"protocolBinding\": \"JSONRPC\", \"protocolVersion\": \"1.0\" } ], \"capabilities\": { \"streaming\": false, \"pushNotifications\": false, \"extendedAgentCard\": false }, \"defaultInputModes\": [\"text\/plain\", \"application\/pdf\"], \"defaultOutputModes\": [\"application\/json\", \"text\/plain\"], \"securitySchemes\": { \"bearerAuth\": { \"type\": \"http\", \"scheme\": \"bearer\" } }, \"security\": [{ \"bearerAuth\": [] }], \"skills\": [ { \"id\": \"review-msa\", \"name\": \"Master Service Agreement Review\", \"description\": \"Identifies non-standard liability caps, indemnification clauses, and missing SLA terms in an MSA. Returns a JSON findings object and a plain-language summary.\", \"tags\": [\"contracts\", \"msa\", \"legal-review\", \"compliance\"], \"examples\": [ \"Review the attached MSA for liability exposure.\", \"Flag any indemnification clauses that deviate from our standard template.\" ] }, { \"id\": \"review-nda\", \"name\": \"NDA Review\", \"description\": \"Checks mutual and one-way NDAs for scope, duration, and carve-out completeness. Returns structured findings.\", \"tags\": [\"nda\", \"confidentiality\", \"legal-review\"], \"examples\": [ \"Does this NDA cover residual knowledge?\", \"Is the non-compete scope enforceable in California?\" ] } ] }<\/code><\/pre>\n<p><strong>Field-by-Field Breakdown of the Core Card:<\/strong><\/p>\n<ul>\n<li><strong>name:<\/strong> <a href=\"https:\/\/a2a-protocol.org\" target=\"_blank\" rel=\"noindex nofollow\">A human-readable agent identifier, required<\/a>. Use a stable, descriptive string. Calling agents and orchestrators display this name in logs and routing decisions.<\/li>\n<li><strong>description:<\/strong> <a href=\"https:\/\/techcommunity.microsoft.com\/blog\/azure-ai-foundry-blog\/enabling-a2a-endpoint-and-agent-card-for-a-hosted-agent\/4546979\" target=\"_blank\" rel=\"noindex nofollow\">Write this for routing, not marketing<\/a>. State what the agent accepts, what it returns, and when another agent should choose it. Peer agents rely on this field to decide whether to delegate.<\/li>\n<li><strong>version:<\/strong> <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">The agent\u2019s build version, not the protocol version<\/a>. Increment this when skills, authentication, or the endpoint URL changes. Protocol version lives inside each <code>supportedInterfaces<\/code> entry.<\/li>\n<li><strong>provider:<\/strong> Optional. <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">In A2A v1.0, the field is <code>provider.organization<\/code>, not <code>provider.name<\/code><\/a>. This rename from pre-1.0 drafts breaks older cards.<\/li>\n<li><strong>supportedInterfaces:<\/strong> <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">Replaces the pre-1.0 top-level <code>url<\/code> and <code>preferredTransport<\/code> fields<\/a>. This field is an ordered array where the first entry is the preferred interface. <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">Every entry must include <code>url<\/code>, <code>protocolBinding<\/code>, and <code>protocolVersion<\/code>. A partially specified entry is an error<\/a>.<\/li>\n<li><strong>capabilities:<\/strong> <a href=\"https:\/\/webspecification.com\/spec\/agent-readiness\/a2a-agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">Treat these flags as a contract<\/a>. <a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">A client that reads <code>streaming: true<\/code> and calls a streaming method that does not exist receives an <code>UnsupportedOperationError<\/code><\/a>. Leave every flag you cannot honor at <code>false<\/code>.<\/li>\n<li><strong>defaultInputModes \/ defaultOutputModes:<\/strong> <a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">Required arrays of MIME type strings<\/a>. <a href=\"https:\/\/agentpatterns.ai\/standards\/agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">Individual skills can override these with their own <code>inputModes<\/code> and <code>outputModes<\/code><\/a>.<\/li>\n<li><strong>securitySchemes \/ security:<\/strong> Optional but recommended for any non-public endpoint. <a href=\"https:\/\/agentcard.net\/agent-card-validator\" target=\"_blank\" rel=\"noindex nofollow\">Declare the scheme here and keep credentials out of the card<\/a>.<\/li>\n<li><strong>skills:<\/strong> <a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">Required, non-empty array<\/a>. <a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">Each skill needs <code>id<\/code>, <code>name<\/code>, <code>description<\/code>, and <code>tags<\/code><\/a>. Section 3 covers the skills block in more detail.<\/li>\n<\/ul>\n<h2>2. A2A Agent Card Example With Streaming and Push Notifications<\/h2>\n<p>The first example covers a synchronous agent, which works until a task takes minutes instead of seconds. <a href=\"https:\/\/eco.com\/support\/en\/articles\/14845481-a2a-agent-to-agent-protocol-explained\" target=\"_blank\" rel=\"noindex nofollow\">A2A supports three interaction patterns discoverable from the Agent Card: synchronous request and response, streaming via Server-Sent Events, and asynchronous push notifications via callback URLs<\/a>. The card below enables both streaming and push notifications for a data-pipeline agent that runs long jobs.<\/p>\n<pre><code>{ \"name\": \"PipelineOrchestrationAgent\", \"description\": \"Orchestrates multi-step data transformation pipelines. Accepts structured JSON job definitions. Streams progress events and delivers a final artifact to a client-provided webhook when the pipeline completes. Typical latency: 30 seconds to 10 minutes depending on dataset size.\", \"version\": \"1.4.0\", \"provider\": { \"organization\": \"DataOps Inc.\", \"url\": \"https:\/\/dataops.example.com\" }, \"supportedInterfaces\": [ { \"url\": \"https:\/\/agents.dataops.example.com\/a2a\/v1\", \"protocolBinding\": \"JSONRPC\", \"protocolVersion\": \"1.0\" }, { \"url\": \"https:\/\/agents.dataops.example.com\/a2a\/http\", \"protocolBinding\": \"HTTP+JSON\", \"protocolVersion\": \"1.0\" } ], \"capabilities\": { \"streaming\": true, \"pushNotifications\": true, \"extendedAgentCard\": false }, \"defaultInputModes\": [\"application\/json\"], \"defaultOutputModes\": [\"application\/json\", \"text\/plain\"], \"securitySchemes\": { \"oauth2\": { \"type\": \"oauth2\", \"flows\": { \"clientCredentials\": { \"tokenUrl\": \"https:\/\/auth.dataops.example.com\/oauth\/token\", \"scopes\": { \"pipelines:run\": \"Submit and monitor pipeline jobs\", \"pipelines:read\": \"Read pipeline status and artifacts\" } } } } }, \"security\": [{ \"oauth2\": [\"pipelines:run\"] }], \"skills\": [ { \"id\": \"run-etl-pipeline\", \"name\": \"Run ETL Pipeline\", \"description\": \"Executes a defined ETL job against a source dataset. Streams step-level progress events. Delivers a completion artifact to the caller's webhook URL when finished.\", \"tags\": [\"etl\", \"pipeline\", \"data-transformation\", \"streaming\"], \"examples\": [ \"Run the nightly sales aggregation pipeline for Q3.\", \"Transform the raw clickstream export into the analytics schema.\" ] } ] }<\/code><\/pre>\n<p><strong>How the Capabilities Object Changes in This Card:<\/strong><\/p>\n<ul>\n<li><strong>streaming: true<\/strong> <a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">signals that the agent supports <code>SendStreamingMessage<\/code> and <code>SubscribeToTask<\/code><\/a>. As noted in Section 1, a client that calls a streaming operation without this flag set to <code>true<\/code> receives an <code>UnsupportedOperationError<\/code>.<\/li>\n<li><strong>pushNotifications: true<\/strong> signals that the agent delivers results to a client-provided callback URL. This configuration suits tasks that run for minutes or longer when polling would waste resources.<\/li>\n<li><strong>Two entries in supportedInterfaces:<\/strong> <a href=\"https:\/\/webspecification.com\/spec\/agent-readiness\/a2a-agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">A single card can advertise JSON-RPC, gRPC, and HTTP+JSON endpoints in priority order<\/a>. Calling agents iterate through the array and select the binding they support.<\/li>\n<li><strong>OAuth 2.0 client credentials flow:<\/strong> This flow fits backend agent-to-agent workflows where no end user participates. <a href=\"https:\/\/agentfix.pro\/blog\/a2a-agent-card-explained\" target=\"_blank\" rel=\"noindex nofollow\">Listing multiple schemes without a clear preference causes silent failures at task-dispatch time<\/a>. Choose the scheme that matches your deployment and declare it clearly.<\/li>\n<\/ul>\n<h2>3. Agent Card Skills Examples and Field Details<\/h2>\n<p><a href=\"https:\/\/agentfix.pro\/blog\/a2a-agent-card-explained\" target=\"_blank\" rel=\"noindex nofollow\">Each skill in the <code>skills<\/code> array is the field a peer agent reads to decide whether to delegate a task<\/a>. The skill block carries the most precise capability description. The array below shows two skills with full field coverage that you can adapt into your own cards.<\/p>\n<pre><code>\"skills\": [ { \"id\": \"generate-sql-query\", \"name\": \"SQL Query Generation\", \"description\": \"Converts a plain-language business question into a validated SQL SELECT statement for a specified database schema. Accepts a natural-language question and a JSON schema descriptor. Returns a SQL string and an explanation of the query logic. Does not execute queries or modify data.\", \"tags\": [\"sql\", \"query-generation\", \"natural-language\", \"analytics\"], \"inputModes\": [\"text\/plain\", \"application\/json\"], \"outputModes\": [\"text\/plain\", \"application\/json\"], \"examples\": [ \"How many orders were placed in the last 30 days by customers in California?\", \"Show me the top 10 products by revenue for Q2 2026.\" ] }, { \"id\": \"explain-query-results\", \"name\": \"Query Results Explanation\", \"description\": \"Takes a SQL result set in JSON format and produces a plain-language executive summary with key findings, anomalies, and recommended follow-up questions. Suitable for non-technical stakeholders.\", \"tags\": [\"sql\", \"data-interpretation\", \"summary\", \"analytics\"], \"inputModes\": [\"application\/json\"], \"outputModes\": [\"text\/plain\", \"text\/markdown\"], \"examples\": [ \"Summarize these sales results for the CMO.\", \"What are the three most important takeaways from this dataset?\" ] } ]<\/code><\/pre>\n<p><strong>Field-by-Field Breakdown of Skills:<\/strong><\/p>\n<ul>\n<li><strong>id:<\/strong> <a href=\"https:\/\/webspecification.com\/spec\/agent-readiness\/a2a-agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">Treat changes to <code>skills[].id<\/code> as breaking<\/a>. This value is the stable machine key that a calling agent stores and references. Use lowercase kebab-case strings.<\/li>\n<li><strong>name:<\/strong> A human-readable label that appears in logs, directories, and orchestrator UIs.<\/li>\n<li><strong>description:<\/strong> <a href=\"https:\/\/autolearningagents.com\/a2a-protocol\/agent-cards.php\" target=\"_blank\" rel=\"noindex nofollow\">Write this for LLMs<\/a>. Include what the skill accepts, what it returns, typical latency, and any hard limitations. A vague description leads to poor delegation decisions by calling agents.<\/li>\n<li><strong>tags:<\/strong> <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">Required in A2A v1.0<\/a>. <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">Earlier drafts treated tags as optional and many cards omitted them<\/a>. Tags let a calling agent filter skills without parsing descriptions. A client searching for <code>analytics<\/code> matches a skill tagged <code>analytics<\/code> directly.<\/li>\n<li><strong>inputModes \/ outputModes:<\/strong> Per-skill overrides for the card-level defaults. Use these when a skill accepts a different modality than the agent\u2019s default, such as a JSON-only skill on an agent whose default input is <code>text\/plain<\/code>.<\/li>\n<li><strong>examples:<\/strong> Example prompts help a calling agent decide which skill to invoke. Orchestrators can embed these examples directly into system prompts to give context about available capabilities.<\/li>\n<\/ul>\n<p>Traditional search tools show you where your brand stands. AI Growth Agent makes your brand the answer. <a href=\"https:\/\/aigrowthagent.co\/book-a-demo\/\" target=\"_blank\">Book a kickoff and see your first article live within a week.<\/a><\/p>\n<h2>4. Agent Card Examples for Marketplace and UI Cards<\/h2>\n<p>Marketplace and UI agent cards present the same underlying agent in a human-friendly layout. They appear as rendered components in an agent directory for people browsing a catalog. <a href=\"https:\/\/deepwiki.com\/agentregistry-dev\/agentregistry\/6.3-skill-and-agent-management-ui\" target=\"_blank\" rel=\"noindex nofollow\">The agentregistry-dev admin UI implements two distinct human-readable card components, <code>AgentCard<\/code> and <code>SkillCard<\/code>, that render registry resources in list views instead of exposing protocol-level discovery fields<\/a>.<\/p>\n<p>The anatomy of a marketplace agent card typically includes the following elements:<\/p>\n<ul>\n<li><strong>Name and icon:<\/strong> The agent\u2019s display name and a distinguishing icon. <a href=\"https:\/\/deepwiki.com\/agentregistry-dev\/agentregistry\/6.3-skill-and-agent-management-ui\" target=\"_blank\" rel=\"noindex nofollow\">The agentregistry-dev <code>AgentCard<\/code> uses a <code>Bot<\/code> icon to distinguish agents from skills at a glance<\/a>.<\/li>\n<li><strong>Status badge:<\/strong> Operational state such as deployed, staging, or failed. <a href=\"https:\/\/deepwiki.com\/agentregistry-dev\/agentregistry\/6.3-skill-and-agent-management-ui\" target=\"_blank\" rel=\"noindex nofollow\">The agentregistry-dev <code>DeployedPage<\/code> color-codes resources by runtime state<\/a>.<\/li>\n<li><strong>Description:<\/strong> A one-to-two sentence plain-language summary of what the agent does, written for a non-technical user.<\/li>\n<li><strong>Capability tags:<\/strong> Human-readable labels such as \u201cStreaming,\u201d \u201cPDF input,\u201d or \u201cOAuth 2.0\u201d that surface protocol capabilities in a scannable format.<\/li>\n<li><strong>Version indicator:<\/strong> The current version and, where relevant, a version-count badge that shows how many versions exist.<\/li>\n<li><strong>Owner and team:<\/strong> The accountable team or individual, which is critical for governance in enterprise directories.<\/li>\n<li><strong>Primary action:<\/strong> A single prominent button. <a href=\"https:\/\/deepwiki.com\/agentregistry-dev\/agentregistry\/6.3-skill-and-agent-management-ui\" target=\"_blank\" rel=\"noindex nofollow\">The agentregistry-dev <code>AgentCard<\/code> renders a Deploy action that is only enabled when a valid container image exists<\/a>. This pattern shows how UI cards embed operational actions instead of A2A protocol fields.<\/li>\n<\/ul>\n<p>Rendered as a UI card, the same ContractReviewAgent loses machine-readable detail and gains human-facing context. Compare this layout to the JSON in Section 1 and you can see protocol fields replaced by status, owner, and deployment actions.<\/p>\n<pre><code>\u250c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2510 \u2502 \ud83e\udd16 ContractReviewAgent [\u25cf Deployed] v2.1.0 \u2502 \u2502 Owner: Acme Legal \u00b7 Legal Team \u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502 Reviews commercial contracts for risk clauses, \u2502 \u2502 missing terms, and compliance gaps. Accepts PDF \u2502 \u2502 and plain-text input. \u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502 Tags: contracts \u00b7 msa \u00b7 nda \u00b7 legal-review \u2502 \u2502 Input: PDF, text\/plain Output: JSON, text\/plain \u2502 \u2502 Auth: Bearer token Protocol: A2A JSONRPC 1.0 \u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502 Skills: MSA Review \u00b7 NDA Review \u2502 \u2502\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2502 \u2502 [ View Details ] [ Deploy ] \u2502 \u2514\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2518<\/code><\/pre>\n<p>The key structural difference appears clearly in Microsoft\u2019s design guidance. <a href=\"https:\/\/learn.microsoft.com\/en-us\/agents\/design-guidelines\/adaptive-cards-for-agent-design\" target=\"_blank\" rel=\"noindex nofollow\">Microsoft\u2019s Adaptive Cards for agent design treat cards as the human-facing UI layer of agent interaction<\/a>. They use a JSON format that renders as native UI, adapting to light and dark mode, screen size, and Microsoft 365 surfaces. That design makes Adaptive Cards structurally distinct from the machine-facing A2A protocol Agent Card JSON. A marketplace card helps a person decide whether to deploy an agent. An A2A protocol card helps another agent decide whether to call one.<\/p>\n<h2>5. Agent Card Examples for Enterprise Agent Directories<\/h2>\n<p><a href=\"https:\/\/wavect.io\/blog\/internal-ai-agent-marketplace\" target=\"_blank\" rel=\"noindex nofollow\">Gartner forecasts that an average global Fortune 500 company could use more than 150,000 agents by 2028, while only 13 percent of surveyed organizations believe they have the right governance in place<\/a>. The enterprise agent directory card pattern addresses this gap by capturing operational and governance metadata that neither the A2A protocol card nor the marketplace card covers.<\/p>\n<p>An enterprise directory card functions as an operational contract for internal teams. <a href=\"https:\/\/wavect.io\/blog\/internal-ai-agent-marketplace\" target=\"_blank\" rel=\"noindex nofollow\">Every agent marketplace listing should contain fields such as job and boundary, owner and sponsor, inputs and data sources, actions and permissions, evaluation status, cost and service level, version and change log, and a feedback and incident link<\/a>. These fields give risk, legal, and operations teams a shared view of how each agent behaves.<\/p>\n<p>The JSON below shows a complete enterprise directory card example:<\/p>\n<pre><code>{ \"agentId\": \"urn:agent:acmelegal:contract-review:prod\", \"displayName\": \"ContractReviewAgent\", \"owner\": { \"team\": \"Legal Technology\", \"primaryContact\": \"legal-tech@acmelegal.example.com\", \"sponsor\": \"VP Legal Operations\" }, \"environment\": \"production\", \"version\": \"2.1.0\", \"deployedAt\": \"2026-08-15T09:00:00Z\", \"lastReviewedAt\": \"2026-09-01T00:00:00Z\", \"approvalStatus\": \"approved\", \"dataAccessScope\": [ \"contracts-repository:read\", \"legal-templates:read\" ], \"dataClassification\": \"confidential\", \"capabilities\": [ \"MSA review\", \"NDA review\", \"Compliance gap analysis\" ], \"notClearedFor\": [ \"Executing contract modifications\", \"Accessing HR or payroll data\", \"External network calls beyond approved endpoints\" ], \"authenticationRequired\": true, \"authScheme\": \"bearer\", \"a2aCardPath\": \"https:\/\/agents.acmelegal.example.com\/.well-known\/agent-card.json\", \"incidentContact\": \"legal-tech-oncall@acmelegal.example.com\", \"costCenter\": \"CC-4421\", \"estimatedCostPerTask\": \"$0.08\u2013$0.45 depending on document length\", \"sla\": \"P95 response within 90 seconds for documents under 50 pages\", \"changeLog\": [ { \"version\": \"2.1.0\", \"date\": \"2026-08-15\", \"summary\": \"Added NDA review skill. Updated bearer token scope.\" }, { \"version\": \"2.0.0\", \"date\": \"2026-06-01\", \"summary\": \"Migrated to A2A v1.0. Replaced top-level url with supportedInterfaces.\" } ] }<\/code><\/pre>\n<p><strong>Why This Pattern Matters for Governance:<\/strong><\/p>\n<ul>\n<li><strong>owner and sponsor:<\/strong> <a href=\"https:\/\/cyberhaven.com\/infosec-essentials\/ai-agent-inventory\" target=\"_blank\" rel=\"noindex nofollow\">Orphaned agents, whose creator accounts have been disabled, can continue running with inherited credentials and may not be flagged for review<\/a>. A named human sponsor and team close this accountability gap.<\/li>\n<li><strong>dataAccessScope and notClearedFor:<\/strong> <a href=\"https:\/\/agentry.com\/blog\/enterprise-private-registries\" target=\"_blank\" rel=\"noindex nofollow\">EU AI Act enforcement began in August 2026, with penalties up to \u20ac35 million or 7% of global annual revenue<\/a>. The Act requires organizations to maintain inventories of AI systems and demonstrate oversight. Explicit capability boundaries support that demonstration.<\/li>\n<li><strong>approvalStatus:<\/strong> <a href=\"https:\/\/aws.amazon.com\/blogs\/machine-learning\/manage-agents-tools-and-skills-at-scale-with-aws-agent-registry\" target=\"_blank\" rel=\"noindex nofollow\">AWS Agent Registry records progress through a governed lifecycle of DRAFT, PENDING_APPROVAL, APPROVED, REJECTED, and DEPRECATED<\/a>. Mirroring this in your internal card keeps the directory aligned with external registry state.<\/li>\n<li><strong>a2aCardPath:<\/strong> This field links the governance record to the machine-readable A2A protocol card so the directory entry and the protocol artifact stay synchronized.<\/li>\n<\/ul>\n<p>Stop letting AI define your brand at random. Control the narrative across online search. <a href=\"https:\/\/aigrowthagent.co\/book-a-demo\/\" target=\"_blank\">Book a kickoff with AI Growth Agent.<\/a><\/p>\n<h2>Where the Agent Card Lives<\/h2>\n<p><a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">The A2A protocol registers <code>\/.well-known\/agent-card.json<\/code> as the standard RFC 8615 discovery path<\/a>. <a href=\"https:\/\/mastra.ai\/blog\/what-is-agent-to-agent-protocol\" target=\"_blank\" rel=\"noindex nofollow\">A calling agent that knows an agent\u2019s domain constructs the URL <code>https:\/\/{agent-server-domain}\/.well-known\/agent-card.json<\/code> and issues an unauthenticated HTTP GET<\/a>. <a href=\"https:\/\/webspecification.com\/spec\/agent-readiness\/a2a-agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">The response must return HTTP 200 with <code>Content-Type: application\/json<\/code> and a valid A2A Agent Card JSON body<\/a>.<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/agent-framework\/a2a-v1-is-here-cross-platform-agent-communication-in-microsoft-agent-framework-for-net\" target=\"_blank\" rel=\"noindex nofollow\">Microsoft\u2019s Agent Framework serves the agent card at the well-known A2A path using a dedicated handler separate from the protocol endpoint mapping<\/a>. Google Cloud\u2019s Agent Registry treats capability declarations as a first-class part of the Agent Card itself rather than a separate sidecar resource.<\/p>\n<p><a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">A2A v1.0 replaced the pre-1.0 path <code>\/.well-known\/agent.json<\/code> with <code>\/.well-known\/agent-card.json<\/code> as the canonical path<\/a>. <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">For backward compatibility, serve the canonical path with a 200 response and alias the legacy path with a 308 redirect<\/a>. <a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">Servers should include HTTP caching headers, such as a <code>Cache-Control<\/code> header with a <code>max-age<\/code> directive and an <code>ETag<\/code> derived from the card\u2019s version field<\/a>. These headers let calling agents use conditional requests instead of fetching the full card on every interaction.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<h3>What Is an Agent Card in the A2A Protocol?<\/h3>\n<p>An agent card in the A2A protocol is a JSON metadata document that a server-side agent publishes to describe itself to calling agents. It declares the agent\u2019s name, description, version, endpoint URLs, supported protocol bindings, capability flags such as streaming and push notifications, accepted input and output MIME types, authentication requirements, and a list of skills the agent can perform. Calling agents fetch the card before initiating any task and use it to decide whether the agent can handle a given job and how to authenticate.<\/p>\n<h3>Where Does an Agent Card Live?<\/h3>\n<p><a href=\"https:\/\/deepwiki.com\/a2aproject\/A2A\/2.4-agent-discovery-via-agentcard\" target=\"_blank\" rel=\"noindex nofollow\">An A2A protocol agent card is served at the standardized well-known URI <code>https:\/\/{agent-server-domain}\/.well-known\/agent-card.json<\/code>, following the RFC 8615 well-known URI convention<\/a>. <a href=\"https:\/\/webspecification.com\/spec\/agent-readiness\/a2a-agent-cards\" target=\"_blank\" rel=\"noindex nofollow\">The file must be served with <code>Content-Type: application\/json<\/code> and return HTTP 200<\/a>. <a href=\"https:\/\/autolearningagents.com\/a2a-protocol\/agent-cards.php\" target=\"_blank\" rel=\"noindex nofollow\">No authentication is required to fetch the card itself, even if the agent\u2019s A2A endpoint requires authentication<\/a>, because clients must read the card to learn what credentials are needed. <a href=\"https:\/\/agentcard.net\/blog\/a2a-v1-0-agent-card-changes\" target=\"_blank\" rel=\"noindex nofollow\">The legacy path <code>\/.well-known\/agent.json<\/code> used in pre-1.0 drafts should be aliased with a 308 redirect to the canonical path<\/a>.<\/p>\n<h3>What Is the Difference Between an A2A Agent Card and a Marketplace Agent Card?<\/h3>\n<p>An A2A protocol agent card is a machine-readable JSON document consumed by other agents, AI runtimes, and orchestrators. Its fields, including <code>supportedInterfaces<\/code>, <code>capabilities<\/code>, <code>securitySchemes<\/code>, and <code>skills<\/code>, are structured for programmatic parsing. A marketplace or UI agent card is a rendered visual component in an agent directory, designed for humans browsing a catalog. It surfaces the same underlying information, such as name, capabilities, skills, and status, in a layout optimized for human decision-making.<\/p>\n<section data-read-next=\"true\">\n<h2>Read Next<\/h2>\n<ul>\n<li><a href=\"https:\/\/aigrowthagent.co\/articles\/how-agent-cards-work\" target=\"_blank\">How Agent Cards Work in the A2A Protocol<\/a><\/li>\n<li><a href=\"https:\/\/aigrowthagent.co\/articles\/agent-cards-integration\" target=\"_blank\">Agent Cards Integration: A2A Protocol &amp; Payments<\/a><\/li>\n<li><a href=\"https:\/\/aigrowthagent.co\/articles\/how-to-make-agent-cards\" target=\"_blank\">How to Make Agent Cards for A2A Discovery<\/a><\/li>\n<li><a href=\"https:\/\/aigrowthagent.co\/articles\/benefits-of-agent-cards\" target=\"_blank\">Benefits of Agent Cards: A Strategic Guide for Enterprise AI<\/a><\/li>\n<li><a href=\"https:\/\/aigrowthagent.co\/articles\/enterprise-agent-cards-guide\" target=\"_blank\">Enterprise Agent Cards: A2A Metadata &amp; Spend Controls Guide<\/a><\/li>\n<\/ul>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Get real A2A Agent Card JSON examples: core fields, streaming, push notifications, skills &#038; enterprise directories. Grow faster with AI Growth Agent.<\/p>\n","protected":false},"author":1,"featured_media":6314,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-6315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"_links":{"self":[{"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/posts\/6315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/comments?post=6315"}],"version-history":[{"count":0,"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/posts\/6315\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/media\/6314"}],"wp:attachment":[{"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/media?parent=6315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/categories?post=6315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/aigrowthagent.co\/articles\/wp-json\/wp\/v2\/tags?post=6315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}