Skip to content
Back to Suede AI Agent Studio

Card snapshot

agents.suedeai.ai · 2026-10-11 10:58:42 UTC · fdc37c87602ac3c0bd2c9d2cb476b429f18e02f6f0947decbcf57c90a3c84d7b

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Suede AI Agent Studio",
  "description": "Published visual agent flows. Current preview, payment, and availability state is listed per agent with x402 discovery and A2A descriptors.",
  "supportedInterfaces": [
    {
      "url": "https://agents.suedeai.ai/api/a2a",
      "protocolBinding": "HTTP+JSON",
      "protocolVersion": "1.0"
    }
  ],
  "provider": {
    "organization": "Suede AI",
    "url": "https://agents.suedeai.ai"
  },
  "version": "1.0.0",
  "documentationUrl": "https://agents.suedeai.ai/docs",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://github.com/google-agentic-commerce/ap2/v1",
        "description": "Experimental AP2 v0.2 merchant authorization before x402 v2 settlement.",
        "required": false,
        "params": {
          "protocol": "AP2",
          "version": "0.2",
          "profile": "merchant",
          "status": "experimental",
          "mode": "optional",
          "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"
          },
          "discoveryUrl": "https://agents.suedeai.ai/.well-known/ap2.json",
          "jwksUrl": "https://agents.suedeai.ai/.well-known/ap2-jwks.json",
          "documentationUrl": "https://agents.suedeai.ai/docs/payments#ap2"
        }
      }
    ]
  },
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "run-site-audit-1fow4",
      "name": "Site Audit",
      "description": "Fetches a submitted public webpage and returns a bounded audit of visible signals.",
      "tags": [
        "suede",
        "agent",
        "workflow"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "run-po-match-gate-mkgu0",
      "name": "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.",
      "tags": [
        "accounts-payable",
        "invoice",
        "purchase-order",
        "reconciliation",
        "finance"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "run-resume-vs-jd-screener-wp72w",
      "name": "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.",
      "tags": [
        "recruiting",
        "resume",
        "job-description",
        "candidate-screening",
        "hr"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "run-contract-red-flag-scan-chm9v",
      "name": "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.",
      "tags": [
        "contract-review",
        "legal-operations",
        "risk",
        "pdf",
        "red-flags"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "run-site-audit-0wyt2",
      "name": "Site Audit",
      "description": "Fetches a submitted public webpage and returns a bounded audit of visible signals.",
      "tags": [
        "suede",
        "agent",
        "workflow"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "x-suede": {
    "projection": {
      "version": 2,
      "states": [
        "preview",
        "payment-enabled",
        "unavailable"
      ],
      "migration": "Version 2 omits x402 terms unless state is payment-enabled; unavailable does not imply a public dry-run."
    },
    "site": "https://agents.suedeai.ai",
    "catalog": "https://agents.suedeai.ai/api/catalog",
    "curatedServices": "https://agents.suedeai.ai/api/services",
    "x402": "https://agents.suedeai.ai/.well-known/x402",
    "openapi": "https://agents.suedeai.ai/openapi.json",
    "mcp": "https://agents.suedeai.ai/api/mcp",
    "a2a": "https://agents.suedeai.ai/api/a2a",
    "a2aSend": "https://agents.suedeai.ai/api/a2a/message:send",
    "routing": {
      "metadataKey": "x-suede",
      "agentField": "agent",
      "description": "Set metadata.x-suede.agent to a published agent ID or slug; message parts remain that agent's structured input."
    },
    "funding": {
      "topup": "https://agents.suedeai.ai/api/gateway/topup",
      "cardCheckout": "https://agents.suedeai.ai/api/gateway/topup/stripe",
      "rail": "x402",
      "asset": "USDC",
      "network": "eip155:8453"
    },
    "count": 5,
    "agents": [
      {
        "id": "5638e477-71a9-4fea-8ef6-8570a7962e91",
        "slug": "site-audit-1fow4",
        "name": "Site Audit",
        "description": "Fetches a submitted public webpage and returns a bounded audit of visible signals.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          }
        },
        "publicUrl": "https://agents.suedeai.ai/a/site-audit-1fow4",
        "runUrl": "https://agents.suedeai.ai/api/agents/site-audit-1fow4/run",
        "agentCardUrl": "https://agents.suedeai.ai/api/agents/site-audit-1fow4/.well-known/agent-card.json",
        "a2aUrl": "https://agents.suedeai.ai/api/agents/site-audit-1fow4/a2a",
        "a2aSendUrl": "https://agents.suedeai.ai/api/agents/site-audit-1fow4/a2a/message:send",
        "payment": {
          "state": "unavailable",
          "acceptsPayment": false
        }
      },
      {
        "id": "ed90b66f-8c2f-4ea7-9e63-7bb21b4118e4",
        "slug": "po-match-gate-mkgu0",
        "name": "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.",
        "inputSchema": {
          "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."
            }
          }
        },
        "outputSchema": {
          "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"
            }
          }
        },
        "exampleInput": {
          "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."
        },
        "exampleOutput": {
          "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."
        },
        "curation": {
          "key": "po-match",
          "collection": "business-operations",
          "operator": "Suede AI",
          "buyerIntent": "Use before approving an invoice that should reconcile to a purchase order.",
          "reviewPolicy": "A human approver remains responsible for releasing payment.",
          "dataHandling": "Inputs and outputs are stored in Agent Studio run history. See /privacy and /account-deletion."
        },
        "publicUrl": "https://agents.suedeai.ai/a/po-match-gate-mkgu0",
        "runUrl": "https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/run",
        "agentCardUrl": "https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/.well-known/agent-card.json",
        "a2aUrl": "https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/a2a",
        "a2aSendUrl": "https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/a2a/message:send",
        "payment": {
          "state": "payment-enabled",
          "acceptsPayment": true,
          "rail": "x402",
          "amountUsdc": 0.05,
          "discoveryUrl": "https://agents.suedeai.ai/api/agents/po-match-gate-mkgu0/.well-known/x402"
        },
        "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"
          },
          "trustedSurface": {
            "issuer": "https://agents.suedeai.ai/ap2/trusted-surface",
            "authorizeUrl": "https://agents.suedeai.ai/ap2/authorize",
            "apiUrl": "https://agents.suedeai.ai/api/ap2/trusted-surface",
            "jwksUrl": "https://agents.suedeai.ai/.well-known/ap2-trusted-surface-jwks.json"
          }
        }
      },
      {
        "id": "a36270ba-1e4d-4578-8625-834626d041d0",
        "slug": "resume-vs-jd-screener-wp72w",
        "name": "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.",
        "inputSchema": {
          "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."
            }
          }
        },
        "outputSchema": {
          "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"
              ]
            }
          }
        },
        "exampleInput": {
          "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."
        },
        "exampleOutput": {
          "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"
        },
        "curation": {
          "key": "resume-jd-screen",
          "collection": "business-operations",
          "operator": "Suede AI",
          "buyerIntent": "Use for a consistent first screen before a human recruiter reviews the candidate.",
          "reviewPolicy": "A human recruiter remains responsible for screening, interviewing, and hiring decisions.",
          "dataHandling": "Resume, job-description, and output content are stored in Agent Studio run history. See /privacy and /account-deletion."
        },
        "publicUrl": "https://agents.suedeai.ai/a/resume-vs-jd-screener-wp72w",
        "runUrl": "https://agents.suedeai.ai/api/agents/resume-vs-jd-screener-wp72w/run",
        "agentCardUrl": "https://agents.suedeai.ai/api/agents/resume-vs-jd-screener-wp72w/.well-known/agent-card.json",
        "a2aUrl": "https://agents.suedeai.ai/api/agents/resume-vs-jd-screener-wp72w/a2a",
        "a2aSendUrl": "https://agents.suedeai.ai/api/agents/resume-vs-jd-screener-wp72w/a2a/message:send",
        "payment": {
          "state": "preview",
          "acceptsPayment": false
        }
      },
      {
        "id": "93ae67b5-0ff1-4867-8af3-f356339a353c",
        "slug": "contract-red-flag-scan-chm9v",
        "name": "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.",
        "inputSchema": {
          "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."
            }
          }
        },
        "outputSchema": {
          "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"
                  }
                }
              }
            }
          }
        },
        "exampleInput": {
          "filename": "sample-msa.pdf",
          "fileBase64": "JVBERi0xLjQKc3ludGhldGljLXNhbXBsZQ=="
        },
        "exampleOutput": {
          "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."
            }
          ]
        },
        "curation": {
          "key": "contract-red-flag",
          "collection": "business-operations",
          "operator": "Suede AI",
          "buyerIntent": "Use to prioritize clauses for qualified legal review before signing or renewal.",
          "reviewPolicy": "Informational first-pass review only. Qualified legal counsel must review decisions.",
          "dataHandling": "Uploaded contract content and outputs are stored in Agent Studio run history. See /privacy and /account-deletion."
        },
        "publicUrl": "https://agents.suedeai.ai/a/contract-red-flag-scan-chm9v",
        "runUrl": "https://agents.suedeai.ai/api/agents/contract-red-flag-scan-chm9v/run",
        "agentCardUrl": "https://agents.suedeai.ai/api/agents/contract-red-flag-scan-chm9v/.well-known/agent-card.json",
        "a2aUrl": "https://agents.suedeai.ai/api/agents/contract-red-flag-scan-chm9v/a2a",
        "a2aSendUrl": "https://agents.suedeai.ai/api/agents/contract-red-flag-scan-chm9v/a2a/message:send",
        "payment": {
          "state": "preview",
          "acceptsPayment": false
        }
      },
      {
        "id": "36e75968-a6b0-407c-9882-d80293c90840",
        "slug": "site-audit-0wyt2",
        "name": "Site Audit",
        "description": "Fetches a submitted public webpage and returns a bounded audit of visible signals.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          }
        },
        "publicUrl": "https://agents.suedeai.ai/a/site-audit-0wyt2",
        "runUrl": "https://agents.suedeai.ai/api/agents/site-audit-0wyt2/run",
        "agentCardUrl": "https://agents.suedeai.ai/api/agents/site-audit-0wyt2/.well-known/agent-card.json",
        "a2aUrl": "https://agents.suedeai.ai/api/agents/site-audit-0wyt2/a2a",
        "a2aSendUrl": "https://agents.suedeai.ai/api/agents/site-audit-0wyt2/a2a/message:send",
        "payment": {
          "state": "unavailable",
          "acceptsPayment": false
        }
      }
    ]
  }
}