{"openapi":"3.1.0","info":{"title":"SnoobScout Claim Check API","version":"2.0.0","description":"Independent evidence-based verification for one factual claim and one public HTTPS webpage or PDF. The current centrally configured Claim Check unit is 1 USD; callers must obtain a server quote and authorize a maximum. The legacy V1 path uses simulated payment while real payments remain disabled."},"servers":[{"url":"https://www.snoobscout.com"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Discovery"},{"name":"Account"},{"name":"Verification"},{"name":"Jobs"},{"name":"Help"},{"name":"Billing"},{"name":"Receipts"},{"name":"Policies"},{"name":"Support"}],"paths":{"/health":{"get":{"tags":["Discovery"],"security":[],"operationId":"health","summary":"Check service health","responses":{"200":{"description":"Service is available","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Health"}}}}}}},"/.well-known/agent-card.json":{"get":{"tags":["Discovery"],"security":[],"operationId":"getAgentCard","summary":"Get the agent capability card","responses":{"200":{"description":"Agent card","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/openapi.json":{"get":{"tags":["Discovery"],"security":[],"operationId":"getOpenApi","summary":"Get this OpenAPI document","responses":{"200":{"description":"OpenAPI 3.1 document"}}}},"/v1/help":{"get":{"tags":["Help"],"operationId":"getHelpIndex","summary":"List machine-readable Help topics","security":[],"responses":{"200":{"description":"List machine-readable Help topics","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/help/{topic}":{"get":{"tags":["Help"],"operationId":"getHelpTopic","summary":"Read one versioned Help topic","security":[],"responses":{"200":{"description":"Read one versioned Help topic","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"topic","in":"path","required":true,"schema":{"type":"string","enum":["getting-started","verification","council","billing","quoting","agent-protocols","credential-security","credential-recovery","receipts","refunds","errors","limits","security","account-status","corrections","schemas","reason-codes","assurance","document-processing","retention","privacy","training","policies"]}}]}},"/v1/help/query":{"post":{"tags":["Help"],"operationId":"queryHelp","summary":"Run bounded deterministic documentation lookup","security":[],"responses":{"200":{"description":"Grounded answer with documentation references","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["question"],"properties":{"question":{"type":"string","minLength":3,"maxLength":500}}}}}}}},"/v1/capabilities":{"get":{"tags":["Discovery"],"operationId":"getCapabilities","summary":"Discover capabilities","security":[],"responses":{"200":{"description":"Discover capabilities","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/version":{"get":{"tags":["Discovery"],"operationId":"getVersion","summary":"Discover API and policy versions","security":[],"responses":{"200":{"description":"Discover API and policy versions","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/status":{"get":{"tags":["Discovery"],"operationId":"getServiceStatus","summary":"Read safe commercial availability","security":[],"responses":{"200":{"description":"Read safe commercial availability","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/deprecations":{"get":{"tags":["Discovery"],"operationId":"getDeprecations","summary":"Read machine-readable API deprecations","security":[],"responses":{"200":{"description":"Read machine-readable API deprecations","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/signing-keys":{"get":{"tags":["Receipts"],"operationId":"listSigningKeys","summary":"List trusted public receipt-signing keys","security":[],"responses":{"200":{"description":"List trusted public receipt-signing keys","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/signing-keys/{key_id}":{"get":{"tags":["Receipts"],"operationId":"getSigningKey","summary":"Get one public receipt-signing key","security":[],"responses":{"200":{"description":"Get one public receipt-signing key","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/billing":{"get":{"tags":["Billing"],"operationId":"getBillingIndex","summary":"Discover billing endpoints","security":[],"responses":{"200":{"description":"Discover billing endpoints","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account/register":{"post":{"tags":["Account"],"operationId":"registerAccount","summary":"Register an operator account","security":[],"responses":{"202":{"description":"Neutral verification-pending response","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["email"],"properties":{"email":{"type":"string","format":"email","maxLength":254},"organization_name":{"type":"string","minLength":2,"maxLength":120},"agent_name":{"type":"string","minLength":2,"maxLength":120}}}}}}}},"/v1/account/verify-email":{"post":{"tags":["Account"],"operationId":"verifyAccountEmail","summary":"Verify a single-use email token","security":[],"responses":{"200":{"description":"Account activated and API credential displayed once","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid, expired, or used token","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["email","token"],"properties":{"email":{"type":"string","format":"email"},"token":{"type":"string","minLength":24,"maxLength":256}}}}}}}},"/v1/account/resend-verification":{"post":{"tags":["Account"],"operationId":"resendAccountVerification","summary":"Request another neutral verification message","security":[],"responses":{"202":{"description":"Neutral accepted response","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account":{"get":{"tags":["Account"],"operationId":"getAccount","summary":"Get account verification state and effective limits","responses":{"200":{"description":"Get account verification state and effective limits","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account/verification":{"get":{"tags":["Account"],"operationId":"getAccountVerification","summary":"Get account validation level","responses":{"200":{"description":"Get account validation level","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account/credentials/rotate":{"post":{"tags":["Account"],"operationId":"rotateCredential","summary":"Rotate the current credential","responses":{"201":{"description":"New credential displayed once","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account/credentials/{credential_id}/revoke":{"post":{"tags":["Account"],"operationId":"revokeCredential","summary":"Immediately revoke an owned credential","responses":{"200":{"description":"Immediately revoke an owned credential","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"credential_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/account/export":{"post":{"tags":["Account"],"operationId":"createAccountExport","summary":"Create an export of eligible owned account data","responses":{"200":{"description":"Create an export of eligible owned account data","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account/export/{export_id}":{"get":{"tags":["Account"],"operationId":"getAccountExport","summary":"Read an owned account export","responses":{"200":{"description":"Read an owned account export","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"export_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/account/close":{"post":{"tags":["Account"],"operationId":"closeAccount","summary":"Request account closure with retention holds","responses":{"200":{"description":"Request account closure with retention holds","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/account/closure-status":{"get":{"tags":["Account"],"operationId":"getAccountClosureStatus","summary":"Read account closure and retention status","responses":{"200":{"description":"Read account closure and retention status","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/billing/pricing":{"get":{"tags":["Billing"],"operationId":"getPricing","summary":"Get localized pricing","security":[],"responses":{"200":{"description":"Get localized pricing","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/billing/status":{"get":{"tags":["Billing"],"operationId":"getBillingStatus","summary":"Get this agent's billing status","responses":{"200":{"description":"Get this agent's billing status","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/billing/transactions":{"get":{"tags":["Billing"],"operationId":"listTransactions","summary":"List owned transactions","responses":{"200":{"description":"List owned transactions","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"cursor","in":"query","schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}}]}},"/v1/billing/transactions/{transaction_id}":{"get":{"tags":["Billing"],"operationId":"getTransaction","summary":"Get one owned transaction","responses":{"200":{"description":"Get one owned transaction","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"transaction_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/refunds/{refund_id}":{"get":{"tags":["Billing"],"operationId":"getRefund","summary":"Get one owned refund","responses":{"200":{"description":"Get one owned refund","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"refund_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/policies":{"get":{"tags":["Policies"],"operationId":"listPolicies","summary":"List policy metadata","security":[],"responses":{"200":{"description":"List policy metadata","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/v1/policies/{policy}":{"get":{"tags":["Policies"],"operationId":"getPolicy","summary":"Get policy metadata","security":[],"responses":{"200":{"description":"Get policy metadata","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"policy","in":"path","required":true,"schema":{"type":"string","enum":["terms","privacy","document-processing","acceptable-use","refunds","methodology","subprocessors"]}}]}},"/v1/receipts/{receipt_id}/deliver":{"post":{"tags":["Receipts"],"operationId":"requestReceiptDelivery","summary":"Request receipt delivery","responses":{"202":{"description":"Delivery queued","content":{"application/json":{"schema":{"type":"object"}}}},"503":{"description":"Delivery unavailable","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"receipt_id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["email"],"properties":{"email":{"type":"string","format":"email","maxLength":254}}}}}}}},"/v1/receipts/verify":{"post":{"tags":["Receipts"],"operationId":"verifyReceipt","summary":"Verify a signed receipt and its current trust status","security":[],"responses":{"200":{"description":"Verify a signed receipt and its current trust status","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["receipt"],"properties":{"receipt":{"type":"object"}}}}}}}},"/v1/verifications/{verification_id}":{"get":{"tags":["Verification"],"operationId":"getVerification","summary":"Resolve current verification status","responses":{"200":{"description":"Resolve current verification status","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"verification_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/verifications/{verification_id}/history":{"get":{"tags":["Verification"],"operationId":"getVerificationHistory","summary":"Read additive verification history","responses":{"200":{"description":"Read additive verification history","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"verification_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/verifications/{verification_id}/amendments":{"get":{"tags":["Verification"],"operationId":"getVerificationAmendments","summary":"Read receipt amendments","responses":{"200":{"description":"Read receipt amendments","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"verification_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/verifications/{verification_id}/challenge":{"post":{"tags":["Verification"],"operationId":"challengeVerification","summary":"Challenge without overwriting a completed result","responses":{"200":{"description":"Challenge without overwriting a completed result","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"verification_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/support":{"post":{"tags":["Support"],"operationId":"createSupportTicket","summary":"Create a support ticket","responses":{"202":{"description":"Ticket created","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["category","message"],"properties":{"category":{"type":"string","enum":["billing","payment","refund","receipt","technical_error","verification_dispute","account_access","security_report"]},"job_id":{"type":"string"},"message":{"type":"string","minLength":10,"maxLength":4000}}}}}}}},"/v1/support/security":{"post":{"tags":["Support"],"operationId":"createSecurityReport","summary":"Create a rate-limited security report","responses":{"202":{"description":"Report created","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["message"],"properties":{"job_id":{"type":"string"},"message":{"type":"string","minLength":10,"maxLength":4000}}}}}}}},"/v1/support/{ticket_id}":{"get":{"tags":["Support"],"operationId":"getSupportTicket","summary":"Get one owned support ticket","responses":{"200":{"description":"Get one owned support ticket","content":{"application/json":{"schema":{"type":"object"}}}}},"parameters":[{"name":"ticket_id","in":"path","required":true,"schema":{"type":"string"}}]}},"/v1/documents/validate":{"post":{"tags":["Verification"],"security":[],"operationId":"validateLocalDocumentPackage","summary":"Validate locally normalized document JSON","description":"Validates schema, bounds, provenance declarations, and the normalized JSON hash. It does not store the package or upload the original file.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LocalDocumentPackage"}}}},"responses":{"200":{"description":"Package is valid"},"413":{"description":"Package exceeds 300 KB"},"422":{"description":"Package is invalid"}}}},"/v1/document-jobs":{"post":{"tags":["Jobs"],"operationId":"createAuthorizedDocumentJob","summary":"Explicitly submit normalized document JSON for verification","description":"Accepts structured JSON only. SnoobScout processes it in memory and persists only the final report plus required usage, receipt, security, and audit records.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["quote_id","maximum_authorized_amount","request"],"additionalProperties":false,"properties":{"quote_id":{"type":"string"},"maximum_authorized_amount":{"type":"number","minimum":0},"request":{"$ref":"#/components/schemas/DocumentJobRequest"}}}}}},"responses":{"202":{"description":"Document job accepted"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"description":"Quote or authorization invalid"},"413":{"description":"Body exceeds 320 KB"}}}},"/v1/reports/{report_id}":{"get":{"tags":["Jobs"],"operationId":"getReportRetention","summary":"Get report retention state","parameters":[{"$ref":"#/components/parameters/ReportId"}],"responses":{"200":{"description":"Retention state"},"404":{"$ref":"#/components/responses/NotFound"}}},"post":{"tags":["Jobs"],"operationId":"setReportLegalHold","summary":"Set or clear a documented legal-hold exception","description":"Requires security:manage. An expiry (or null to clear), reason, actor, and audit event are recorded; there is no generic retain-forever override.","parameters":[{"$ref":"#/components/parameters/ReportId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["until","reason"],"additionalProperties":false,"properties":{"until":{"type":["string","null"],"format":"date-time"},"reason":{"type":"string","minLength":1,"maxLength":500}}}}}},"responses":{"200":{"description":"Hold updated"},"403":{"description":"security:manage required"},"404":{"$ref":"#/components/responses/NotFound"}}},"delete":{"tags":["Jobs"],"operationId":"deleteReportEarly","summary":"Permanently remove an owned final report before expiry","parameters":[{"$ref":"#/components/parameters/ReportId"}],"responses":{"200":{"description":"Report deleted or already deleted"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/quotes":{"post":{"tags":["Billing"],"operationId":"createQuote","summary":"Create a short-lived server-verified quote","description":"Returns the configured price, billable unit, expiry, and maximum authorization for the implemented Claim Check capability. No charge is created.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteRequest"}}}},"responses":{"201":{"description":"Quote created","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"}}}},"/v1/jobs":{"post":{"tags":["Jobs"],"operationId":"createAuthorizedJob","summary":"Authorize bounded spend and create a Claim Check job","description":"Consumes a valid unexpired quote, verifies the caller's maximum spend against the server quote, and invokes the same canonical verification service as /v1/verify, MCP, and A2A.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthorizedJobRequest"}}}},"responses":{"202":{"description":"Authorized job accepted"},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"description":"Quote expired, already consumed, or maximum authorization insufficient"},"429":{"description":"Spending circuit breaker reached"}}}},"/v1/verify":{"post":{"tags":["Verification"],"operationId":"createVerification","summary":"Create or replay one verification job","description":"V1 performs a source-support check for one atomic factual claim against one supplied public source. Requires a verified active account, verify:create, and an idempotency key. Future independent/high-assurance modes are not commercially enabled. Identical replays never create a second charge; changed content with the same key returns 409.","parameters":[{"name":"X-SnoobScout-Currency","in":"header","required":false,"schema":{"type":"string","enum":["USD","EUR","GBP","AUD","CAD","NZD","JPY","INR","CHF","SEK","NOK","DKK","PLN","BRL","MXN","SGD","HKD","KRW","ZAR"],"default":"USD"},"description":"ISO 4217 currency used by the caller's app. When omitted, SnoobScout derives currency from Accept-Language and falls back to USD."},{"name":"X-SnoobScout-Simulate-Payment","in":"header","required":false,"schema":{"type":"string","enum":["confirmed"]},"description":"Development-only simulated payment confirmation."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyRequest"},"examples":{"grant":{"value":{"schema_version":"1.0","claim":"ARC Discovery Grant DP240101033 received A$480,000.","source_url":"https://example.com/source","as_of":"2026-08-09","idempotency_key":"agent-job-20260809-001"}}}}}},"responses":{"202":{"description":"Job created, paid, processing, or completed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerifyAccepted"}}}},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"409":{"description":"Idempotency conflict","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}},"413":{"description":"Request body exceeds the 12 KB limit","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}},"415":{"description":"Content-Type is not application/json","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}},"429":{"description":"Rate, concurrency, or spending limit exceeded. Retry-After is returned in seconds.","headers":{"Retry-After":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}},"503":{"description":"Paid jobs disabled by kill switch","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}}}}},"/v1/jobs/{job_id}":{"get":{"tags":["Jobs"],"operationId":"getJob","summary":"Poll job state","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"200":{"description":"Current job state","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Job"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/jobs/{job_id}/result":{"get":{"tags":["Jobs"],"operationId":"getJobResult","summary":"Fetch the final structured result","description":"Poll after payment. Returns 409 until a completed or inconclusive result exists.","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"200":{"description":"Final result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationResult"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Result not ready","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}}}}},"/v1/jobs/{job_id}/evidence":{"get":{"tags":["Jobs"],"operationId":"getJobEvidence","summary":"Retrieve extracted evidence and source provenance","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"200":{"description":"Owned job evidence"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/jobs/{job_id}/follow-up":{"post":{"tags":["Jobs"],"operationId":"createFollowUp","summary":"Create a separately quoted follow-up job linked to an owned job","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"202":{"description":"Follow-up accepted"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Quote or maximum authorization cannot be used"}}}},"/v1/jobs/{job_id}/challenge":{"post":{"tags":["Jobs"],"operationId":"challengeJob","summary":"Challenge a completed job without altering its historical result","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"202":{"description":"Challenge submitted"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/usage/recent":{"get":{"tags":["Billing"],"operationId":"getRecentUsage","summary":"Retrieve server-authoritative usage events","responses":{"200":{"description":"Recent usage ledger","content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"const":"1.0"},"usage_events":{"type":"array","items":{"$ref":"#/components/schemas/UsageEvent"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"}}}},"/v1/security/events":{"get":{"tags":["Account"],"operationId":"getSecurityEvents","summary":"Retrieve sanitized credential-security events","responses":{"200":{"description":"Security events","content":{"application/json":{"schema":{"type":"object","properties":{"schema_version":{"const":"1.0"},"security_events":{"type":"array","items":{"$ref":"#/components/schemas/SecurityEvent"}}}}}}},"401":{"$ref":"#/components/responses/Unauthorized"}}}},"/v1/security/recovery":{"post":{"tags":["Account"],"security":[],"operationId":"requestCredentialRecovery","summary":"Request credential replacement using a generic anti-enumeration response","responses":{"202":{"description":"Request accepted whether or not the email is eligible"}}}},"/v1/security/recovery/verify":{"post":{"tags":["Account"],"security":[],"operationId":"verifyCredentialRecovery","summary":"Consume a short-lived single-use email verification token","responses":{"200":{"description":"Email control verified; returns a short-lived recovery ticket"},"400":{"$ref":"#/components/responses/BadRequest"}}}},"/v1/security/recovery/complete":{"post":{"tags":["Account"],"security":[],"operationId":"completeCredentialRecovery","summary":"Record customer decision and replace compromised credentials when allowed","responses":{"200":{"description":"Recovery completed; a new secret is shown once when issued"},"409":{"description":"Additional step-up verification is required"}}}},"/v1/jobs/{job_id}/receipt":{"get":{"tags":["Jobs"],"operationId":"getJobReceipt","summary":"Fetch the signed verification receipt","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"200":{"description":"Canonical Ed25519-signed receipt"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"description":"Receipt not ready"},"503":{"description":"Signing keys are not provisioned"}}}},"/v1/jobs/{job_id}/delivery":{"get":{"tags":["Jobs"],"operationId":"getJobDelivery","summary":"Fetch result and receipt delivery status","parameters":[{"$ref":"#/components/parameters/JobId"}],"responses":{"200":{"description":"Delivery status"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}},"/v1/jobs/{job_id}/feedback":{"post":{"tags":["Jobs"],"operationId":"submitJobFeedback","summary":"Submit or replace verification feedback","parameters":[{"$ref":"#/components/parameters/JobId"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"rating":{"type":"integer","minimum":1,"maximum":5},"correctness":{"type":"string","enum":["correct","partly_correct","incorrect","unsure"]},"expected_verdict":{"$ref":"#/components/schemas/Verdict"},"comment":{"type":"string","maxLength":4000}}}}}},"responses":{"202":{"description":"Feedback accepted"},"400":{"$ref":"#/components/responses/BadRequest"},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"$ref":"#/components/responses/NotFound"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API credential. Configure SNOOBSCOUT_DEV_API_KEY for deployments; the built-in development credential is accepted only from localhost."}},"parameters":{"JobId":{"name":"job_id","in":"path","required":true,"schema":{"type":"string","pattern":"^job_[a-f0-9]{32}$"}},"ReportId":{"name":"report_id","in":"path","required":true,"schema":{"type":"string","pattern":"^res_[a-f0-9]{32}$"}}},"responses":{"BadRequest":{"description":"Malformed or policy-invalid request","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}},"Unauthorized":{"description":"Missing or invalid API credential","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}},"NotFound":{"description":"Job not found for this agent","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}}}}}},"schemas":{"Health":{"type":"object","required":["status","version","real_payments_enabled"],"properties":{"status":{"const":"ok"},"version":{"type":"string"},"real_payments_enabled":{"type":"boolean","const":false}}},"VerifyRequest":{"type":"object","additionalProperties":false,"required":["claim","source_url","idempotency_key"],"properties":{"schema_version":{"const":"1.0"},"claim":{"type":"string","minLength":1,"maxLength":2000},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"as_of":{"type":"string","format":"date"},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}},"JobState":{"type":"string","enum":["payment_required","paid","queued","retrieving_source","verifying","adjudicating","complete","inconclusive","failed","refund_pending","refunded"]},"Verdict":{"type":"string","enum":["supported","partially_supported","unsupported","contradicted","outdated","unverifiable"]},"Payment":{"type":"object","required":["payment_id","status","refund_status","amount","currency","mode"],"properties":{"payment_id":{"type":"string"},"status":{"type":"string","enum":["payment_required","paid"]},"refund_status":{"type":"string","enum":["not_requested","pending","refunded","failed"]},"amount":{"type":"number","const":1},"currency":{"type":"string","enum":["USD","EUR","GBP","AUD","CAD","NZD","JPY","INR","CHF","SEK","NOK","DKK","PLN","BRL","MXN","SGD","HKD","KRW","ZAR"],"default":"USD"},"mode":{"const":"simulated"},"settled_at":{"type":["string","null"],"format":"date-time"}}},"VerifyAccepted":{"type":"object","required":["job","reused","payment_mode","next_action"],"properties":{"job":{"$ref":"#/components/schemas/Job"},"reused":{"type":"boolean"},"payment_mode":{"const":"simulated"},"next_action":{"type":"string"}}},"Job":{"type":"object","required":["job_id","status","claim","price","links"],"properties":{"job_id":{"type":"string"},"status":{"$ref":"#/components/schemas/JobState"},"claim":{"type":"string"},"source_url":{"type":["string","null"]},"as_of":{"type":["string","null"]},"price":{"type":"object","properties":{"amount":{"const":1},"currency":{"type":"string","enum":["USD","EUR","GBP","AUD","CAD","NZD","JPY","INR","CHF","SEK","NOK","DKK","PLN","BRL","MXN","SGD","HKD","KRW","ZAR"],"default":"USD"}}},"payment":{"oneOf":[{"$ref":"#/components/schemas/Payment"},{"type":"null"}]},"failure":{"type":["object","null"]},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"completed_at":{"type":["string","null"]},"links":{"type":"object","properties":{"self":{"type":"string"},"result":{"type":"string"},"receipt":{"type":"string"},"delivery":{"type":"string"},"feedback":{"type":"string"}}}}},"Evidence":{"type":"object","additionalProperties":false,"required":["evidence_id","type","location","statement"],"properties":{"evidence_id":{"type":"string"},"type":{"type":"string","enum":["direct","contextual","deterministic"]},"location":{"type":"string"},"statement":{"type":"string"}}},"Confidence":{"type":"object","additionalProperties":false,"required":["value","calibrated","band"],"properties":{"value":{"type":"number","minimum":0,"maximum":1},"calibrated":{"const":false},"band":{"type":"string","enum":["low","medium","high"]}}},"Assurance":{"type":"object","additionalProperties":false,"required":["level","verification_mode","primary_source_read","deterministic_checks_used","secondary_verifier_used","counter_evidence_search_used","council_used","adjudication_used","independent_provider_count"],"properties":{"level":{"type":"string","enum":["basic","standard","council","high_assurance"]},"verification_mode":{"type":"string","enum":["source_support","independent_verification","high_assurance"]},"primary_source_read":{"type":"boolean"},"deterministic_checks_used":{"type":"boolean"},"secondary_verifier_used":{"type":"boolean"},"counter_evidence_search_used":{"type":"boolean"},"council_used":{"type":"boolean"},"adjudication_used":{"type":"boolean"},"independent_provider_count":{"type":"integer","minimum":0}}},"ReasonCode":{"type":"string","enum":["SOURCE_DIRECTLY_SUPPORTS_CLAIM","SOURCE_PARTIALLY_SUPPORTS_CLAIM","SOURCE_DOES_NOT_CONTAIN_FACT","SOURCE_CONTAINS_RELATED_BUT_INSUFFICIENT_FACT","AUTHORITATIVE_SOURCE_CONFLICT","NUMERIC_CONTRADICTION","DATE_MISMATCH","TEMPORAL_OUTDATEDNESS","SCOPE_OVERSTATEMENT","CAUSAL_INFERENCE_NOT_SUPPORTED","QUANTITY_OVERSTATEMENT","MATERIAL_QUALIFIER_MISSING","CITATION_MISMATCH","SOURCE_INACCESSIBLE","SOURCE_AMBIGUOUS","INSUFFICIENT_EVIDENCE","COMPOUND_CLAIM","DETERMINISTIC_CHECK_CONFLICT","MULTI_SOURCE_CONFLICT","MODEL_DISAGREEMENT_UNRESOLVED","VERIFICATION_BUDGET_EXHAUSTED"]},"VerificationResult":{"type":"object","additionalProperties":false,"required":["schema_version","job_id","verification_id","status","claim","verification_mode","verdict","reason_code","secondary_reason_codes","actionability","confidence","source","evidence","analysis","suggested_correction","assurance","limitations","verification","usage","completed_at","integrity"],"properties":{"schema_version":{"const":"1.0"},"job_id":{"type":"string"},"verification_id":{"type":"string"},"status":{"type":"string","enum":["complete","inconclusive"]},"claim":{"type":"object","additionalProperties":false,"required":["original","atomic_subclaims"],"properties":{"original":{"type":"string"},"atomic_subclaims":{"type":"array","items":{"type":"string"}}}},"verification_mode":{"const":"source_support"},"verdict":{"type":"string","enum":["supported","partially_supported","unsupported","contradicted","outdated","unverifiable"]},"reason_code":{"type":"string","enum":["SOURCE_DIRECTLY_SUPPORTS_CLAIM","SOURCE_PARTIALLY_SUPPORTS_CLAIM","SOURCE_DOES_NOT_CONTAIN_FACT","SOURCE_CONTAINS_RELATED_BUT_INSUFFICIENT_FACT","AUTHORITATIVE_SOURCE_CONFLICT","NUMERIC_CONTRADICTION","DATE_MISMATCH","TEMPORAL_OUTDATEDNESS","SCOPE_OVERSTATEMENT","CAUSAL_INFERENCE_NOT_SUPPORTED","QUANTITY_OVERSTATEMENT","MATERIAL_QUALIFIER_MISSING","CITATION_MISMATCH","SOURCE_INACCESSIBLE","SOURCE_AMBIGUOUS","INSUFFICIENT_EVIDENCE","COMPOUND_CLAIM","DETERMINISTIC_CHECK_CONFLICT","MULTI_SOURCE_CONFLICT","MODEL_DISAGREEMENT_UNRESOLVED","VERIFICATION_BUDGET_EXHAUSTED"]},"secondary_reason_codes":{"type":"array","uniqueItems":true,"items":{"type":"string","enum":["SOURCE_DIRECTLY_SUPPORTS_CLAIM","SOURCE_PARTIALLY_SUPPORTS_CLAIM","SOURCE_DOES_NOT_CONTAIN_FACT","SOURCE_CONTAINS_RELATED_BUT_INSUFFICIENT_FACT","AUTHORITATIVE_SOURCE_CONFLICT","NUMERIC_CONTRADICTION","DATE_MISMATCH","TEMPORAL_OUTDATEDNESS","SCOPE_OVERSTATEMENT","CAUSAL_INFERENCE_NOT_SUPPORTED","QUANTITY_OVERSTATEMENT","MATERIAL_QUALIFIER_MISSING","CITATION_MISMATCH","SOURCE_INACCESSIBLE","SOURCE_AMBIGUOUS","INSUFFICIENT_EVIDENCE","COMPOUND_CLAIM","DETERMINISTIC_CHECK_CONFLICT","MULTI_SOURCE_CONFLICT","MODEL_DISAGREEMENT_UNRESOLVED","VERIFICATION_BUDGET_EXHAUSTED"]}},"actionability":{"type":"string","enum":["safe_to_use_as_cited","revise_before_use","do_not_use_as_cited","seek_additional_evidence","source_outdated","manual_review_recommended"]},"confidence":{"type":"object","additionalProperties":false,"required":["value","calibrated","band"],"properties":{"value":{"type":"number","minimum":0,"maximum":1},"calibrated":{"const":false},"band":{"type":"string","enum":["low","medium","high"]}}},"source":{"type":"object","additionalProperties":false,"required":["url","retrieved","retrieved_at","content_hash","publication_date","effective_date"],"properties":{"url":{"type":"string"},"retrieved":{"type":"boolean"},"retrieved_at":{"type":["string","null"]},"content_hash":{"type":["string","null"]},"publication_date":{"type":["string","null"]},"effective_date":{"type":["string","null"]}}},"evidence":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["evidence_id","type","location","statement"],"properties":{"evidence_id":{"type":"string"},"type":{"type":"string","enum":["direct","contextual","deterministic"]},"location":{"type":"string"},"statement":{"type":"string"}}}},"analysis":{"type":"object","additionalProperties":false,"required":["source_exists","source_read","fact_present","claim_supported","deterministic_conflict"],"properties":{"source_exists":{"type":"boolean"},"source_read":{"type":"boolean"},"fact_present":{"type":"boolean"},"claim_supported":{"type":"boolean"},"deterministic_conflict":{"type":"boolean"}}},"suggested_correction":{"type":["string","null"]},"assurance":{"type":"object","additionalProperties":false,"required":["level","verification_mode","primary_source_read","deterministic_checks_used","secondary_verifier_used","counter_evidence_search_used","council_used","adjudication_used","independent_provider_count"],"properties":{"level":{"type":"string","enum":["basic","standard","council","high_assurance"]},"verification_mode":{"type":"string","enum":["source_support","independent_verification","high_assurance"]},"primary_source_read":{"type":"boolean"},"deterministic_checks_used":{"type":"boolean"},"secondary_verifier_used":{"type":"boolean"},"counter_evidence_search_used":{"type":"boolean"},"council_used":{"type":"boolean"},"adjudication_used":{"type":"boolean"},"independent_provider_count":{"type":"integer","minimum":0}}},"limitations":{"type":"array","items":{"type":"string"}},"verification":{"type":"object","additionalProperties":false,"required":["method_version","prompt_version","router_version","retrieval_version","models_used","deterministic_checks_used","disagreement_detected"],"properties":{"method_version":{"type":"string"},"prompt_version":{"type":"string"},"router_version":{"type":"string"},"retrieval_version":{"type":"string"},"models_used":{"type":"array","items":{"type":"string"}},"deterministic_checks_used":{"type":"array","items":{"type":"string"}},"disagreement_detected":{"type":"boolean"}}},"usage":{"type":"object","additionalProperties":false,"required":["input_tokens","output_tokens","provider_cost_usd","retrieval_cost_usd","total_cost_usd"],"properties":{"input_tokens":{"type":"integer","minimum":0},"output_tokens":{"type":"integer","minimum":0},"provider_cost_usd":{"type":"number","minimum":0},"retrieval_cost_usd":{"type":"number","minimum":0},"total_cost_usd":{"type":"number","minimum":0}}},"report_id":{"type":"string"},"report_retention":{"type":"object","additionalProperties":false,"required":["mode","policy","created_at","expires_at","deletion_status"],"properties":{"mode":{"type":"string","enum":["delete_after_delivery","24_hours","7_days","30_days","90_days","365_days","until_deleted"]},"policy":{"type":"string"},"created_at":{"type":"string"},"expires_at":{"type":["string","null"]},"deletion_status":{"type":"string","enum":["active","deleted"]}}},"document_provenance":{"type":"object"},"completed_at":{"type":"string"},"integrity":{"type":"object","additionalProperties":false,"required":["algorithm","result_hash"],"properties":{"algorithm":{"const":"SHA-256"},"result_hash":{"type":"string"}}}}},"ReceiptPayload":{"type":"object","additionalProperties":false,"required":["receipt_schema_version","receipt_id","verification_id","job_id","seller","service","verdict","reason_code","actionability","assurance_level","claim_hash","source_hash","result_hash","method_version","payment_reference","issued_at"],"properties":{"receipt_schema_version":{"const":"1.0"},"receipt_id":{"type":"string"},"verification_id":{"type":"string"},"job_id":{"type":"string"},"seller":{"type":"object","additionalProperties":false,"required":["legal_name","dba","jurisdiction"],"properties":{"legal_name":{"const":"3Bee Entertainment LLC"},"dba":{"const":"SnoobScout"},"jurisdiction":{"const":"West Virginia, USA"}}},"service":{"type":"object","additionalProperties":false,"required":["id","verification_mode"],"properties":{"id":{"const":"claim-check-v1"},"verification_mode":{"const":"source_support"}}},"verdict":{"type":"string","enum":["supported","partially_supported","unsupported","contradicted","outdated","unverifiable"]},"reason_code":{"type":"string","enum":["SOURCE_DIRECTLY_SUPPORTS_CLAIM","SOURCE_PARTIALLY_SUPPORTS_CLAIM","SOURCE_DOES_NOT_CONTAIN_FACT","SOURCE_CONTAINS_RELATED_BUT_INSUFFICIENT_FACT","AUTHORITATIVE_SOURCE_CONFLICT","NUMERIC_CONTRADICTION","DATE_MISMATCH","TEMPORAL_OUTDATEDNESS","SCOPE_OVERSTATEMENT","CAUSAL_INFERENCE_NOT_SUPPORTED","QUANTITY_OVERSTATEMENT","MATERIAL_QUALIFIER_MISSING","CITATION_MISMATCH","SOURCE_INACCESSIBLE","SOURCE_AMBIGUOUS","INSUFFICIENT_EVIDENCE","COMPOUND_CLAIM","DETERMINISTIC_CHECK_CONFLICT","MULTI_SOURCE_CONFLICT","MODEL_DISAGREEMENT_UNRESOLVED","VERIFICATION_BUDGET_EXHAUSTED"]},"actionability":{"type":"string","enum":["safe_to_use_as_cited","revise_before_use","do_not_use_as_cited","seek_additional_evidence","source_outdated","manual_review_recommended"]},"assurance_level":{"type":"string","enum":["basic","standard","council","high_assurance"]},"claim_hash":{"type":"string"},"source_hash":{"type":["string","null"]},"result_hash":{"type":"string"},"method_version":{"type":"string"},"payment_reference":{"type":["string","null"]},"issued_at":{"type":"string"}}},"ErrorEnvelope":{"type":"object","additionalProperties":false,"required":["error"],"properties":{"error":{"type":"object","additionalProperties":false,"required":["code","message","retryable","request_id","help_url"],"properties":{"code":{"type":"string","enum":["INVALID_CLAIM","COMPOUND_CLAIM","VALIDATION_ERROR","INVALID_JSON","UNSUPPORTED_MEDIA_TYPE","UNSUPPORTED_CURRENCY","REQUEST_TOO_LARGE","INVALID_QUESTION","INVALID_DATE_FILTER","INVALID_SUPPORT_CATEGORY","INVALID_SUPPORT_MESSAGE","INVALID_JOB_ID","INVALID_EMAIL","SOURCE_UNSAFE","SOURCE_UNAVAILABLE","PAYMENT_REQUIRED","ENTITLEMENT_INVALID","UNAUTHORIZED","INSUFFICIENT_SCOPE","ACCOUNT_VERIFICATION_REQUIRED","ACCOUNT_RESTRICTED","ACCOUNT_SUSPENDED","INVALID_VERIFICATION_TOKEN","CREDENTIAL_NOT_FOUND","RECIPIENT_NOT_VERIFIED","JOB_NOT_FOUND","TRANSACTION_NOT_FOUND","REFUND_NOT_FOUND","RECEIPT_NOT_FOUND","SUPPORT_TICKET_NOT_FOUND","HELP_TOPIC_NOT_FOUND","POLICY_NOT_FOUND","RATE_LIMITED","RATE_LIMIT_EXCEEDED","GLOBAL_CONCURRENCY_EXCEEDED","DAILY_SPEND_LIMIT_EXCEEDED","HOURLY_SPEND_LIMIT_EXCEEDED","ACCOUNT_RATE_LIMIT_EXCEEDED","ACCOUNT_DAILY_LIMIT_EXCEEDED","ACCOUNT_CONCURRENCY_EXCEEDED","COST_LIMIT_EXCEEDED","IDEMPOTENCY_CONFLICT","RESULT_NOT_READY","RECEIPT_NOT_READY","RECEIPT_SIGNING_NOT_CONFIGURED","PAID_JOBS_DISABLED","JOB_UNAVAILABLE","INTERNAL_ERROR","INTERNAL_FAILURE","SERVICE_UNAVAILABLE"]},"message":{"type":"string"},"retryable":{"type":"boolean"},"request_id":{"type":"string"},"help_url":{"type":"string"},"details":{}}}}},"QuoteRequest":{"type":"object","additionalProperties":false,"required":["capability"],"properties":{"capability":{"const":"claim_check.source_support"},"quantity":{"const":1},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"service_class":{"const":"standard"}}},"Quote":{"type":"object","additionalProperties":false,"required":["schema_version","quote_id","capability","estimated_price","maximum_authorized_price","currency","expires_at","estimated_service_class","billable_unit","limitations","pricing_version"],"properties":{"schema_version":{"const":"1.0"},"quote_id":{"type":"string"},"capability":{"const":"claim_check.source_support"},"estimated_price":{"type":"number","minimum":0},"maximum_authorized_price":{"type":"number","minimum":0},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expires_at":{"type":"string"},"estimated_service_class":{"const":"standard"},"billable_unit":{"type":"object","additionalProperties":false,"required":["unit","quantity"],"properties":{"unit":{"type":"string"},"quantity":{"const":1}}},"limitations":{"type":"array","items":{"type":"string"}},"pricing_version":{"type":"string"}}},"AuthorizedJobRequest":{"type":"object","additionalProperties":false,"required":["quote_id","maximum_authorized_amount","request"],"properties":{"quote_id":{"type":"string"},"maximum_authorized_amount":{"type":"number","minimum":0},"request":{"type":"object","additionalProperties":false,"required":["claim","source_url","idempotency_key"],"properties":{"schema_version":{"const":"1.0"},"claim":{"type":"string","minLength":1,"maxLength":2000},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"as_of":{"type":"string","format":"date"},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}}}},"UsageEvent":{"type":"object","additionalProperties":false,"required":["event_id","agent_id","credential_id","job_id","request_id","quote_id","capability","quantity","unit","pricing_version","estimated_price","final_price","currency","payment_status","created_at"],"properties":{"event_id":{"type":"string"},"organization_id":{"type":["string","null"]},"agent_id":{"type":"string"},"credential_id":{"type":"string"},"job_id":{"type":["string","null"]},"request_id":{"type":"string"},"quote_id":{"type":["string","null"]},"capability":{"type":"string"},"quantity":{"type":"number","minimum":0},"unit":{"type":"string"},"pricing_version":{"type":"string"},"estimated_price":{"type":"number","minimum":0},"final_price":{"type":"number","minimum":0},"currency":{"type":"string"},"payment_status":{"type":"string"},"receipt_reference":{"type":["string","null"]},"created_at":{"type":"string"},"finalized_at":{"type":["string","null"]}}},"SecurityEvent":{"type":"object","additionalProperties":false,"required":["security_event_id","event_type","risk_level","status","action","summary","occurred_at"],"properties":{"security_event_id":{"type":"string"},"event_type":{"type":"string"},"risk_level":{"type":"string","enum":["low","medium","high","critical"]},"status":{"type":"string"},"action":{"type":"string"},"summary":{"type":"string"},"occurred_at":{"type":"string"},"verified_at":{"type":["string","null"]},"closed_at":{"type":["string","null"]},"customer_response":{"type":["string","null"]}}},"LocalDocumentPackage":{"type":"object","additionalProperties":false,"required":["schema_version","document_id","original_file_sha256","normalized_json_sha256","text_blocks","extraction","provenance"],"properties":{"schema_version":{"const":"1.0"},"document_id":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"source_filename":{"type":"string","maxLength":255},"source_mime_type":{"type":"string","maxLength":100},"original_file_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_json_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"page_count":{"type":"integer","minimum":1,"maximum":100},"sections":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","block_ids"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"level":{"type":"integer","minimum":1},"block_ids":{"type":"array","items":{"type":"string"}}}}},"pages":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["page","block_ids"],"properties":{"page":{"type":"integer","minimum":1,"maximum":100},"block_ids":{"type":"array","items":{"type":"string"}}}}},"text_blocks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","text"],"properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1,"maxLength":4000},"page":{"type":"integer","minimum":1,"maximum":100},"section_id":{"type":"string"},"source_location":{"type":"string"}}}},"tables":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","rows"],"properties":{"id":{"type":"string"},"rows":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"page":{"type":"integer","minimum":1,"maximum":100},"source_location":{"type":"string"}}}},"extraction":{"type":"object","additionalProperties":false,"required":["method","ocr_used","converter_version","converted_at"],"properties":{"method":{"type":"string","enum":["native_text","local_ocr","agent_parser"]},"ocr_used":{"type":"boolean"},"ocr_confidence":{"type":"number","minimum":0,"maximum":1},"converter_version":{"type":"string","maxLength":100},"converted_at":{"type":"string"}}},"provenance":{"type":"object","additionalProperties":false,"required":["trust_classification","original_uploaded"],"properties":{"trust_classification":{"type":"string","enum":["LOCAL_VERIFIED","AGENT_VERIFIED","SELF_DECLARED","SERVER_VERIFIED"]},"original_uploaded":{"const":false},"converter_id":{"type":"string"},"agent_id":{"type":"string"},"attestation":{"type":"string"}}},"warnings":{"type":"array","items":{"type":"string"}}}},"DocumentJobRequest":{"type":"object","additionalProperties":false,"required":["claim","document_package","idempotency_key"],"properties":{"claim":{"type":"string","minLength":1,"maxLength":2000},"document_package":{"type":"object","additionalProperties":false,"required":["schema_version","document_id","original_file_sha256","normalized_json_sha256","text_blocks","extraction","provenance"],"properties":{"schema_version":{"const":"1.0"},"document_id":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"source_filename":{"type":"string","maxLength":255},"source_mime_type":{"type":"string","maxLength":100},"original_file_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"normalized_json_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"page_count":{"type":"integer","minimum":1,"maximum":100},"sections":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","block_ids"],"properties":{"id":{"type":"string"},"title":{"type":"string"},"level":{"type":"integer","minimum":1},"block_ids":{"type":"array","items":{"type":"string"}}}}},"pages":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["page","block_ids"],"properties":{"page":{"type":"integer","minimum":1,"maximum":100},"block_ids":{"type":"array","items":{"type":"string"}}}}},"text_blocks":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","text"],"properties":{"id":{"type":"string"},"text":{"type":"string","minLength":1,"maxLength":4000},"page":{"type":"integer","minimum":1,"maximum":100},"section_id":{"type":"string"},"source_location":{"type":"string"}}}},"tables":{"type":"array","items":{"type":"object","additionalProperties":false,"required":["id","rows"],"properties":{"id":{"type":"string"},"rows":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"page":{"type":"integer","minimum":1,"maximum":100},"source_location":{"type":"string"}}}},"extraction":{"type":"object","additionalProperties":false,"required":["method","ocr_used","converter_version","converted_at"],"properties":{"method":{"type":"string","enum":["native_text","local_ocr","agent_parser"]},"ocr_used":{"type":"boolean"},"ocr_confidence":{"type":"number","minimum":0,"maximum":1},"converter_version":{"type":"string","maxLength":100},"converted_at":{"type":"string"}}},"provenance":{"type":"object","additionalProperties":false,"required":["trust_classification","original_uploaded"],"properties":{"trust_classification":{"type":"string","enum":["LOCAL_VERIFIED","AGENT_VERIFIED","SELF_DECLARED","SERVER_VERIFIED"]},"original_uploaded":{"const":false},"converter_id":{"type":"string"},"agent_id":{"type":"string"},"attestation":{"type":"string"}}},"warnings":{"type":"array","items":{"type":"string"}}}},"as_of":{"type":"string","format":"date"},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"retention_mode":{"type":"string","enum":["delete_after_delivery","24_hours","7_days","30_days","90_days","365_days","until_deleted"]}}}}},"x-snoobscout-workflow":["POST /v1/verify with a unique idempotency_key.","When status is payment_required, complete programmatic payment. In V1 development, replay the identical POST with X-SnoobScout-Simulate-Payment: confirmed.","Poll GET /v1/jobs/{job_id} until complete, inconclusive, failed, or refunded.","Technical verification failures automatically enter refund_pending; only a provider-confirmed refund reaches refunded.","Fetch GET /v1/jobs/{job_id}/result.","Fetch GET /v1/jobs/{job_id}/receipt after signing keys are provisioned; inspect /delivery and optionally POST /feedback."],"x-snoobscout-price":{"id":"claim-check-v1","name":"Claim Check","price":"1.00","amount_minor":100,"currency":"USD","unit":"verification","claims":1,"sources":1,"selection":"X-SnoobScout-Currency or caller locale"},"x-snoobscout-limits":{"claims_per_job":1,"sources_per_job":1,"supported_protocols":["https"],"max_claim_length":2000,"max_url_length":2048,"max_request_bytes":12000,"max_source_bytes":5242880,"max_pdf_pages":100,"max_redirects":3,"request_rate_limits":{"default_per_agent_per_hour":30,"global_concurrency":12},"account_limits":"Tier-based limits apply. Authenticated accounts can read their own effective limits from GET /v1/account.","job_cost_limit_usd":"0.40","supported_currencies":["USD","EUR","GBP","AUD","CAD","NZD","JPY","INR","CHF","SEK","NOK","DKK","PLN","BRL","MXN","SGD","HKD","KRW","ZAR"]},"x-snoobscout-errors":[{"code":"INVALID_CLAIM","http_status":400,"retryable":false,"description":"The supplied claim is missing or invalid."},{"code":"COMPOUND_CLAIM","http_status":422,"retryable":false,"description":"The request contains multiple material factual claims; submit each separately."},{"code":"VALIDATION_ERROR","http_status":400,"retryable":false,"description":"One or more request fields failed validation."},{"code":"INVALID_JSON","http_status":400,"retryable":false,"description":"The request body is not valid JSON."},{"code":"UNSUPPORTED_MEDIA_TYPE","http_status":415,"retryable":false,"description":"The request Content-Type is not supported."},{"code":"UNSUPPORTED_CURRENCY","http_status":400,"retryable":false,"description":"The requested app currency is not supported."},{"code":"REQUEST_TOO_LARGE","http_status":413,"retryable":false,"description":"The request exceeds the configured size limit."},{"code":"INVALID_QUESTION","http_status":400,"retryable":false,"description":"The bounded Help question is missing or invalid."},{"code":"INVALID_DATE_FILTER","http_status":400,"retryable":false,"description":"A transaction date filter is invalid."},{"code":"INVALID_SUPPORT_CATEGORY","http_status":400,"retryable":false,"description":"The support category is not recognized."},{"code":"INVALID_SUPPORT_MESSAGE","http_status":400,"retryable":false,"description":"The support message is missing or invalid."},{"code":"INVALID_JOB_ID","http_status":400,"retryable":false,"description":"The supplied job identifier is malformed."},{"code":"INVALID_EMAIL","http_status":400,"retryable":false,"description":"The supplied delivery email address is invalid."},{"code":"SOURCE_UNSAFE","http_status":400,"retryable":false,"description":"The supplied source failed source-safety validation."},{"code":"SOURCE_UNAVAILABLE","http_status":422,"retryable":true,"description":"The source could not currently be retrieved."},{"code":"PAYMENT_REQUIRED","http_status":402,"retryable":true,"description":"A valid payment or entitlement is required."},{"code":"ENTITLEMENT_INVALID","http_status":403,"retryable":true,"description":"The supplied commercial entitlement is invalid or inactive."},{"code":"UNAUTHORIZED","http_status":401,"retryable":false,"description":"A valid Bearer API credential is required."},{"code":"INSUFFICIENT_SCOPE","http_status":403,"retryable":false,"description":"The authenticated credential lacks the required least-privilege scope."},{"code":"ACCOUNT_VERIFICATION_REQUIRED","http_status":403,"retryable":false,"description":"The account must complete identity verification before creating jobs."},{"code":"ACCOUNT_RESTRICTED","http_status":403,"retryable":false,"description":"The account can authenticate and read historical records but cannot create new jobs."},{"code":"ACCOUNT_SUSPENDED","http_status":403,"retryable":false,"description":"The account cannot create new jobs; safe historical reads and support remain available."},{"code":"INVALID_VERIFICATION_TOKEN","http_status":400,"retryable":false,"description":"The email verification request is invalid, expired, or already used."},{"code":"CREDENTIAL_NOT_FOUND","http_status":404,"retryable":false,"description":"The credential does not exist for this authenticated account."},{"code":"RECIPIENT_NOT_VERIFIED","http_status":403,"retryable":false,"description":"Receipt email delivery is limited to a verified account address."},{"code":"JOB_NOT_FOUND","http_status":404,"retryable":false,"description":"The requested record does not exist for this authenticated agent."},{"code":"TRANSACTION_NOT_FOUND","http_status":404,"retryable":false,"description":"The transaction does not exist for this authenticated agent."},{"code":"REFUND_NOT_FOUND","http_status":404,"retryable":false,"description":"The refund does not exist for this authenticated agent."},{"code":"RECEIPT_NOT_FOUND","http_status":404,"retryable":false,"description":"The receipt does not exist for this authenticated agent."},{"code":"SUPPORT_TICKET_NOT_FOUND","http_status":404,"retryable":false,"description":"The support ticket does not exist for this authenticated agent."},{"code":"HELP_TOPIC_NOT_FOUND","http_status":404,"retryable":false,"description":"The requested Help topic does not exist."},{"code":"POLICY_NOT_FOUND","http_status":404,"retryable":false,"description":"The requested policy does not exist."},{"code":"RATE_LIMITED","http_status":429,"retryable":true,"description":"The request rate limit was reached; wait for Retry-After before retrying."},{"code":"RATE_LIMIT_EXCEEDED","http_status":429,"retryable":true,"description":"The agent request rate limit was reached."},{"code":"GLOBAL_CONCURRENCY_EXCEEDED","http_status":429,"retryable":true,"description":"Service processing capacity is temporarily full."},{"code":"DAILY_SPEND_LIMIT_EXCEEDED","http_status":429,"retryable":true,"description":"The configured daily provider-spend limit was reached."},{"code":"HOURLY_SPEND_LIMIT_EXCEEDED","http_status":429,"retryable":true,"description":"The configured hourly provider-spend limit was reached."},{"code":"ACCOUNT_RATE_LIMIT_EXCEEDED","http_status":429,"retryable":true,"description":"The account hourly job limit was reached."},{"code":"ACCOUNT_DAILY_LIMIT_EXCEEDED","http_status":429,"retryable":true,"description":"The account daily job limit was reached."},{"code":"ACCOUNT_CONCURRENCY_EXCEEDED","http_status":429,"retryable":true,"description":"The account concurrent-job limit was reached."},{"code":"COST_LIMIT_EXCEEDED","http_status":422,"retryable":false,"description":"The verification would exceed its configured cost ceiling."},{"code":"IDEMPOTENCY_CONFLICT","http_status":409,"retryable":false,"description":"The idempotency key was previously used with different content."},{"code":"RESULT_NOT_READY","http_status":409,"retryable":true,"description":"The verification result is not ready."},{"code":"RECEIPT_NOT_READY","http_status":409,"retryable":true,"description":"The verification receipt is not ready."},{"code":"RECEIPT_SIGNING_NOT_CONFIGURED","http_status":503,"retryable":true,"description":"Receipt signing keys are not provisioned."},{"code":"PAID_JOBS_DISABLED","http_status":503,"retryable":true,"description":"The paid-job kill switch is active."},{"code":"JOB_UNAVAILABLE","http_status":500,"retryable":true,"description":"The accepted job could not be loaded."},{"code":"INTERNAL_ERROR","http_status":500,"retryable":true,"description":"The request could not be completed."},{"code":"INTERNAL_FAILURE","http_status":500,"retryable":true,"description":"An internal service failure prevented completion."},{"code":"SERVICE_UNAVAILABLE","http_status":503,"retryable":true,"description":"The requested service capability is temporarily unavailable."}],"x-snoobscout-documentation-version":"2026-08-v6","x-snoobscout-policy-version":"2026-08-v2","x-real-payments-enabled":false,"x-verification-routing":{"primary":"OpenAI Responses API when configured","development_fallback":"deterministic-v1","independent":"optional second verifier","adjudication":"used when configured and verifiers materially disagree"}}