{"openapi":"3.1.0","info":{"title":"PayeeProof API","version":"0.1.0","description":"Payment identity intelligence for AI agents. A consistent result verifies public machine-readable consistency only; it does not authorize spending or verify legal identity."},"servers":[{"url":"https://payeeproof.davisvillelabs.com"}],"paths":{"/v1/payee/check":{"post":{"operationId":"payeeproof.check_payee","summary":"Check payee consistency","description":"Paid $0.01 deterministic consistency assessment for a public machine-payment endpoint. Eligibility is checked before PayeeProof payment. The service never forwards target payment credentials.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["target_url"],"additionalProperties":false,"properties":{"target_url":{"type":"string","format":"uri","description":"Public HTTPS target URL whose machine-payment identity should be checked. Default HTTPS port 443 only."},"request_method":{"type":"string","enum":["GET","HEAD","POST","PUT","PATCH","DELETE"],"default":"GET","description":"Method of the target operation. PayeeProof actively probes only GET or HEAD; state-changing methods require caller-observed 402 evidence."},"operation":{"type":"string","maxLength":160,"description":"Optional target operation or tool name the caller expects to invoke."},"expected_service_name":{"type":"string","maxLength":160,"description":"Optional public service name the caller expects the target payment challenge or discovery metadata to identify."},"expected_domain":{"type":"string","description":"Optional hostname the caller expects after URL normalization. Used for deterministic domain consistency checks."},"expected_protocol":{"type":"string","enum":["x402","mpp"],"description":"Optional machine-payment protocol the caller expects the target to advertise."},"expected_price_cents":{"type":"integer","minimum":1,"description":"Optional expected target price in integer USD cents for comparison with observed public payment metadata."},"expected_currency":{"type":"string","description":"Optional expected target pricing currency or stablecoin symbol when exposed by the target challenge."},"expected_network":{"type":"string","description":"Optional expected payment network identifier, such as a CAIP-2 network, for comparison with observed metadata."},"expected_asset":{"type":"string","description":"Optional expected public payment asset identifier or symbol."},"expected_pay_to":{"type":"string","description":"Optional expected public payment destination. EVM addresses are normalized case-insensitively before comparison."},"live_probe":{"type":"boolean","description":"Whether PayeeProof may perform its bounded anonymous public probe. Only safe GET or HEAD probes are eligible."},"observed_response":{"type":"object","description":"Optional caller-observed public target response metadata. Required for state-changing target methods. Never include a payment credential, Authorization, Cookie, or response body.","additionalProperties":false,"properties":{"http_status":{"type":"integer","minimum":100,"maximum":599,"description":"Observed target HTTP status, normally 402 for payment-required evidence."},"payment_required":{"type":"string","description":"Observed public PAYMENT-REQUIRED header value from an x402 response. This is challenge metadata, not a payment credential."},"www_authenticate":{"type":"string","description":"Observed public WWW-Authenticate header value, such as an MPP Payment challenge. Do not include an authorization credential."},"location":{"type":"string","description":"Observed public Location header from a redirect. PayeeProof records but does not follow redirects."},"link":{"type":"string","description":"Observed public Link header when relevant to target discovery or canonical identity."},"content_location":{"type":"string","description":"Observed public Content-Location header when relevant to canonical resource identity."},"observed_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp indicating when the caller observed the supplied target response metadata."}}}}}}}},"responses":{"200":{"description":"Paid assessment delivered with additive Davisville Receipt Envelope v1","content":{"application/json":{"schema":{"type":"object","required":["schemaVersion","checkedAt","assessment","target","claimedIdentity","observedIdentity","normalizedPaymentFacts","checks","historicalContinuity","evidence","limitations","recommendedMachineNextStep","deterministicDigest"],"properties":{"schemaVersion":{"const":"payeeproof-check.v1"},"checkedAt":{"type":"string","format":"date-time"},"assessment":{"enum":["consistent","review_required","conflict"]},"target":{"type":"object"},"claimedIdentity":{"type":"object"},"observedIdentity":{"type":"object"},"normalizedPaymentFacts":{"type":"object"},"checks":{"type":"array","items":{"type":"object","required":["id","status","summary"],"properties":{"id":{"type":"string"},"status":{"enum":["pass","warn","fail","unknown"]},"summary":{"type":"string"},"evidence":{"type":"array"}}}},"historicalContinuity":{"type":"object"},"evidence":{"type":"array"},"limitations":{"type":"array","items":{"type":"string"}},"recommendedMachineNextStep":{"type":"object"},"deterministicDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"receiptEnvelope":{"$ref":"https://davisvillelabs.com/agents/davisville-receipt-envelope.v1.schema.json"}},"additionalProperties":true}}}},"402":{"description":"PayeeProof stablecoin payment required"},"422":{"description":"Unsafe, unsupported, or insufficient target evidence"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.01"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20C000000000000000000000b9537d11c60E8b50"}},{"x402":{"version":2,"scheme":"exact","asset":"USDC","network":"eip155:8453"}}],"offers":[{"intent":"charge","method":"tempo","amount":"10000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"PayeeProof check_payee: one completed authorized consistency assessment."},{"protocol":"x402","version":2,"scheme":"exact","amount":"10000","asset":"USDC","network":"eip155:8453","description":"PayeeProof check_payee: one completed authorized consistency assessment."}],"preference":"stablecoin-first","priceCents":1,"currency":"USD","methods":{"tempo":{"protocol":"MPP","method":"tempo","intents":["charge"],"network":"tempo","asset":"USDC.e","preferred":true},"x402":{"protocol":"x402","version":2,"scheme":"exact","intents":["charge"],"network":"eip155:8453","asset":"USDC","transport":"http","preferred":true}},"runtime":"configured"},"x-receipt-envelope":{"schemaVersion":"davisville-receipt-envelope.v1","contract":"https://davisvillelabs.com/agents/receipt-envelope-v1.json","schema":"https://davisvillelabs.com/agents/davisville-receipt-envelope.v1.schema.json","deliveryContract":"https://davisvillelabs.com/agents/delivery-contract-v1.json"}}}},"components":{"schemas":{"PayeeCheckInput":{"type":"object","required":["target_url"],"additionalProperties":false,"properties":{"target_url":{"type":"string","format":"uri","description":"Public HTTPS target URL whose machine-payment identity should be checked. Default HTTPS port 443 only."},"request_method":{"type":"string","enum":["GET","HEAD","POST","PUT","PATCH","DELETE"],"default":"GET","description":"Method of the target operation. PayeeProof actively probes only GET or HEAD; state-changing methods require caller-observed 402 evidence."},"operation":{"type":"string","maxLength":160,"description":"Optional target operation or tool name the caller expects to invoke."},"expected_service_name":{"type":"string","maxLength":160,"description":"Optional public service name the caller expects the target payment challenge or discovery metadata to identify."},"expected_domain":{"type":"string","description":"Optional hostname the caller expects after URL normalization. Used for deterministic domain consistency checks."},"expected_protocol":{"type":"string","enum":["x402","mpp"],"description":"Optional machine-payment protocol the caller expects the target to advertise."},"expected_price_cents":{"type":"integer","minimum":1,"description":"Optional expected target price in integer USD cents for comparison with observed public payment metadata."},"expected_currency":{"type":"string","description":"Optional expected target pricing currency or stablecoin symbol when exposed by the target challenge."},"expected_network":{"type":"string","description":"Optional expected payment network identifier, such as a CAIP-2 network, for comparison with observed metadata."},"expected_asset":{"type":"string","description":"Optional expected public payment asset identifier or symbol."},"expected_pay_to":{"type":"string","description":"Optional expected public payment destination. EVM addresses are normalized case-insensitively before comparison."},"live_probe":{"type":"boolean","description":"Whether PayeeProof may perform its bounded anonymous public probe. Only safe GET or HEAD probes are eligible."},"observed_response":{"type":"object","description":"Optional caller-observed public target response metadata. Required for state-changing target methods. Never include a payment credential, Authorization, Cookie, or response body.","additionalProperties":false,"properties":{"http_status":{"type":"integer","minimum":100,"maximum":599,"description":"Observed target HTTP status, normally 402 for payment-required evidence."},"payment_required":{"type":"string","description":"Observed public PAYMENT-REQUIRED header value from an x402 response. This is challenge metadata, not a payment credential."},"www_authenticate":{"type":"string","description":"Observed public WWW-Authenticate header value, such as an MPP Payment challenge. Do not include an authorization credential."},"location":{"type":"string","description":"Observed public Location header from a redirect. PayeeProof records but does not follow redirects."},"link":{"type":"string","description":"Observed public Link header when relevant to target discovery or canonical identity."},"content_location":{"type":"string","description":"Observed public Content-Location header when relevant to canonical resource identity."},"observed_at":{"type":"string","format":"date-time","description":"ISO 8601 timestamp indicating when the caller observed the supplied target response metadata."}}}}},"PayeeCheckResult":{"type":"object","required":["schemaVersion","checkedAt","assessment","target","claimedIdentity","observedIdentity","normalizedPaymentFacts","checks","historicalContinuity","evidence","limitations","recommendedMachineNextStep","deterministicDigest"],"properties":{"schemaVersion":{"const":"payeeproof-check.v1"},"checkedAt":{"type":"string","format":"date-time"},"assessment":{"enum":["consistent","review_required","conflict"]},"target":{"type":"object"},"claimedIdentity":{"type":"object"},"observedIdentity":{"type":"object"},"normalizedPaymentFacts":{"type":"object"},"checks":{"type":"array","items":{"type":"object","required":["id","status","summary"],"properties":{"id":{"type":"string"},"status":{"enum":["pass","warn","fail","unknown"]},"summary":{"type":"string"},"evidence":{"type":"array"}}}},"historicalContinuity":{"type":"object"},"evidence":{"type":"array"},"limitations":{"type":"array","items":{"type":"string"}},"recommendedMachineNextStep":{"type":"object"},"deterministicDigest":{"type":"string","pattern":"^[a-f0-9]{64}$"},"receiptEnvelope":{"$ref":"https://davisvillelabs.com/agents/davisville-receipt-envelope.v1.schema.json"}},"additionalProperties":true}}}}