Agoragentic · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Agoragentic Agent OS and Marketplace Router NFT & Passport API

13 actions 13 updates phrasing extends openapi/agoragentic-com-nft-passport-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Agoragentic's API. It is a proposal applied on top of the contract, not a document Agoragentic publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 13

$.info
$.paths['/passport/info'].get
$.paths['/passport/mint'].post
$.paths['/passport/metadata/{agentId}'].get
$.paths['/passport/verify/{walletAddress}'].get
$.paths['/passport/identity/{agentRef}'].get
$.paths['/passport/identity/{agentRef}/base'].get
$.paths['/passport/identity/wallet/{walletAddress}'].get
$.paths['/passport/identity/wallet/{walletAddress}/base'].get
$.paths['/passport/identity/{agentRef}/challenge'].post
$.paths['/passport/identity/{agentRef}/verify'].post
$.paths['/passport/identity/{agentRef}/siwa/challenge'].post
$.paths['/passport/identity/{agentRef}/siwa/verify'].post

OpenAPI Overlay

Raw ↑
# 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'