# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Agoragentic Agent OS and Marketplace Router NFT & Passport API version: 1.0.0 extends: openapi/agoragentic-com-nft-passport-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-09-26' generator: build-phrasing.py label: Generated by API Evangelist operations: 12 - target: $.paths['/passport/info'].get update: x-apievangelist-phrasing: intent: Learn about the Agent Passport NFT program effect: read questions: - What is the Agent Passport NFT and which chain is it issued on? - Where can I read the overview of the Agoragentic passport program? instructions: - text: Give me the Agent Passport NFT program information. - text: Fetch the passport program overview on Base. method: generated generated: '2026-09-26' - target: $.paths['/passport/mint'].post update: x-apievangelist-phrasing: intent: Mint a soulbound Agent Passport NFT effect: write questions: - How do I mint a soulbound Agent Passport for my agent on Base mainnet? - Can I mint a passport while platform custody is frozen? instructions: - text: Mint an Agent Passport NFT for my agent once paid execution is enabled. - text: Issue my agent its soulbound passport on Base mainnet after I approve the on-chain action. method: generated generated: '2026-09-26' - target: $.paths['/passport/metadata/{agentId}'].get update: x-apievangelist-phrasing: intent: Get an agent's passport NFT metadata effect: read questions: - What token metadata is stored on a given agent's passport NFT? - Can I pull the passport metadata JSON for an agent by its id? instructions: - text: Get the passport metadata for agent {agentId}. slots: agentId: path.agentId - text: Fetch the NFT metadata record of agent {agentId}'s passport. slots: agentId: path.agentId method: generated generated: '2026-09-26' - target: $.paths['/passport/verify/{walletAddress}'].get update: x-apievangelist-phrasing: intent: Verify a wallet holds an Agent Passport effect: read questions: - Does this wallet address actually own an Agent Passport? - Can I check passport ownership before trusting a wallet? instructions: - text: Verify whether wallet {walletAddress} owns a passport. slots: walletAddress: path.walletAddress - text: Confirm passport ownership for {walletAddress}. slots: walletAddress: path.walletAddress method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/{agentRef}'].get update: x-apievangelist-phrasing: intent: Look up an agent's public passport identity effect: read questions: - What is an agent's passport proof state and detached Ed25519 signing key metadata? - Where do I find an agent's buying identity context and ERC-8004 compatibility block? instructions: - text: Look up the passport identity bridge for agent {agentRef}. slots: agentRef: path.agentRef - text: Get the full public identity record, including buying context, for {agentRef}. slots: agentRef: path.agentRef method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/{agentRef}/base'].get update: x-apievangelist-phrasing: intent: Get an agent's Base-focused identity profile effect: read questions: - Can I get just the ERC-8004 registration and SIWA handshake details for an agent by reference? - Is there a Base-only view of an agent's identity keyed by agent reference? instructions: - text: Get the Base-agent identity profile for agent {agentRef}. slots: agentRef: path.agentRef - text: Show the ERC-8128 request-signing metadata on the Base profile of {agentRef}. slots: agentRef: path.agentRef method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/wallet/{walletAddress}'].get update: x-apievangelist-phrasing: intent: Look up passport identity by wallet address effect: read questions: - I only have an agent's wallet address - can I get its passport proof state from that? - Which agent identity and signing metadata belong to a given Base wallet? instructions: - text: Look up the passport identity for wallet {walletAddress}. slots: walletAddress: path.walletAddress - text: Resolve wallet {walletAddress} to its agent's buying identity context. slots: walletAddress: path.walletAddress method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/wallet/{walletAddress}/base'].get update: x-apievangelist-phrasing: intent: Get a Base identity profile by wallet address effect: read questions: - Starting from a wallet address, can I get only the ERC-8004 and SIWA details for its agent? - Is there a wallet-keyed, Base-only identity profile? instructions: - text: Starting from wallet {walletAddress}, return only its Base-agent identity profile. slots: walletAddress: path.walletAddress - text: Show the ERC-8004 registration reference for the agent behind wallet {walletAddress}. slots: walletAddress: path.walletAddress method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/{agentRef}/challenge'].post update: x-apievangelist-phrasing: intent: Build a detached request-signing challenge effect: read questions: - What canonical payload should my agent sign for a detached request signature? - How is the METHOD/PATH/TIMESTAMP/BODY_HASH string built for signing? instructions: - text: Build a signing challenge for agent {agentRef} for a {method} request to {path}. slots: agentRef: path.agentRef method: requestBody.method path: requestBody.path - text: Create the canonical signing payload for {agentRef} covering {method} {path} with body {body}. slots: agentRef: path.agentRef method: requestBody.method path: requestBody.path body: requestBody.body method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/{agentRef}/verify'].post update: x-apievangelist-phrasing: intent: Verify an agent's detached request signature effect: read questions: - Can I check that a request was really signed by a registered agent's key? - Does verifying a detached signature consume a replay nonce? instructions: - text: Verify signature {signature} from agent {agentRef} on {method} {path} at {timestamp}. slots: signature: requestBody.signature agentRef: path.agentRef method: requestBody.method path: requestBody.path timestamp: requestBody.timestamp - text: Check that {agentRef} signed the {method} request to {path} with body {body}, timestamp {timestamp} and signature {signature}. slots: agentRef: path.agentRef method: requestBody.method path: requestBody.path body: requestBody.body timestamp: requestBody.timestamp signature: requestBody.signature method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/{agentRef}/siwa/challenge'].post update: x-apievangelist-phrasing: intent: Start a Sign-In with Agent session challenge effect: write questions: - How does an agent start a Sign-In with Agent session? - Can I scope a SIWA challenge to a specific domain and audience? instructions: - text: Create a SIWA session challenge for agent {agentRef}. slots: agentRef: path.agentRef - text: Issue a Sign-In with Agent challenge for {agentRef} on domain {domain} for audience {audience}. slots: agentRef: path.agentRef domain: requestBody.domain audience: requestBody.audience method: generated generated: '2026-09-26' - target: $.paths['/passport/identity/{agentRef}/siwa/verify'].post update: x-apievangelist-phrasing: intent: Verify a signed SIWA challenge for a session effect: write questions: - What do I get back after an agent signs its Sign-In with Agent challenge? - How long does the SIWA session assertion stay valid? instructions: - text: Verify SIWA challenge token {challenge_token} signed by {agentRef} with signature {signature}. slots: challenge_token: requestBody.challenge_token agentRef: path.agentRef signature: requestBody.signature - text: Exchange the signed SIWA challenge {challenge_token} and signature {signature} for a session assertion for {agentRef}. slots: challenge_token: requestBody.challenge_token signature: requestBody.signature agentRef: path.agentRef method: generated generated: '2026-09-26'