エージェント

GETAgentCard の取得

Last updated August 1, 2026

登録済みエージェントのホストされた A2A AgentCard を取得します。A2A クライアントが直接利用できるよう、生の AgentCard JSON(A2A 仕様 §4.4)を返します。

Summary

Metaplex は、アプリを通じて登録されたエージェント向けに A2A AgentCard をホストしています。EIP-8004 のコンシューマーは、エージェントの services[] エントリからこのエンドポイントを発見します。

  • 保存されたままの AgentCard を返します — レスポンスエンベロープなし
  • ETag / If-None-Match による条件付きリクエストをサポート(304 Not Modified)
  • エージェントにホストされたカードがない場合は 404 を返します

Quick Reference

項目値
メソッドGET
パス/agents/{address}/agent-card.json
認証不要
レスポンスA2A AgentCard JSON
キャッシュmax-age=60, stale-while-revalidate=600、ETag

エンドポイント

GET /agents/{address}/agent-card.json

パスパラメータ

パラメータ型必須説明
addressstringはいエージェントの Core アセットミントアドレス(base58)。

クエリパラメータ

パラメータ型必須説明
networkstringいいえクエリするネットワーク。デフォルト:solana-mainnet。devnet の場合は solana-devnet を使用。

リクエスト例

curl "https://api.metaplex.com/v1/agents/7nE9GvcwsqzYcPUYfm5gxzCKfmPqi68FM7gPaSfG6EQN/agent-card.json"

レスポンス

A2A AgentCard オブジェクト:

{
"name": "Example Agent",
"description": "An autonomous trading agent.",
"url": "https://api.metaplex.com/v1/agents/7nE9.../agent-card.json",
"version": "1.0.0",
"capabilities": { "streaming": false },
"skills": [
{
"id": "trade",
"name": "Trade tokens",
"description": "Executes token swaps on Solana.",
"tags": ["solana", "trading"]
}
],
"defaultInputModes": ["text/plain"],
"defaultOutputModes": ["text/plain"]
}

条件付きリクエスト

レスポンスには ETag ヘッダーが含まれます。これを If-None-Match として送り返すと、カードに変更がない場合は 304 Not Modified が返されます:

curl -H 'If-None-Match: "m3k9x1"' \
"https://api.metaplex.com/v1/agents/7nE9.../agent-card.json"

エラー

ステータス意味
304指定した ETag 以降、カードに変更なし。
404エージェントが見つからない、またはエージェントにホストされた AgentCard がない。

Notes

  • このエンドポイントは意図的に success エンベロープを持ちません — A2A のディスカバリー規約に従い、ボディは AgentCard そのものです。
  • カードは、ミント時にエージェント作成者が作成したもの、またはエージェントの登録メタデータから合成されたもののいずれかです。