{"openapi":"3.1.0","info":{"title":"Suede Agent Studio public agent API","version":"0.3.0","description":"Public catalog, A2A 1.0 HTTP+JSON execution, discovery documents, portable templates, and machine-run endpoints for agents published from Suede Agent Studio. Priced live runs use x402; explicit dry-runs and free agents can run without payment.","x-guidance":"Use the concrete paid service routes under /api/agents/<slug>/run when an operation includes x-payment-info. Send the documented JSON input, follow the x402 HTTP 402 challenge, and retry with PAYMENT-SIGNATURE. Use dryRun only for explicitly non-settling previews.","contact":{"name":"Suede Agent Studio support","email":"support@suedeai.ai","url":"https://webmcp.suedeai.ai/contact"}},"servers":[{"url":"https://webmcp.suedeai.ai"}],"paths":{"/api/mcp":{"post":{"operationId":"callMcpEndpoint","summary":"Call the MCP endpoint (JSON-RPC over HTTP)","description":"Model Context Protocol endpoint exposing the currently eligible published agents returned by tools/list. Company employees, relay-backed services, and agents without an immutable Live deployment are excluded. Priced tools bill pre-funded workspace credit via an Authorization: Bearer workspace-key header (a UUID). Free eligible tools need no key.","parameters":[{"name":"Authorization","in":"header","required":false,"description":"Bearer workspace key (UUID) for priced tool calls.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"responses":{"200":{"description":"JSON-RPC result or tool error."},"202":{"description":"Notification acknowledged."},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Bearer is not a valid workspace key."},"403":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/gateway/topup":{"post":{"operationId":"topUpWorkspaceCredit","summary":"Fund workspace credit over x402 (USDC on Base)","description":"Machine-payable credit topup. Authenticate with Authorization: Bearer workspace-key. Without a payment proof the route answers HTTP 402 with x402 v2 payment instructions in the body and PAYMENT-REQUIRED header; pay and retry with PAYMENT-SIGNATURE to credit the workspace. Legacy X-PAYMENT remains accepted during migration.","parameters":[{"name":"tier","in":"query","required":false,"description":"USDC topup amount: 1, 5, or 20 (default 1).","schema":{"type":"integer","enum":[1,5,20]}},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Preferred x402 v2 payment payload settling the selected tier.","schema":{"type":"string"}},{"name":"X-PAYMENT","in":"header","required":false,"deprecated":true,"description":"Legacy x402 v1 payment payload retained during migration.","schema":{"type":"string"}}],"responses":{"200":{"description":"Credit added: { creditsAdded, transaction, payer }."},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; body and PAYMENT-REQUIRED header carry x402 v2 requirements.","headers":{"PAYMENT-REQUIRED":{"description":"Base64-encoded x402 v2 PaymentRequired document.","schema":{"type":"string"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/catalog":{"get":{"operationId":"listPublishedAgents","summary":"List currently published agents","responses":{"200":{"description":"Current public catalog.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Catalog"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/services":{"get":{"operationId":"listCuratedBusinessServices","summary":"List Suede-curated business services","description":"A deliberately small shelf of business decision services with typed input and output schemas, safe examples, pricing facts, and explicit human-review boundaries.","responses":{"200":{"description":"Current curated business service feed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CuratedServiceCatalog"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/.well-known/x402":{"get":{"operationId":"getX402Index","summary":"Read current x402 payment discovery","responses":{"200":{"description":"x402 discovery index for published agents."},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/.well-known/agent-card.json":{"get":{"operationId":"getStudioAgentCard","summary":"Read the root agent and capability card","responses":{"200":{"description":"Current published-agent capability card."},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/.well-known/agent-card.json":{"get":{"operationId":"getPublishedAgentCard","summary":"Read one published agent's capability card","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Capability, provider, and pricing details."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/.well-known/x402":{"get":{"operationId":"getPublishedAgentX402","summary":"Read one published agent's x402 terms","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Current x402 payment requirements."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/a2a":{"get":{"operationId":"getPublishedAgentA2a","summary":"Read one published agent's A2A 1.0 AgentCard","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"A2A AgentCard advertising an HTTP+JSON 1.0 interface."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/a2a/message:send":{"post":{"operationId":"sendPublishedAgentA2aMessage","summary":"Execute one published agent via A2A SendMessage","description":"A2A 1.0 HTTP+JSON SendMessage. Send exactly one structured data part containing the agent input object. Returns a direct ROLE_AGENT message. Priced live calls preserve the same x402 HTTP 402 challenge and PAYMENT-SIGNATURE retry as the direct run endpoint. When advertised, experimental AP2 v0.2 merchant authorization is negotiated with A2A-Extensions; x402 v2 remains the settlement rail.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}},{"name":"A2A-Version","in":"header","required":true,"description":"A2A protocol version. This interface supports 1.0.","schema":{"type":"string","const":"1.0"}},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload for a priced live call.","schema":{"type":"string"}},{"name":"A2A-Extensions","in":"header","required":false,"description":"Negotiate the advertised experimental AP2 v0.2 merchant extension. In required mode this header and valid mandates are required for priced Live execution.","schema":{"type":"string","const":"https://github.com/google-agentic-commerce/ap2/v1"}},{"name":"X-A2A-Extensions","in":"header","required":false,"deprecated":true,"description":"Temporary sample-client compatibility spelling for A2A-Extensions.","schema":{"type":"string","const":"https://github.com/google-agentic-commerce/ap2/v1"}}],"requestBody":{"required":true,"content":{"application/a2a+json":{"schema":{"$ref":"#/components/schemas/A2ASendMessageRequest"}}}},"responses":{"200":{"description":"Direct synchronous A2A message response.","content":{"application/a2a+json":{"schema":{"$ref":"#/components/schemas/A2ASendMessageResponse"}}}},"400":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"402":{"description":"x402 payment required for a priced live call."},"404":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"409":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"429":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"500":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"503":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/agents/{agent}/a2a/message:stream":{"post":{"operationId":"streamPublishedAgentA2aMessage","summary":"A2A streaming capability probe","description":"Returns UnsupportedOperation because these synchronous services advertise streaming: false.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}},{"name":"A2A-Version","in":"header","required":true,"description":"A2A protocol version. This interface supports 1.0.","schema":{"type":"string","const":"1.0"}}],"responses":{"400":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/agents/{agent}/a2a/tasks":{"get":{"operationId":"listPublishedAgentA2aTasks","summary":"List A2A tasks","description":"These services return direct messages and retain no A2A tasks, so the list is empty.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}},{"name":"A2A-Version","in":"header","required":true,"description":"A2A protocol version. This interface supports 1.0.","schema":{"type":"string","const":"1.0"}}],"responses":{"200":{"description":"Empty direct-message task collection.","content":{"application/a2a+json":{"schema":{"$ref":"#/components/schemas/A2AListTasksResponse"}}}},"400":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/agents/{agent}/a2a/tasks/{taskId}":{"get":{"operationId":"getPublishedAgentA2aTask","summary":"Get an A2A task","description":"Direct-message services do not create tasks and return TaskNotFound.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}},{"name":"taskId","in":"path","required":true,"description":"Opaque A2A task identifier.","schema":{"type":"string","minLength":1}},{"name":"A2A-Version","in":"header","required":true,"description":"A2A protocol version. This interface supports 1.0.","schema":{"type":"string","const":"1.0"}}],"responses":{"400":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"404":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/agents/{agent}/a2a/tasks/{taskId}:cancel":{"post":{"operationId":"cancelPublishedAgentA2aTask","summary":"Cancel an A2A task","description":"Direct-message services do not create tasks and return TaskNotFound.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}},{"name":"taskId","in":"path","required":true,"description":"Opaque A2A task identifier.","schema":{"type":"string","minLength":1}},{"name":"A2A-Version","in":"header","required":true,"description":"A2A protocol version. This interface supports 1.0.","schema":{"type":"string","const":"1.0"}}],"responses":{"400":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}},"404":{"description":"A2A request failed.","content":{"application/a2a+json":{"schema":{"type":"object","additionalProperties":true}}}}}}},"/api/agents/{agent}/template":{"get":{"operationId":"downloadPublishedAgentTemplate","summary":"Download one published agent's portable template","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Portable flow, run client, and README bundle.","headers":{"Content-Disposition":{"schema":{"type":"string"},"description":"Attachment filename for the JSON bundle."}}},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/run":{"post":{"operationId":"runPublishedAgent","summary":"Run one published agent","description":"Send an input object. Set dryRun true for the explicit non-settling preview path. A priced live run without a valid PAYMENT-SIGNATURE header responds with HTTP 402 and current x402 v2 payment requirements. Legacy X-PAYMENT remains accepted during migration. When advertised, the ap2 body member presents experimental AP2 v0.2 merchant authorization before x402 settlement.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}},{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload for a priced live run.","schema":{"type":"string"}},{"name":"X-PAYMENT","in":"header","required":false,"deprecated":true,"description":"Legacy x402 v1 payment payload accepted during migration.","schema":{"type":"string"}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunRequest"}}}},"responses":{"200":{"description":"Run completed.","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/RunResult"},{"$ref":"#/components/schemas/ResourceRunEnvelope"}]}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required for a priced live run."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/vendor-risk-read-q0jjq/run":{"post":{"operationId":"runPublishedAgent_vendor_risk_read_q0jjq","summary":"Run Vendor Risk Read","description":"Assess a supplied vendor profile for onboarding risk, name and tax mismatches, thin operating history, banking-change fraud signals, and missing diligence. This concrete Live route charges 0.080000 USDC per successful x402-authorized call.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload returned after satisfying the HTTP 402 challenge.","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.080000"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":false,"required":["vendorProfile"],"properties":{"vendorProfile":{"type":"string","minLength":1,"description":"Vendor details supplied by the caller, including registration, ownership, references, and banking-change context."}}}},"required":["input"],"additionalProperties":false},"example":{"input":{"vendorProfile":"NorthBridge Supply LLC. W-9 says NorthBridge Holdings LLC. Formed two months ago. Requests first payment to a personal-name bank account. No trade references. First PO is $58,000."}}}}},"responses":{"200":{"description":"Run completed after verified x402 settlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResult"},"example":{"runId":"run_123","status":"done","totalCostUsdc":0.08,"outputs":{},"result":{"grade":"HIGH RISK","flags":["Legal-name mismatch","Personal-name payment account","No trade references"],"decision":"hold","collect":["Corrected W-9","Bank-account ownership confirmation","Two trade references"],"note":"Hold onboarding until identity and payment destination are independently verified."},"settled":true}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; response carries current x402 v2 terms."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-suede-output-schema":{"type":"object","additionalProperties":false,"required":["grade","flags","decision","collect","note"],"properties":{"grade":{"type":"string","enum":["LOW RISK","MEDIUM RISK","HIGH RISK"]},"flags":{"type":"array","description":"Risk signals supported by the supplied profile.","items":{"type":"string"}},"decision":{"type":"string","enum":["onboard","hold","decline"]},"collect":{"type":"array","description":"Documents or confirmations needed before approval.","items":{"type":"string"}},"note":{"type":"string"}}}}},"/api/agents/bank-rec-discrepancy-finder-bw0tt/run":{"post":{"operationId":"runPublishedAgent_bank_rec_discrepancy_finder_bw0tt","summary":"Run Bank Rec Discrepancy Finder","description":"Compare bank-statement lines with book entries and return matched counts, classified exceptions, the unreconciled total, and the next item to investigate. This concrete Live route charges 0.060000 USDC per successful x402-authorized call.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload returned after satisfying the HTTP 402 challenge.","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.060000"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":false,"required":["bankStatement","bookEntries"],"properties":{"bankStatement":{"type":"string","minLength":1,"description":"Bank-statement transaction lines for one period."},"bookEntries":{"type":"string","minLength":1,"description":"Ledger or book transaction lines for the same period."}}}},"required":["input"],"additionalProperties":false},"example":{"input":{"bankStatement":"06/02 deposit +2400; 06/05 Vendor X -780; 06/05 Vendor X -780; 06/08 service fee -32.","bookEntries":"06/02 customer deposit +2400; 06/05 Vendor X bill pay -780; 06/07 check 1042 -540."}}}}},"responses":{"200":{"description":"Run completed after verified x402 settlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResult"},"example":{"runId":"run_123","status":"done","totalCostUsdc":0.06,"outputs":{},"result":{"reconciled":false,"matched":2,"exceptions":[{"type":"duplicate_on_bank","detail":"Second Vendor X debit has no matching book entry.","amount":-780},{"type":"missing_in_books","detail":"Bank service fee is absent from the books.","amount":-32},{"type":"outstanding_check","detail":"Check 1042 is in the books but not on the bank statement.","amount":-540}],"net_unreconciled":-1352,"note":"Confirm the duplicate debit, post the fee, and trace check 1042."},"settled":true}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; response carries current x402 v2 terms."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-suede-output-schema":{"type":"object","additionalProperties":false,"required":["reconciled","matched","exceptions","net_unreconciled","note"],"properties":{"reconciled":{"type":"boolean"},"matched":{"type":"integer","minimum":0},"exceptions":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["type","detail","amount"],"properties":{"type":{"type":"string","enum":["missing_in_books","missing_on_bank","outstanding_check","duplicate_on_bank","duplicate_in_books","amount_mismatch","timing_difference"]},"detail":{"type":"string"},"amount":{"type":"number"}}}},"net_unreconciled":{"type":"number"},"note":{"type":"string"}}}}},"/api/agents/expense-policy-check-l8o5i/run":{"post":{"operationId":"runPublishedAgent_expense_policy_check_l8o5i","summary":"Run Expense Policy Check","description":"Compare one expense with the policy supplied by the caller. Returns approve, flag, or reject, plus the reimbursable amount and supported violations. This concrete Live route charges 0.040000 USDC per successful x402-authorized call.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload returned after satisfying the HTTP 402 challenge.","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.040000"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":false,"required":["expense","expensePolicy"],"properties":{"expense":{"type":"string","minLength":1,"description":"Expense details, amount, category, receipt state, and relevant context."},"expensePolicy":{"type":"string","minLength":1,"description":"The exact policy rules to apply to the expense."}}}},"required":["input"],"additionalProperties":false},"example":{"input":{"expense":"Dinner $112.40, including $34 wine. Receipt attached.","expensePolicy":"Meals are capped at $75 per day. Alcohol is not reimbursable. Receipts are required over $25."}}}}},"responses":{"200":{"description":"Run completed after verified x402 settlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResult"},"example":{"runId":"run_123","status":"done","totalCostUsdc":0.04,"outputs":{},"result":{"verdict":"flag","reimbursable_amount":75,"violations":["Expense exceeds the $75 meal cap","Expense includes non-reimbursable alcohol"],"note":"Route to an approver with reimbursement capped at $75."},"settled":true}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; response carries current x402 v2 terms."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-suede-output-schema":{"type":"object","additionalProperties":false,"required":["verdict","reimbursable_amount","violations","note"],"properties":{"verdict":{"type":"string","enum":["approve","flag","reject"]},"reimbursable_amount":{"type":"number","minimum":0},"violations":{"type":"array","description":"Policy violations supported by the supplied expense and rules.","items":{"type":"string"}},"note":{"type":"string"}}}}},"/api/agents/po-match-gate-mkgu0/run":{"post":{"operationId":"runPublishedAgent_po_match_gate_mkgu0","summary":"Run PO Match Gate","description":"Compare one purchase order with its invoice. Returns pass or hold, with every quantity, unit-price, vendor, and total discrepancy identified before payment approval. This concrete Live route charges 0.050000 USDC per successful x402-authorized call.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload returned after satisfying the HTTP 402 challenge.","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.050000"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":false,"required":["purchaseOrder","invoice"],"properties":{"purchaseOrder":{"type":"string","minLength":1,"description":"Purchase-order text or structured JSON serialized as text."},"invoice":{"type":"string","minLength":1,"description":"Invoice text or structured JSON serialized as text."}}}},"required":["input"],"additionalProperties":false},"example":{"input":{"purchaseOrder":"PO-9920: 100 widget-A units at $2.50, total $250.00.","invoice":"INV-7781 for PO-9920: 100 widget-A units at $2.65, total $265.00."}}}}},"responses":{"200":{"description":"Run completed after verified x402 settlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResult"},"example":{"runId":"run_123","status":"done","totalCostUsdc":0.05,"outputs":{},"result":{"matched":false,"status":"hold","discrepancies":["Unit price is $2.65 on the invoice and $2.50 on the PO; delta $15.00."],"note":"Hold for buyer approval because the invoice exceeds the PO price."},"settled":true}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; response carries current x402 v2 terms."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-suede-output-schema":{"type":"object","additionalProperties":false,"required":["matched","status","discrepancies","note"],"properties":{"matched":{"type":"boolean"},"status":{"type":"string","enum":["pass","hold"]},"discrepancies":{"type":"array","description":"Every supported mismatch between the PO and invoice.","items":{"type":"string"}},"note":{"type":"string"}}}}},"/api/agents/resume-vs-jd-screener-wp72w/run":{"post":{"operationId":"runPublishedAgent_resume_vs_jd_screener_wp72w","summary":"Run Resume vs JD Screener","description":"Compare one candidate resume with one job description. Returns an evidence-based fit score, supported and missing requirements, three interview questions, and a screening recommendation. This concrete Live route charges 0.060000 USDC per successful x402-authorized call.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload returned after satisfying the HTTP 402 challenge.","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.060000"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":false,"required":["jobDescription","resume"],"properties":{"jobDescription":{"type":"string","minLength":1,"description":"The complete job description, including responsibilities and required qualifications."},"resume":{"type":"string","minLength":1,"description":"The candidate resume text to compare with the supplied job description."}}}},"required":["input"],"additionalProperties":false},"example":{"input":{"jobDescription":"Senior Backend Engineer: 5+ years, Go, Postgres, and production Kubernetes experience required.","resume":"Six years in backend engineering using Go and Python. Built a billing service on Postgres and operated services on ECS. No Kubernetes experience listed."}}}}},"responses":{"200":{"description":"Run completed after verified x402 settlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResult"},"example":{"runId":"run_123","status":"done","totalCostUsdc":0.06,"outputs":{},"result":{"fitScore":74,"met":[{"requirement":"5+ years of backend experience","evidence":"Six years in backend engineering."},{"requirement":"Go and Postgres","evidence":"Used Go and built a billing service on Postgres."}],"missing":[{"requirement":"Production Kubernetes","note":"The resume lists ECS but does not mention Kubernetes."}],"questions":["What production orchestration systems have you owned end to end?","How did you design and operate the Postgres-backed billing service?","What would you need to learn before operating this role's Kubernetes workloads?"],"verdict":"phone screen"},"settled":true}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; response carries current x402 v2 terms."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-suede-output-schema":{"type":"object","additionalProperties":false,"required":["fitScore","met","missing","questions","verdict"],"properties":{"fitScore":{"type":"number","minimum":0,"maximum":100},"met":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["requirement","evidence"],"properties":{"requirement":{"type":"string","minLength":1,"description":"A qualification stated in the job description."},"evidence":{"type":"string","minLength":1,"description":"Resume evidence supporting the qualification."}}}},"missing":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["requirement","note"],"properties":{"requirement":{"type":"string","minLength":1,"description":"A missing or only partially supported qualification."},"note":{"type":"string","minLength":1,"description":"Why the supplied resume does not fully support the qualification."}}}},"questions":{"type":"array","description":"Exactly three interview questions targeting gaps or unverified claims.","items":{"type":"string"},"minItems":3,"maxItems":3},"verdict":{"type":"string","enum":["advance","phone screen","reject"]}}}}},"/api/agents/contract-red-flag-scan-chm9v/run":{"post":{"operationId":"runPublishedAgent_contract_red_flag_scan_chm9v","summary":"Run Contract Red-Flag Scan","description":"Extract a PDF contract and return a first-pass risk report covering liability, indemnity, renewal, termination, IP, exclusivity, governing law, and payment terms. This concrete Live route charges 0.080000 USDC per successful x402-authorized call.","parameters":[{"name":"PAYMENT-SIGNATURE","in":"header","required":false,"description":"Base64-encoded x402 v2 payment payload returned after satisfying the HTTP 402 challenge.","schema":{"type":"string"}}],"x-payment-info":{"protocols":[{"x402":{}}],"price":{"mode":"fixed","currency":"USD","amount":"0.080000"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":false,"required":["filename","fileBase64"],"properties":{"filename":{"type":"string","minLength":5,"description":"A filename ending in .pdf.","pattern":"\\.pdf$"},"fileBase64":{"type":"string","minLength":8,"contentEncoding":"base64","contentMediaType":"application/pdf","description":"The complete PDF encoded as base64."}}}},"required":["input"],"additionalProperties":false},"example":{"input":{"filename":"sample-msa.pdf","fileBase64":"JVBERi0xLjQKc3ludGhldGljLXNhbXBsZQ=="}}}}},"responses":{"200":{"description":"Run completed after verified x402 settlement.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/RunResult"},"example":{"runId":"run_123","status":"done","totalCostUsdc":0.08,"outputs":{},"result":{"flagCount":1,"flags":[{"severity":"HIGH","issue":"Uncapped one-way indemnity","risk":"The customer bears unlimited third-party claim exposure.","redline":"Make indemnity mutual and subject to the negotiated liability cap."}]},"settled":true}}}},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required; response carries current x402 v2 terms."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-suede-output-schema":{"type":"object","additionalProperties":false,"required":["flagCount","flags"],"properties":{"flagCount":{"type":"integer","minimum":0},"flags":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["severity","issue","risk","redline"],"properties":{"severity":{"type":"string","enum":["HIGH","MEDIUM","LOW"]},"issue":{"type":"string"},"risk":{"type":"string"},"redline":{"type":"string"}}}}}}}},"/.well-known/ap2.json":{"get":{"operationId":"getAp2MerchantIndex","summary":"Read the experimental AP2 merchant discovery index","responses":{"200":{"description":"Current AP2 merchant profile and eligible published services."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/.well-known/ap2-jwks.json":{"get":{"operationId":"getAp2MerchantJwks","summary":"Read AP2 merchant receipt verification keys","responses":{"200":{"description":"Public ES256 keys for verifying merchant checkout quotes and receipts."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/.well-known/ap2":{"get":{"operationId":"getPublishedAgentAp2","summary":"Read one published service's experimental AP2 terms","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Merchant authorization, checkout, receipt, and x402 binding metadata."},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"500":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/agents/{agent}/ap2/checkout":{"post":{"operationId":"issuePublishedAgentAp2Checkout","summary":"Request a merchant-signed AP2 checkout quote","description":"Runs the same company, input, payout, and immutable Live-deployment preflight as execution, then returns a short-lived signed checkout JWT without settling or running the service.","parameters":[{"name":"agent","in":"path","required":true,"description":"Published agent slug (preferred canonical identity) or legacy id.","schema":{"type":"string","minLength":1}}],"requestBody":{"required":false,"content":{"application/json":{"schema":{"type":"object","properties":{"input":{"type":"object","additionalProperties":true},"runVariables":{"type":"object","additionalProperties":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"Merchant-signed AP2 checkout quote and exact x402 payment terms."},"400":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"Request failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Error":{"type":"object","properties":{"error":{"type":"string"},"message":{"type":"string"}},"required":["error"],"additionalProperties":true},"Catalog":{"type":"object","properties":{"service":{"type":"string"},"description":{"type":"string"},"site":{"type":"string","format":"uri"},"count":{"type":"integer","minimum":0},"agents":{"type":"array","items":{"type":"object","additionalProperties":true}}},"required":["service","site","count","agents"]},"CuratedServiceCatalog":{"type":"object","properties":{"service":{"type":"string"},"operator":{"type":"string"},"description":{"type":"string"},"collection":{"type":"string","const":"business-operations"},"site":{"type":"string","format":"uri"},"readinessProjectionVersion":{"type":"integer","const":2},"count":{"type":"integer","minimum":0},"historicallySettledServiceCount":{"type":"integer","minimum":0},"services":{"type":"array","items":{"type":"object","properties":{"readiness":{"$ref":"#/components/schemas/CuratedServiceReadiness"}},"required":["readiness"],"additionalProperties":true}}},"required":["service","operator","collection","site","readinessProjectionVersion","count","historicallySettledServiceCount","services"],"additionalProperties":false},"CuratedServiceReadiness":{"type":"object","properties":{"state":{"type":"string","enum":["preview","payment-enabled","unavailable"]},"publishedLive":{"type":"boolean"},"acceptsPayment":{"type":"boolean"},"previewAvailable":{"type":"boolean"},"hasSettledCalls":{"type":"boolean","description":"Historical evidence only: true when this service has at least one recorded settled call. It does not assert current payment readiness."},"settledCalls":{"type":"integer","minimum":0},"lastCallAt":{"type":["integer","null"],"minimum":0}},"required":["state","publishedLive","acceptsPayment","previewAvailable","hasSettledCalls","settledCalls","lastCallAt"],"additionalProperties":false},"RunRequest":{"type":"object","properties":{"input":{"type":"object","additionalProperties":true},"runVariables":{"type":"object","additionalProperties":true},"dryRun":{"type":"boolean"},"ap2":{"type":"object","properties":{"authorizationMode":{"type":"string","enum":["direct","autonomous"]},"checkoutMandateSdJwt":{"type":"string","minLength":1},"paymentMandateSdJwt":{"type":"string","minLength":1}},"required":["authorizationMode","checkoutMandateSdJwt","paymentMandateSdJwt"],"additionalProperties":false}},"additionalProperties":true},"A2ASendMessageRequest":{"type":"object","properties":{"message":{"type":"object","properties":{"messageId":{"type":"string","minLength":1},"contextId":{"type":"string","minLength":1},"role":{"type":"string","const":"ROLE_USER"},"parts":{"type":"array","minItems":1,"maxItems":1,"items":{"type":"object","properties":{"data":{"type":"object","additionalProperties":true},"mediaType":{"type":"string","const":"application/json"}},"required":["data"],"additionalProperties":true}}},"required":["messageId","role","parts"],"additionalProperties":true}},"required":["message"],"additionalProperties":true,"description":"When AP2 is negotiated, include one business-input data part plus Checkout and Payment Mandate SD-JWT data parts using the advertised AP2 keys."},"A2ASendMessageResponse":{"type":"object","properties":{"message":{"type":"object","properties":{"messageId":{"type":"string"},"contextId":{"type":"string"},"role":{"type":"string","const":"ROLE_AGENT"},"parts":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":true}},"metadata":{"type":"object","additionalProperties":true}},"required":["messageId","contextId","role","parts"],"additionalProperties":true}},"required":["message"],"additionalProperties":false},"A2AListTasksResponse":{"type":"object","properties":{"tasks":{"type":"array","items":{"type":"object","additionalProperties":true}},"totalSize":{"type":"integer","const":0},"pageSize":{"type":"integer","minimum":1,"maximum":100},"nextPageToken":{"type":"string","const":""}},"required":["tasks","totalSize","pageSize","nextPageToken"],"additionalProperties":false},"RunResult":{"type":"object","properties":{"runId":{"type":"string"},"status":{"type":"string","enum":["done","error"]},"totalCostUsdc":{"type":"number"},"outputs":{"type":"object","additionalProperties":true},"result":{"type":"object","additionalProperties":true,"description":"Best-effort normalized result for a curated service; raw outputs remain available."},"settled":{"type":"boolean"},"relayed":{"type":"boolean"},"transaction":{"type":"string"},"payer":{"type":"string"},"ap2":{"type":"object","properties":{"profile":{"type":"string","const":"ap2-v0.2-experimental"},"authorizationMode":{"type":["string","null"],"enum":["direct","autonomous",null]},"checkoutReceipt":{"type":"string"}},"required":["profile","authorizationMode","checkoutReceipt"],"additionalProperties":false}},"required":["runId","status","totalCostUsdc","outputs","settled"],"additionalProperties":false},"ResourceRunEnvelope":{"type":"object","properties":{"result":{},"resourceReceipt":{"type":"object","properties":{"resourceProductId":{"type":"string"},"resourceVersion":{"type":"string"},"semanticHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"freshness":{"type":"string","enum":["fresh","stale","mixed"]},"evidence":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"sourceSnapshotId":{"type":"string"},"locator":{"type":"string"},"observedAt":{"type":"string","format":"date-time"},"fieldHash":{"type":"string","pattern":"^[a-f0-9]{64}$"},"confidence":{"type":"number","minimum":0,"maximum":1},"conflict":{"type":"string"}},"required":["id","sourceSnapshotId","locator","observedAt"],"additionalProperties":false}},"unknowns":{"type":"array","items":{"type":"string"}},"conflicts":{"type":"array","items":{"type":"string"}},"outputSchemaValid":{"type":"boolean","const":true}},"required":["resourceProductId","resourceVersion","semanticHash","freshness","evidence","unknowns","conflicts","outputSchemaValid"],"additionalProperties":false},"payment":{"type":"object","properties":{"priceUsdc":{"type":"number","minimum":0},"state":{"type":"string","enum":["free","challenged","credited","settled","refunded","failed"]},"receiptId":{"type":["string","null"]}},"required":["priceUsdc","state","receiptId"],"additionalProperties":false}},"required":["result","resourceReceipt","payment"],"additionalProperties":false}}},"x-suede-resource-contracts":{"extensionUri":"https://webmcp.suedeai.ai/extensions/resource/v1","contracts":[]},"x-suede-ap2":{"protocol":"AP2","version":"0.2","profile":"merchant","status":"experimental","mode":"optional","extensionUri":"https://github.com/google-agentic-commerce/ap2/v1","settlementRail":"x402-v2","negotiationHeader":"A2A-Extensions","compatibilityHeader":"X-A2A-Extensions","mandateDataKeys":["ap2.mandates.CheckoutMandateSdJwt","ap2.mandates.PaymentMandateSdJwt"],"merchantReceiptDataKey":"ap2.CheckoutReceipt","sellerSubprofile":{"trustedIssuerAlgorithms":"configured allowlist","rootTrustResolution":"pinned-exact-or-unique-compatible-key","acceptedSdAlgorithms":["sha-256"],"delegatedKey":{"kty":"EC","crv":"P-256","alg":"ES256","kidMember":"optional","algMember":"optional"},"requiredClaims":["iat","exp","aud","nonce"],"autonomousRootRequiredClaims":["iat","exp"],"maximumDelegationHops":1,"supportedCheckoutConstraints":["checkout.allowed_merchants","checkout.line_items"],"supportedPaymentConstraints":["payment.allowed_payees","payment.allowed_payment_instruments","payment.allowed_pisps","payment.amount_range","payment.reference","payment.execution_date"],"unknownConstraints":"rejected","statefulOpenPaymentConstraints":false,"openPaymentPresetClaims":["payee","payment_amount","payment_instrument","pisp","execution_date","risk_data"],"openPaymentPresetRule":"exact-match-closed","paymentInstrumentId":"CAIP-10 eip155:8453:<payer-address>","receiptReferenceRule":"sd-hash-final-sd-jwt"},"requiredForPricedLive":false,"documentationUrl":"https://webmcp.suedeai.ai/docs/payments#ap2"}}