{"openapi":"3.1.0","info":{"title":"Electronic Signature & Document Trust API","version":"1.0.0","description":"Locally verify PDF signature structure, certificate chains, timestamps, tamper evidence, coverage, revocation lists, multi-signer audits, and evidence bundles—while distinguishing technical verification from legal enforceability. Paid with x402 exact USDC on Base. No account is required.","contact":{"email":"support@brainiac.software"},"x-guidance":"BRAINIAC.software is a pay-per-call API for software agents. No account or API key is required.\nPayment uses the x402 protocol with exact USDC on Base (chain id 8453). Each POST operation has a fixed USD price.\nHow to call an operation:\n1. POST a JSON body matching the operation's requestBody schema to the operation path. Include an Idempotency-Key header (64 hex characters, 32 random bytes).\n2. If you have not paid, the server responds 402 with payment requirements in the body. Pay the exact amount to the payTo address on Base.\n3. Retry the identical request with the same Idempotency-Key and add a payment-signature header containing the x402 payment payload. On success (200) the operation result is returned.\n4. Reuse the same Idempotency-Key only for retries of the same operation and request body; it will not be charged twice.\nAll outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Verify time-sensitive or official data with the cited source before acting."},"servers":[{"url":"https://www.brainiac.software"}],"paths":{"/api/v1/document-trust/pdf-digital-signature-verify":{"post":{"operationId":"verify_pdf_digital_signatures","summary":"Verify PDF digital signatures","description":"Inspect PDF /Sig dictionaries and optional detached signatures locally. Technical verification is not legal enforceability.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","versionLabel":"v1","expectedSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}],"detachedSignatures":[{"documentId":"DOC-1","algorithm":"RSA-SHA256","digestSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","signatureBase64":"CrAa3VIMo34lzjcyJmQazbFS9GFjQ3d/8YLFy6EkOOCaEdOWpl06+ntOvLUGVGmqxtIHICr5ULqd7rUzGvRzHoRWEWp8GfCDto/tYi/0Gw63Da/5gmtumBS7qXfC3m5ce41EwYVtW2dDdB+9wp8sPpK+OuCLPqTLLQLktfiN/WosEkjxS2D49dHrU1dydT/ofNMXeW/LnpKGAMHu6lCQA9ipz8Flt6yMm5xmfUgT6AhyvlEp74F341GNc16dd3eoz7FpvaPSG8wBKTwNOD1eRcPD5AVNy+60YPhvN/PNWkYt3ZDfChNkEm1/J7CiuVpo1Nt+YsbQpeZrXX4NEGNu+g==","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlP0L5UpEn4vQt1o4xuF1\nMLRTJ44iugnp9JlATRNee1z4WZhLFkrLN1DMms4beQQi70dWHvMQhDfY6h2RekCX\nwN7hyt21xvQRNVEgAxsT/AQ9pNBEkEpOQhyVhw6QJkc0BXuDq20pqAlA7LWq13BY\nvUt3AsAP4hFcbRgSqm65Q6evFPDbfwIFdZOc97a9ovQx0ru2B2cgFSGkXIm9ZM1D\nQtH+BA1JYK6ZD4p4woqdYySqvZQfHOxlJk3IqkoL3vWbDfVBlOqqNstkYKEg84aB\nYRW5HrpfezqYjOkMLTZIYppXwraJaTPyjwV17xV3G/JuZqZb70JoAt6KInfdTsHN\nswIDAQAB\n-----END PUBLIC KEY-----\n"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"fileCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"signatureFieldCount":{"type":"number"},"signatures":{"type":"array","items":{}},"detachedVerified":{"type":"boolean"},"technicalSignatureVerified":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"verified","fileCount":1,"items":[{"id":"DOC-1","filename":"contract-v1.pdf","sha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","signatureFieldCount":0,"signatures":[],"detachedVerified":true,"technicalSignatureVerified":true,"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[{"kind":"observation","code":"no_pdf_sig_dict","subject":"DOC-1","detail":"No /Type /Sig dictionary was found in the PDF structure."}],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.05"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/signature-certificate-chain-validate":{"post":{"operationId":"validate_signature_certificate_chains","summary":"Validate signature certificate chains","description":"Parse supplied X.509 certificates and check validity windows and issuer links locally. Not a legal trust determination.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","certificates":[{"id":"CERT-1","role":"leaf","documentId":"DOC-1","pem":"-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgIUdFF+3v6mMT5dsnQ6BdI3GHYcABkwDQYJKoZIhvcNAQEL\nBQAwPDEXMBUGA1UEAwwORXhhbXBsZSBTaWduZXIxFDASBgNVBAoMC0V4YW1wbGUg\nT3JnMQswCQYDVQQGEwJVUzAeFw0yNjExMDQyMDA4NDRaFw0zNjExMDEyMDA4NDRa\nMDwxFzAVBgNVBAMMDkV4YW1wbGUgU2lnbmVyMRQwEgYDVQQKDAtFeGFtcGxlIE9y\nZzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU\n/QvlSkSfi9C3WjjG4XUwtFMnjiK6Cen0mUBNE157XPhZmEsWSss3UMyazht5BCLv\nR1Ye8xCEN9jqHZF6QJfA3uHK3bXG9BE1USADGxP8BD2k0ESQSk5CHJWHDpAmRzQF\ne4OrbSmoCUDstarXcFi9S3cCwA/iEVxtGBKqbrlDp68U8Nt/AgV1k5z3tr2i9DHS\nu7YHZyAVIaRcib1kzUNC0f4EDUlgrpkPinjCip1jJKq9lB8c7GUmTciqSgve9ZsN\n9UGU6qo2y2RgoSDzhoFhFbkeul97OpiM6QwtNkhimlfCtolpM/KPBXXvFXcb8m5m\nplvvQmgC3ooid91Owc2zAgMBAAGjUzBRMB0GA1UdDgQWBBSfVzjl0xSFnLv+541I\nKItNMU7FgjAfBgNVHSMEGDAWgBSfVzjl0xSFnLv+541IKItNMU7FgjAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCA+yZEvX87TPa3Itq+yxFyN1en\nEmog8oN8KgLw8EwH/9rRD/H2rd6bF1+fKBJxdF5Dmqfh0iqU8eG1G6odOYRiYPlH\nwJcYOX/8c2D8R1+l228v3pyFDCwn9MeHTiZ5sF+0pDHv7rhCynUTlJH17MUzEa7q\nilt0hsfxqVDGdQaCA3rh7Y6YuYFcn2ZfQAgDFy/KwK8dBmvstaWRwL3zozi6bj+M\nlRWwhSNubiefSlnqdbIaN1qm4q5WJMPO7IhtsorCESC5O+L2M47SzX8T9aF9qLlR\nrK2pWWG1GT0083P9ga9o8EO6XK2i0SdKonnvXBn98Soc6AoZwdtgOXisTCDK\n-----END CERTIFICATE-----\n"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"certificateCount":{"type":"number"},"technicalChainOk":{"type":"boolean"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"role":{"type":"string"},"subject":{"type":"string"},"issuer":{"type":"string"},"serialNumber":{"type":"string"},"validFrom":{"type":"string"},"validTo":{"type":"string"},"fingerprintSha256":{"type":"string"},"parseOk":{"type":"boolean"},"currentlyValid":{"type":"boolean"},"linksToNext":{"type":"boolean"},"technicalChainOk":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"validated","certificateCount":1,"technicalChainOk":true,"items":[{"id":"CERT-1","role":"leaf","subject":"CN=Example Signer\nO=Example Org\nC=US","issuer":"CN=Example Signer\nO=Example Org\nC=US","serialNumber":"74517EDEFEA6313E5DB2743A05D23718761C0019","validFrom":"Nov  4 20:08:44 2026 GMT","validTo":"Nov  1 20:08:44 2036 GMT","fingerprintSha256":"68b42b844c3f920fadb832aece0ffe9e6e580da0944c95829121ed49fd97841b","parseOk":true,"currentlyValid":true,"linksToNext":false,"technicalChainOk":true,"legalEnforceabilityClaimed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/signature-timestamp-validate":{"post":{"operationId":"validate_signature_timestamps","summary":"Validate signature timestamps","description":"Check PDF /M timestamps and caller-supplied signer signedAt values against asOf and optional certificate windows.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}],"signers":[{"id":"SGN-1","documentId":"DOC-1","name":"Alice Example","signedAt":"2026-11-04T18:00:00.000Z","fieldName":"Buyer"}],"certificates":[{"id":"CERT-1","role":"leaf","documentId":"DOC-1","pem":"-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgIUdFF+3v6mMT5dsnQ6BdI3GHYcABkwDQYJKoZIhvcNAQEL\nBQAwPDEXMBUGA1UEAwwORXhhbXBsZSBTaWduZXIxFDASBgNVBAoMC0V4YW1wbGUg\nT3JnMQswCQYDVQQGEwJVUzAeFw0yNjExMDQyMDA4NDRaFw0zNjExMDEyMDA4NDRa\nMDwxFzAVBgNVBAMMDkV4YW1wbGUgU2lnbmVyMRQwEgYDVQQKDAtFeGFtcGxlIE9y\nZzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU\n/QvlSkSfi9C3WjjG4XUwtFMnjiK6Cen0mUBNE157XPhZmEsWSss3UMyazht5BCLv\nR1Ye8xCEN9jqHZF6QJfA3uHK3bXG9BE1USADGxP8BD2k0ESQSk5CHJWHDpAmRzQF\ne4OrbSmoCUDstarXcFi9S3cCwA/iEVxtGBKqbrlDp68U8Nt/AgV1k5z3tr2i9DHS\nu7YHZyAVIaRcib1kzUNC0f4EDUlgrpkPinjCip1jJKq9lB8c7GUmTciqSgve9ZsN\n9UGU6qo2y2RgoSDzhoFhFbkeul97OpiM6QwtNkhimlfCtolpM/KPBXXvFXcb8m5m\nplvvQmgC3ooid91Owc2zAgMBAAGjUzBRMB0GA1UdDgQWBBSfVzjl0xSFnLv+541I\nKItNMU7FgjAfBgNVHSMEGDAWgBSfVzjl0xSFnLv+541IKItNMU7FgjAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCA+yZEvX87TPa3Itq+yxFyN1en\nEmog8oN8KgLw8EwH/9rRD/H2rd6bF1+fKBJxdF5Dmqfh0iqU8eG1G6odOYRiYPlH\nwJcYOX/8c2D8R1+l228v3pyFDCwn9MeHTiZ5sF+0pDHv7rhCynUTlJH17MUzEa7q\nilt0hsfxqVDGdQaCA3rh7Y6YuYFcn2ZfQAgDFy/KwK8dBmvstaWRwL3zozi6bj+M\nlRWwhSNubiefSlnqdbIaN1qm4q5WJMPO7IhtsorCESC5O+L2M47SzX8T9aF9qLlR\nrK2pWWG1GT0083P9ga9o8EO6XK2i0SdKonnvXBn98Soc6AoZwdtgOXisTCDK\n-----END CERTIFICATE-----\n"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"itemCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string"},"fieldHint":{"type":"string"},"signedAt":{"type":"string"},"parsed":{"type":"boolean"},"notAfterAsOf":{"type":"boolean"},"withinCertWindow":{"type":"boolean"},"technicalTimestampOk":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"},"source":{"type":"string"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"validated","itemCount":1,"items":[{"documentId":"DOC-1","fieldHint":"Buyer","signedAt":"2026-11-04T18:00:00.000Z","parsed":true,"notAfterAsOf":true,"withinCertWindow":false,"technicalTimestampOk":true,"legalEnforceabilityClaimed":false,"source":"caller_signer"}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/signed-tamper-detect":{"post":{"operationId":"detect_signed_document_tampering","summary":"Detect signed-document tampering","description":"Compare current PDF hashes and ByteRange digests to caller-supplied expectations. Missing expectations are not invented.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","expectedSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"fileCount":{"type":"number"},"tamperSuspectedCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"expectedSha256":{"type":"string"},"expectedHashMatch":{"type":"boolean"},"expectedHashCompared":{"type":"boolean"},"byteRangeMismatch":{"type":"boolean"},"tamperSuspected":{"type":"boolean"},"integrityOk":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"checked","fileCount":1,"tamperSuspectedCount":0,"items":[{"id":"DOC-1","filename":"contract-v1.pdf","sha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","expectedSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","expectedHashMatch":true,"expectedHashCompared":true,"byteRangeMismatch":false,"tamperSuspected":false,"integrityOk":true,"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/signature-coverage-check":{"post":{"operationId":"check_document_signature_coverage","summary":"Check document signature coverage","description":"Measure ByteRange coverage over supplied PDF bytes for each signature field found locally.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"fileCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"filename":{"type":"string"},"size":{"type":"number"},"pageCountHint":{"type":"number"},"signatureFieldCount":{"type":"number"},"coveredBytes":{"type":"number"},"coverageRatio":{"type":"number"},"fields":{"type":"array","items":{}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"checked","fileCount":1,"items":[{"id":"DOC-1","filename":"contract-v1.pdf","size":872,"pageCountHint":0,"signatureFieldCount":0,"coveredBytes":0,"coverageRatio":0,"fields":[],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[{"kind":"observation","code":"no_coverage","subject":"DOC-1","detail":"No signature ByteRange coverage was found."}],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/signature-revocation-status-check":{"post":{"operationId":"check_signature_revocation_status","summary":"Check signature revocation status","description":"Compare certificate serials to caller-supplied revocation entries only. Live commercial OCSP/CRL networks are not queried.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","certificates":[{"id":"CERT-1","role":"leaf","pem":"-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgIUdFF+3v6mMT5dsnQ6BdI3GHYcABkwDQYJKoZIhvcNAQEL\nBQAwPDEXMBUGA1UEAwwORXhhbXBsZSBTaWduZXIxFDASBgNVBAoMC0V4YW1wbGUg\nT3JnMQswCQYDVQQGEwJVUzAeFw0yNjExMDQyMDA4NDRaFw0zNjExMDEyMDA4NDRa\nMDwxFzAVBgNVBAMMDkV4YW1wbGUgU2lnbmVyMRQwEgYDVQQKDAtFeGFtcGxlIE9y\nZzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU\n/QvlSkSfi9C3WjjG4XUwtFMnjiK6Cen0mUBNE157XPhZmEsWSss3UMyazht5BCLv\nR1Ye8xCEN9jqHZF6QJfA3uHK3bXG9BE1USADGxP8BD2k0ESQSk5CHJWHDpAmRzQF\ne4OrbSmoCUDstarXcFi9S3cCwA/iEVxtGBKqbrlDp68U8Nt/AgV1k5z3tr2i9DHS\nu7YHZyAVIaRcib1kzUNC0f4EDUlgrpkPinjCip1jJKq9lB8c7GUmTciqSgve9ZsN\n9UGU6qo2y2RgoSDzhoFhFbkeul97OpiM6QwtNkhimlfCtolpM/KPBXXvFXcb8m5m\nplvvQmgC3ooid91Owc2zAgMBAAGjUzBRMB0GA1UdDgQWBBSfVzjl0xSFnLv+541I\nKItNMU7FgjAfBgNVHSMEGDAWgBSfVzjl0xSFnLv+541IKItNMU7FgjAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCA+yZEvX87TPa3Itq+yxFyN1en\nEmog8oN8KgLw8EwH/9rRD/H2rd6bF1+fKBJxdF5Dmqfh0iqU8eG1G6odOYRiYPlH\nwJcYOX/8c2D8R1+l228v3pyFDCwn9MeHTiZ5sF+0pDHv7rhCynUTlJH17MUzEa7q\nilt0hsfxqVDGdQaCA3rh7Y6YuYFcn2ZfQAgDFy/KwK8dBmvstaWRwL3zozi6bj+M\nlRWwhSNubiefSlnqdbIaN1qm4q5WJMPO7IhtsorCESC5O+L2M47SzX8T9aF9qLlR\nrK2pWWG1GT0083P9ga9o8EO6XK2i0SdKonnvXBn98Soc6AoZwdtgOXisTCDK\n-----END CERTIFICATE-----\n"}],"revocations":[{"serialNumber":"00DEADBEEF","revokedAt":"2026-01-01T00:00:00.000Z","reason":"example unrelated serial","source":"Caller-supplied CRL excerpt"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"certificateCount":{"type":"number"},"revokedCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"certificateId":{"type":"string"},"serialNumber":{"type":"string"},"revoked":{"type":"boolean"},"revokedAt":{"type":"string"},"reason":{"type":"string"},"source":{"type":"string"},"technicalRevocationChecked":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"checked","certificateCount":1,"revokedCount":0,"items":[{"certificateId":"CERT-1","serialNumber":"74517EDEFEA6313E5DB2743A05D23718761C0019","revoked":false,"revokedAt":"","reason":"","source":"","technicalRevocationChecked":true,"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.03"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/contract-signed-version-match":{"post":{"operationId":"match_signed_contract_versions","summary":"Match signed contract versions","description":"Compare sha256 digests and version labels across supplied signed PDF copies. Differing hashes are reported, not invented.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","versionLabel":"v1","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="},{"id":"DOC-2","filename":"contract-v1-copy.pdf","mediaType":"application/pdf","versionLabel":"v1","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"pairCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"leftId":{"type":"string"},"rightId":{"type":"string"},"leftVersionLabel":{"type":"string"},"rightVersionLabel":{"type":"string"},"hashMatch":{"type":"boolean"},"labelMatch":{"type":"boolean"},"matched":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"compared","pairCount":1,"items":[{"leftId":"DOC-1","rightId":"DOC-2","leftVersionLabel":"v1","rightVersionLabel":"v1","hashMatch":true,"labelMatch":true,"matched":true,"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/multi-signer-audit":{"post":{"operationId":"audit_multi_signer_documents","summary":"Audit multi-signer documents","description":"List PDF signature dictionaries and caller-supplied signers per document. Technical listing is not legal enforceability.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}],"signers":[{"id":"SGN-1","documentId":"DOC-1","name":"Alice Example","email":"alice@example.com","signedAt":"2026-11-04T18:00:00.000Z","fieldName":"Buyer","certificateId":"CERT-1"},{"id":"SGN-2","documentId":"DOC-1","name":"Bob Example","email":"bob@example.com","signedAt":"2026-11-04T19:00:00.000Z","fieldName":"Seller"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"documentCount":{"type":"number"},"items":{"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string"},"filename":{"type":"string"},"signerCount":{"type":"number"},"signers":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"fieldName":{"type":"string"},"signedAt":{"type":"string"},"certificateId":{"type":"string"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"audited","documentCount":1,"items":[{"documentId":"DOC-1","filename":"contract-v1.pdf","signerCount":2,"signers":[{"source":"caller","id":"SGN-1","name":"Alice Example","email":"alice@example.com","fieldName":"Buyer","signedAt":"2026-11-04T18:00:00.000Z","certificateId":"CERT-1"},{"source":"caller","id":"SGN-2","name":"Bob Example","email":"bob@example.com","fieldName":"Seller","signedAt":"2026-11-04T19:00:00.000Z","certificateId":""}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.04"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/evidence-bundle-build":{"post":{"operationId":"build_document_evidence_bundles","summary":"Build document evidence bundles","description":"Bundle local signature, certificate, timestamp, tamper, coverage, and revocation checks with an explicit technical-vs-legal distinction.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","versionLabel":"v1","expectedSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}],"certificates":[{"id":"CERT-1","role":"leaf","documentId":"DOC-1","pem":"-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgIUdFF+3v6mMT5dsnQ6BdI3GHYcABkwDQYJKoZIhvcNAQEL\nBQAwPDEXMBUGA1UEAwwORXhhbXBsZSBTaWduZXIxFDASBgNVBAoMC0V4YW1wbGUg\nT3JnMQswCQYDVQQGEwJVUzAeFw0yNjExMDQyMDA4NDRaFw0zNjExMDEyMDA4NDRa\nMDwxFzAVBgNVBAMMDkV4YW1wbGUgU2lnbmVyMRQwEgYDVQQKDAtFeGFtcGxlIE9y\nZzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU\n/QvlSkSfi9C3WjjG4XUwtFMnjiK6Cen0mUBNE157XPhZmEsWSss3UMyazht5BCLv\nR1Ye8xCEN9jqHZF6QJfA3uHK3bXG9BE1USADGxP8BD2k0ESQSk5CHJWHDpAmRzQF\ne4OrbSmoCUDstarXcFi9S3cCwA/iEVxtGBKqbrlDp68U8Nt/AgV1k5z3tr2i9DHS\nu7YHZyAVIaRcib1kzUNC0f4EDUlgrpkPinjCip1jJKq9lB8c7GUmTciqSgve9ZsN\n9UGU6qo2y2RgoSDzhoFhFbkeul97OpiM6QwtNkhimlfCtolpM/KPBXXvFXcb8m5m\nplvvQmgC3ooid91Owc2zAgMBAAGjUzBRMB0GA1UdDgQWBBSfVzjl0xSFnLv+541I\nKItNMU7FgjAfBgNVHSMEGDAWgBSfVzjl0xSFnLv+541IKItNMU7FgjAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCA+yZEvX87TPa3Itq+yxFyN1en\nEmog8oN8KgLw8EwH/9rRD/H2rd6bF1+fKBJxdF5Dmqfh0iqU8eG1G6odOYRiYPlH\nwJcYOX/8c2D8R1+l228v3pyFDCwn9MeHTiZ5sF+0pDHv7rhCynUTlJH17MUzEa7q\nilt0hsfxqVDGdQaCA3rh7Y6YuYFcn2ZfQAgDFy/KwK8dBmvstaWRwL3zozi6bj+M\nlRWwhSNubiefSlnqdbIaN1qm4q5WJMPO7IhtsorCESC5O+L2M47SzX8T9aF9qLlR\nrK2pWWG1GT0083P9ga9o8EO6XK2i0SdKonnvXBn98Soc6AoZwdtgOXisTCDK\n-----END CERTIFICATE-----\n"}],"signers":[{"id":"SGN-1","documentId":"DOC-1","name":"Alice Example","signedAt":"2026-11-04T18:00:00.000Z","fieldName":"Buyer","certificateId":"CERT-1"}],"detachedSignatures":[{"documentId":"DOC-1","algorithm":"RSA-SHA256","digestSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","signatureBase64":"CrAa3VIMo34lzjcyJmQazbFS9GFjQ3d/8YLFy6EkOOCaEdOWpl06+ntOvLUGVGmqxtIHICr5ULqd7rUzGvRzHoRWEWp8GfCDto/tYi/0Gw63Da/5gmtumBS7qXfC3m5ce41EwYVtW2dDdB+9wp8sPpK+OuCLPqTLLQLktfiN/WosEkjxS2D49dHrU1dydT/ofNMXeW/LnpKGAMHu6lCQA9ipz8Flt6yMm5xmfUgT6AhyvlEp74F341GNc16dd3eoz7FpvaPSG8wBKTwNOD1eRcPD5AVNy+60YPhvN/PNWkYt3ZDfChNkEm1/J7CiuVpo1Nt+YsbQpeZrXX4NEGNu+g==","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlP0L5UpEn4vQt1o4xuF1\nMLRTJ44iugnp9JlATRNee1z4WZhLFkrLN1DMms4beQQi70dWHvMQhDfY6h2RekCX\nwN7hyt21xvQRNVEgAxsT/AQ9pNBEkEpOQhyVhw6QJkc0BXuDq20pqAlA7LWq13BY\nvUt3AsAP4hFcbRgSqm65Q6evFPDbfwIFdZOc97a9ovQx0ru2B2cgFSGkXIm9ZM1D\nQtH+BA1JYK6ZD4p4woqdYySqvZQfHOxlJk3IqkoL3vWbDfVBlOqqNstkYKEg84aB\nYRW5HrpfezqYjOkMLTZIYppXwraJaTPyjwV17xV3G/JuZqZb70JoAt6KInfdTsHN\nswIDAQAB\n-----END PUBLIC KEY-----\n"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"asOf":{"type":"string"},"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"size":{"type":"number"},"signatureFieldCount":{"type":"number"},"versionLabel":{"type":"string"}},"additionalProperties":true}},"certificates":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"subject":{"type":"string"},"issuer":{"type":"string"},"serialNumber":{"type":"string"},"fingerprintSha256":{"type":"string"},"validFrom":{"type":"string"},"validTo":{"type":"string"}},"additionalProperties":true}},"sections":{"type":"object","properties":{"signatureVerify":{"type":"object","properties":{"fileCount":{"type":"number"}},"additionalProperties":true},"certificateChain":{"type":"object","properties":{"certificateCount":{"type":"number"},"technicalChainOk":{"type":"boolean"}},"additionalProperties":true},"timestamps":{"type":"object","properties":{"itemCount":{"type":"number"}},"additionalProperties":true},"tamper":{"type":"object","properties":{"tamperSuspectedCount":{"type":"number"}},"additionalProperties":true},"coverage":{"type":"object","properties":{"fileCount":{"type":"number"}},"additionalProperties":true},"revocation":{"type":"object","properties":{"revokedCount":{"type":"number"}},"additionalProperties":true}},"additionalProperties":true},"distinction":{"type":"object","properties":{"technicalVerification":{"type":"string"},"legalEnforceability":{"type":"string"}},"additionalProperties":true},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"bundled","asOf":"2026-11-04T21:00:00.000Z","documents":[{"id":"DOC-1","filename":"contract-v1.pdf","sha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","size":872,"signatureFieldCount":0,"versionLabel":"v1"}],"certificates":[{"id":"CERT-1","subject":"CN=Example Signer\nO=Example Org\nC=US","issuer":"CN=Example Signer\nO=Example Org\nC=US","serialNumber":"74517EDEFEA6313E5DB2743A05D23718761C0019","fingerprintSha256":"68b42b844c3f920fadb832aece0ffe9e6e580da0944c95829121ed49fd97841b","validFrom":"Nov  4 20:08:44 2026 GMT","validTo":"Nov  1 20:08:44 2036 GMT"}],"sections":{"signatureVerify":{"fileCount":1},"certificateChain":{"certificateCount":1,"technicalChainOk":true},"timestamps":{"itemCount":1},"tamper":{"tamperSuspectedCount":0},"coverage":{"fileCount":1},"revocation":{"revokedCount":0}},"distinction":{"technicalVerification":"Local hash, certificate, timestamp, and optional detached-signature checks.","legalEnforceability":"Not determined. Technical verification is not legal enforceability."},"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[{"kind":"observation","code":"no_pdf_sig_dict","subject":"DOC-1","detail":"No /Type /Sig dictionary was found in the PDF structure."},{"kind":"observation","code":"no_coverage","subject":"DOC-1","detail":"No signature ByteRange coverage was found."},{"kind":"observation","code":"no_revocation_list","subject":"","detail":"No caller-supplied revocation entries were provided. Live OCSP/CRL networks were not queried."}],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.07"},"protocols":[{"x402":{}}]}}},"/api/v1/document-trust/electronic-trust-report":{"post":{"operationId":"build_electronic_document_trust_report","summary":"Build electronic document trust report","description":"Aggregate local signature, chain, timestamp, tamper, coverage, revocation, version, and multi-signer findings. Distinguishes technical verification from legal enforceability.","tags":["document-trust"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"text":{"type":"string","maxLength":200000},"json":{"type":"string","maxLength":200000},"files":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"filename":{"type":"string","minLength":1,"maxLength":180},"mediaType":{"type":"string","enum":["application/pdf","application/octet-stream"]},"fileBase64":{"type":"string","minLength":1,"maxLength":12000000},"versionLabel":{"type":"string","maxLength":80},"role":{"type":"string","maxLength":80},"expectedSha256":{"type":"string","maxLength":128},"expectedByteRangeSha256":{"type":"string","maxLength":128}},"required":["fileBase64"],"additionalProperties":false}},"certificates":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"pem":{"type":"string","minLength":1,"maxLength":50000},"role":{"type":"string","enum":["leaf","intermediate","root"]},"documentId":{"type":"string","maxLength":80}},"required":["pem"],"additionalProperties":false}},"signers":{"maxItems":40,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","maxLength":80},"documentId":{"type":"string","maxLength":80},"name":{"type":"string","maxLength":200},"email":{"type":"string","maxLength":200},"signedAt":{"type":"string","maxLength":40},"fieldName":{"type":"string","maxLength":120},"certificateId":{"type":"string","maxLength":80}},"additionalProperties":false}},"revocations":{"maxItems":200,"type":"array","items":{"type":"object","properties":{"serialNumber":{"type":"string","maxLength":128},"revokedAt":{"type":"string","maxLength":40},"reason":{"type":"string","maxLength":200},"source":{"type":"string","maxLength":200}},"additionalProperties":false}},"detachedSignatures":{"maxItems":20,"type":"array","items":{"type":"object","properties":{"documentId":{"type":"string","maxLength":80},"algorithm":{"type":"string","enum":["RSA-SHA256","RSA-SHA1","RSA-SHA512"]},"signatureBase64":{"type":"string","maxLength":100000},"publicKeyPem":{"type":"string","maxLength":50000},"digestSha256":{"type":"string","maxLength":128}},"additionalProperties":false}},"asOf":{"type":"string","maxLength":40}},"additionalProperties":false},"example":{"asOf":"2026-11-04T21:00:00.000Z","files":[{"id":"DOC-1","filename":"contract-v1.pdf","mediaType":"application/pdf","versionLabel":"v1","expectedSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="},{"id":"DOC-2","filename":"contract-v1-copy.pdf","mediaType":"application/pdf","versionLabel":"v1","expectedSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","fileBase64":"JVBERi0xLjcKJYGBgYEKCjYgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxMTYKPj4Kc3RyZWFtCnicHYqxCgIxEET7/YrUgrhJNrMJiIUasbAR9gdETrlDC0Xu+11lmMdjmBdtjTj88r7T6jg85uEzXi9L5ValstYWogS7UXKeKP6vMYjDa09al4wGRUeBJEbGAV1FEyKy+qLZba+MHcom2ES2oG50pi/eyRsgCmVuZHN0cmVhbQplbmRvYmoKCjcgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA1Ci9GaXJzdCAyNgovTGVuZ3RoIDM2MQo+PgpzdHJlYW0KeJzVUk1Lw0AQve+vmKMeZD+S5kNKoW0SBSlKKyiKh22ylEjZlWQj9d87k6SWHsSzhMfuzLzZfZt5EgQoCEMIIE4ghEmgYAKxlDCdMv749WGAP+idaRm/q6sWXpEjYA1vjC9dZz1INpuxE3epvd67HRuaQBL5yHhoXNWVpoFpkReFELEQIgoRkRAqw3WJSBEKY6ypBPeIOByBuTgQIphjrRgQxUMP1XvuZOzPcUVuRJxs4IbJEP/cS3flwxnqLz3pjPGVqzLtDVxk10qoSEoRYikJxMsl/o7GaO/+7+N6/bWzv77wbM40XhpyY8gD/ZT52rSua0ocO/EKhxXa3Jr9p/F1qa9ikSaoM05S9NhoDP58v303ZU+lMD/4m40nDUOCcitT1XrhDug+gR++AlAVeXBurfPkyt6P1qMaiqLRo2eSSRDjm27r+5CSkvGFbk0v9aQTRdjSVbXdAX+q7dy29TFBJ34D+qrFxQplbmRzdHJlYW0KZW5kb2JqCgo4IDAgb2JqCjw8Ci9TaXplIDkKL1Jvb3QgMiAwIFIKL0luZm8gMyAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCA0MQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA5IF0KPj4Kc3RyZWFtCnicFcTBDQAgDAOxS4rEl/3FSszUEj8MdJsNScmp0hIHxPv5wgBh3gO0CmVuZHN0cmVhbQplbmRvYmoKCnN0YXJ0eHJlZgo2NjgKJSVFT0Y="}],"certificates":[{"id":"CERT-1","role":"leaf","documentId":"DOC-1","pem":"-----BEGIN CERTIFICATE-----\nMIIDWTCCAkGgAwIBAgIUdFF+3v6mMT5dsnQ6BdI3GHYcABkwDQYJKoZIhvcNAQEL\nBQAwPDEXMBUGA1UEAwwORXhhbXBsZSBTaWduZXIxFDASBgNVBAoMC0V4YW1wbGUg\nT3JnMQswCQYDVQQGEwJVUzAeFw0yNjExMDQyMDA4NDRaFw0zNjExMDEyMDA4NDRa\nMDwxFzAVBgNVBAMMDkV4YW1wbGUgU2lnbmVyMRQwEgYDVQQKDAtFeGFtcGxlIE9y\nZzELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCU\n/QvlSkSfi9C3WjjG4XUwtFMnjiK6Cen0mUBNE157XPhZmEsWSss3UMyazht5BCLv\nR1Ye8xCEN9jqHZF6QJfA3uHK3bXG9BE1USADGxP8BD2k0ESQSk5CHJWHDpAmRzQF\ne4OrbSmoCUDstarXcFi9S3cCwA/iEVxtGBKqbrlDp68U8Nt/AgV1k5z3tr2i9DHS\nu7YHZyAVIaRcib1kzUNC0f4EDUlgrpkPinjCip1jJKq9lB8c7GUmTciqSgve9ZsN\n9UGU6qo2y2RgoSDzhoFhFbkeul97OpiM6QwtNkhimlfCtolpM/KPBXXvFXcb8m5m\nplvvQmgC3ooid91Owc2zAgMBAAGjUzBRMB0GA1UdDgQWBBSfVzjl0xSFnLv+541I\nKItNMU7FgjAfBgNVHSMEGDAWgBSfVzjl0xSFnLv+541IKItNMU7FgjAPBgNVHRMB\nAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCA+yZEvX87TPa3Itq+yxFyN1en\nEmog8oN8KgLw8EwH/9rRD/H2rd6bF1+fKBJxdF5Dmqfh0iqU8eG1G6odOYRiYPlH\nwJcYOX/8c2D8R1+l228v3pyFDCwn9MeHTiZ5sF+0pDHv7rhCynUTlJH17MUzEa7q\nilt0hsfxqVDGdQaCA3rh7Y6YuYFcn2ZfQAgDFy/KwK8dBmvstaWRwL3zozi6bj+M\nlRWwhSNubiefSlnqdbIaN1qm4q5WJMPO7IhtsorCESC5O+L2M47SzX8T9aF9qLlR\nrK2pWWG1GT0083P9ga9o8EO6XK2i0SdKonnvXBn98Soc6AoZwdtgOXisTCDK\n-----END CERTIFICATE-----\n"}],"signers":[{"id":"SGN-1","documentId":"DOC-1","name":"Alice Example","email":"alice@example.com","signedAt":"2026-11-04T18:00:00.000Z","fieldName":"Buyer","certificateId":"CERT-1"},{"id":"SGN-2","documentId":"DOC-1","name":"Bob Example","email":"bob@example.com","signedAt":"2026-11-04T19:00:00.000Z","fieldName":"Seller"}],"detachedSignatures":[{"documentId":"DOC-1","algorithm":"RSA-SHA256","digestSha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","signatureBase64":"CrAa3VIMo34lzjcyJmQazbFS9GFjQ3d/8YLFy6EkOOCaEdOWpl06+ntOvLUGVGmqxtIHICr5ULqd7rUzGvRzHoRWEWp8GfCDto/tYi/0Gw63Da/5gmtumBS7qXfC3m5ce41EwYVtW2dDdB+9wp8sPpK+OuCLPqTLLQLktfiN/WosEkjxS2D49dHrU1dydT/ofNMXeW/LnpKGAMHu6lCQA9ipz8Flt6yMm5xmfUgT6AhyvlEp74F341GNc16dd3eoz7FpvaPSG8wBKTwNOD1eRcPD5AVNy+60YPhvN/PNWkYt3ZDfChNkEm1/J7CiuVpo1Nt+YsbQpeZrXX4NEGNu+g==","publicKeyPem":"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlP0L5UpEn4vQt1o4xuF1\nMLRTJ44iugnp9JlATRNee1z4WZhLFkrLN1DMms4beQQi70dWHvMQhDfY6h2RekCX\nwN7hyt21xvQRNVEgAxsT/AQ9pNBEkEpOQhyVhw6QJkc0BXuDq20pqAlA7LWq13BY\nvUt3AsAP4hFcbRgSqm65Q6evFPDbfwIFdZOc97a9ovQx0ru2B2cgFSGkXIm9ZM1D\nQtH+BA1JYK6ZD4p4woqdYySqvZQfHOxlJk3IqkoL3vWbDfVBlOqqNstkYKEg84aB\nYRW5HrpfezqYjOkMLTZIYppXwraJaTPyjwV17xV3G/JuZqZb70JoAt6KInfdTsHN\nswIDAQAB\n-----END PUBLIC KEY-----\n"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"description":"Fresh random 32-byte value encoded as 64 hexadecimal characters. Reuse unchanged only for retries of the same operation and request.","schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}$"}}],"responses":{"200":{"description":"Illustrative endpoint-specific JSON response shape. Conditional fields depend on the result and data-source availability.","content":{"application/json":{"schema":{"type":"object","properties":{"checkedAt":{"type":"string"},"status":{"type":"string"},"asOf":{"type":"string"},"sections":{"type":"object","properties":{"signatureVerify":{"type":"object","properties":{"fileCount":{"type":"number"}},"additionalProperties":true},"certificateChain":{"type":"object","properties":{"technicalChainOk":{"type":"boolean"}},"additionalProperties":true},"timestamps":{"type":"object","properties":{"itemCount":{"type":"number"}},"additionalProperties":true},"tamper":{"type":"object","properties":{"tamperSuspectedCount":{"type":"number"}},"additionalProperties":true},"coverage":{"type":"object","properties":{"fileCount":{"type":"number"}},"additionalProperties":true},"revocation":{"type":"object","properties":{"revokedCount":{"type":"number"}},"additionalProperties":true},"versions":{"type":"object","properties":{"pairCount":{"type":"number"}},"additionalProperties":true},"multiSigner":{"type":"object","properties":{"documentCount":{"type":"number"}},"additionalProperties":true}},"additionalProperties":true},"documents":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"filename":{"type":"string"},"sha256":{"type":"string"},"signatureFieldCount":{"type":"number"},"signatures":{"type":"array","items":{}},"detachedVerified":{"type":"boolean"},"technicalSignatureVerified":{"type":"boolean"},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"}},"additionalProperties":true}},"distinction":{"type":"object","properties":{"technicalVerification":{"type":"string"},"legalEnforceability":{"type":"string"}},"additionalProperties":true},"legalEnforceabilityClaimed":{"type":"boolean"},"commercialPlatformUsed":{"type":"boolean"},"paidProviderUsed":{"type":"boolean"},"apiKeyRequired":{"type":"boolean"},"findings":{"type":"array","items":{"type":"object","properties":{"kind":{"type":"string"},"code":{"type":"string"},"subject":{"type":"string"},"detail":{"type":"string"}},"additionalProperties":true}},"limitations":{"type":"array","items":{"type":"string"}}},"additionalProperties":true},"example":{"checkedAt":"2026-11-04T21:00:00.000Z","status":"reported","asOf":"2026-11-04T21:00:00.000Z","sections":{"signatureVerify":{"fileCount":2},"certificateChain":{"technicalChainOk":true},"timestamps":{"itemCount":2},"tamper":{"tamperSuspectedCount":0},"coverage":{"fileCount":2},"revocation":{"revokedCount":0},"versions":{"pairCount":1},"multiSigner":{"documentCount":2}},"documents":[{"id":"DOC-1","filename":"contract-v1.pdf","sha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","signatureFieldCount":0,"signatures":[],"detachedVerified":true,"technicalSignatureVerified":true,"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false},{"id":"DOC-2","filename":"contract-v1-copy.pdf","sha256":"8f02a34abc7dfdaf8293f3cae3c3b621959ad02c66bc7401a6694afa470d4561","signatureFieldCount":0,"signatures":[],"detachedVerified":false,"technicalSignatureVerified":false,"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false}],"distinction":{"technicalVerification":"Cryptographic and structural checks performed locally on supplied PDFs and certificates.","legalEnforceability":"Not claimed. A technically valid signature is not a legal enforceability determination."},"legalEnforceabilityClaimed":false,"commercialPlatformUsed":false,"paidProviderUsed":false,"apiKeyRequired":false,"findings":[{"kind":"observation","code":"no_pdf_sig_dict","subject":"DOC-1","detail":"No /Type /Sig dictionary was found in the PDF structure."},{"kind":"observation","code":"no_pdf_sig_dict","subject":"DOC-2","detail":"No /Type /Sig dictionary was found in the PDF structure."},{"kind":"observation","code":"no_coverage","subject":"DOC-1","detail":"No signature ByteRange coverage was found."},{"kind":"observation","code":"no_coverage","subject":"DOC-2","detail":"No signature ByteRange coverage was found."},{"kind":"observation","code":"no_revocation_list","subject":"","detail":"No caller-supplied revocation entries were provided. Live OCSP/CRL networks were not queried."},{"kind":"observation","code":"single_or_no_signer","subject":"DOC-2","detail":"Fewer than two signers were found for a multi-signer audit."}],"limitations":["PDF bytes, certificates, signers, revocations, and detached signatures are processed only locally in this request path.","No commercial electronic-signature platform is used and no API key is required.","Technical signature, hash, certificate, and timestamp checks are not a determination of legal enforceability.","Full CMS/PKCS#7 cryptographic verification is reported only when a detached signature and public key are supplied, or when ByteRange digests match caller-supplied expectations. Missing CMS fields are not invented.","Revocation is evaluated only against caller-supplied revocation entries. Live commercial OCSP/CRL networks are not queried."]}}}},"400":{"description":"Invalid JSON or request schema."},"402":{"description":"Payment Required"},"409":{"description":"Idempotency conflict, in-progress payment, or expired result cache. Reusing the key cannot trigger a second charge."},"413":{"description":"Request body exceeds the 24 MB limit."},"500":{"description":"Operation failed. With upfront settlement this may occur after payment; reuse the same idempotency key to retrieve the stored result."},"503":{"description":"Payment or retry-safe result storage is unavailable; the operation is not run."}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.08"},"protocols":[{"x402":{}}]}}}},"components":{"schemas":{"ApiError":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{}}}}}}}}