{"openapi":"3.1.0","info":{"title":"Acutis Mocks","version":"0.1.0","description":"Synthetic fixtures for selected government and commercial API endpoints. 0.05 USDC on Base mainnet via x402; free catalogue and fixed GitHub example."},"paths":{"/v1/catalogue":{"get":{"responses":{"200":{"description":"Supported services, operations and scenarios"}}}},"/v1/mocks":{"post":{"operationId":"getApiFixture","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"service":{"type":"string","enum":["github","google_maps","hubspot","openai","paypal","sendgrid","shopify","slack","stripe","twilio","bls","census","nws","sec"]},"operation":{"type":"string","maxLength":40},"scenario":{"type":"string","maxLength":40},"seed":{"default":1,"type":"integer","minimum":1,"maximum":100000},"format":{"default":"json","type":"string","enum":["json","wiremock"]}},"required":["service","operation","scenario"],"additionalProperties":false},"example":{"service":"github","operation":"repositories","scenario":"rate_limited","seed":42}}}},"responses":{"200":{"description":"Fixture envelope, including simulated upstream status/headers/body or a WireMock mapping. HTTP 200 means the fixture was delivered, not that its simulated upstream request succeeded.","content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["fixture_id","revision","mock","coverage","upstream","response"],"properties":{"fixture_id":{"type":"string"},"revision":{"type":"string"},"mock":{"const":true},"coverage":{"type":"string"},"upstream":{"type":"object","required":["service","operation","method","base_url","path","query","version","documentation"],"properties":{"service":{"type":"string"},"operation":{"type":"string"},"method":{"type":"string"},"base_url":{"type":"string"},"path":{"type":"string"},"query":{"type":"object"},"version":{"type":"string"},"documentation":{"type":"string"}}},"response":{"type":"object","required":["status","headers","body"],"properties":{"status":{"type":"integer","minimum":100,"maximum":599},"headers":{"type":"object","additionalProperties":{"type":"string"}},"body":{}}}}},{"type":"object","required":["mock","revision","upstream","mapping"],"properties":{"mock":{"const":true},"revision":{"type":"string"},"upstream":{"type":"object","required":["service","operation","method","base_url","path","query","version","documentation"],"properties":{"service":{"type":"string"},"operation":{"type":"string"},"method":{"type":"string"},"base_url":{"type":"string"},"path":{"type":"string"},"query":{"type":"object"},"version":{"type":"string"},"documentation":{"type":"string"}}},"mapping":{"type":"object","required":["request","response"],"properties":{"request":{"type":"object"},"response":{"type":"object"}}}}}]},"examples":{"github":{"externalValue":"/v1/examples/github"}}}}},"402":{"description":"x402 payment required; retry with PAYMENT-SIGNATURE"},"409":{"description":"Payment proof bound to another request or in flight"},"422":{"description":"Invalid or unsupported fixture; no payment requested"},"503":{"description":"Facilitator unavailable; no protected fixture"}}}}}}