{"openapi":"3.1.0","info":{"title":"TableCheck sandbox","version":"1.1.0","description":"Sandbox only. No live payments or production availability implied.","contact":{"email":"support@citevella.com"},"x-guidance":"For quote-generating agents: POST a structured quote to /tablecheck. Use decimal strings and at most 100 rows. Detect arithmetic mismatches and duplicate IDs; do not interpret a pass as purchase approval. Test price only: USD 0.50. Preserve credential/body on retry; do not pay again on 503. Free fixtures: /examples. Report a voluntary agent evaluation through /evaluation; reports are unverified, not sales."},"servers":[{"url":"https://staging-pay.citevella.com"}],"components":{"schemas":{"Table":{"type":"object","additionalProperties":false,"required":["currency","declared_total","rows"],"properties":{"currency":{"type":"string","enum":["USD","EUR","GBP"]},"declared_total":{"type":"string","pattern":"^\\d{1,9}(?:\\.\\d{1,2})?$"},"rows":{"type":"array","minItems":1,"maxItems":100,"items":{"type":"object","additionalProperties":false,"required":["id","quantity","unit_price","line_total"],"properties":{"id":{"type":"string","minLength":1,"maxLength":64,"pattern":"\\S"},"quantity":{"type":"string","pattern":"^\\d{1,6}$"},"unit_price":{"type":"string","pattern":"^\\d{1,9}(?:\\.\\d{1,2})?$"},"line_total":{"type":"string","pattern":"^\\d{1,9}(?:\\.\\d{1,2})?$"}}}}}},"Audit":{"type":"object","required":["passed","issues","totals","mode"],"properties":{"passed":{"type":"boolean"},"mode":{"const":"sandbox"},"issues":{"type":"array","items":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}}},"totals":{"type":"object"},"limitations":{"type":"array","items":{"type":"string"}}}}},"securitySchemes":{"mpp":{"type":"apiKey","in":"header","name":"Authorization","description":"MPP Payment credential obtained after a 402 challenge. Test funds only."}}},"paths":{"/tablecheck":{"post":{"operationId":"checkStructuredQuote","summary":"Check quote arithmetic and duplicate row IDs","security":[{"mpp":[]}],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.50"},"protocols":[{"mpp":{"method":"tempo","intent":"charge","currency":"0x20c0000000000000000000000000000000000000"}},{"mpp":{"method":"stripe","intent":"charge","currency":"usd"}}],"x-sandbox":true,"x-chain-id":42431},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Table"},"example":{"currency":"USD","declared_total":"69.90","rows":[{"id":"line-1","quantity":"2","unit_price":"19.95","line_total":"39.90"},{"id":"line-2","quantity":"3","unit_price":"10.00","line_total":"25.00"},{"id":"line-2","quantity":"1","unit_price":"5.00","line_total":"5.00"}]}}}},"responses":{"200":{"description":"Sandbox audit","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Audit"}}}},"400":{"description":"Invalid input; no charge"},"402":{"description":"MPP challenge","headers":{"WWW-Authenticate":{"schema":{"type":"string"}}}},"409":{"description":"Credential belongs to different input"},"410":{"description":"Refunded or disputed payment"},"429":{"description":"Rate limit"},"503":{"description":"Payment pending. Retain credential and body; retry without a new payment.","headers":{"Retry-After":{"schema":{"type":"string"}}}}}}},"/catalog":{"get":{"summary":"Sandbox price and supported rails","security":[],"responses":{"200":{"description":"Sandbox price and supported rails","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/examples":{"get":{"summary":"Fictional valid and inconsistent tables","security":[],"responses":{"200":{"description":"Fictional valid and inconsistent tables","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/health":{"get":{"summary":"Sandbox availability","security":[],"responses":{"200":{"description":"Sandbox availability","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/evaluation":{"post":{"summary":"Record a voluntary agent evaluation","security":[],"responses":{"200":{"description":"Record a voluntary agent evaluation","content":{"application/json":{"schema":{"type":"object"}}}}},"operationId":"reportAgentEvaluation","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"required":["workflow","monthly_checks","preferred_option","blocker","test_result"],"properties":{"workflow":{"enum":["quote_generation","invoice_precheck","other"]},"monthly_checks":{"type":"integer","minimum":0,"maximum":1000000},"preferred_option":{"enum":["free_local","hosted_prepaid","monthly_29","monthly_79","none"]},"blocker":{"enum":["price","input_format","wallet","onboarding","no_hosted_need","none"]},"test_result":{"enum":["pass","fail","not_run"]}}}}}}}}}}