{"openapi":"3.1.0","info":{"title":"MockForge API","version":"1.0.0","description":"Realistic fake / test data generator. Fully synthetic (@faker-js/faker) — no real PII. Free GET tier; paid bulk tier via x402."},"servers":[{"url":"https://mock.wrapper-agency.com"}],"paths":{"/api/v1/mock":{"get":{"summary":"Generate synthetic test data (free, up to 100 records)","parameters":[{"name":"type","in":"query","required":true,"schema":{"type":"string","enum":["person","company","address","uuid","isoDate","loremParagraph","sentence","product","creditCardFake","jobTitle","username","ipv4","ipv6","color","phoneNumber","country","currencyAmount","email","url","fullName"],"example":"person"},"description":"The kind of record to generate."},{"name":"count","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"example":10},"description":"Number of records (capped at 100 on the free tier)."},{"name":"locale","in":"query","required":false,"schema":{"type":"string","enum":["en","de","fr","es","pt_BR","ja","it","nl"],"example":"en"}},{"name":"seed","in":"query","required":false,"schema":{"type":"integer","example":123},"description":"Optional. Same seed → same data, every call (deterministic)."}],"responses":{"200":{"description":"Array of synthetic records","content":{"application/json":{"example":{"type":"person","count":1,"locale":"en","seed":null,"data":[{"id":"9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d","firstName":"Jordan","lastName":"Rivera","fullName":"Jordan Rivera","email":"jordan.rivera@example.com","phone":"+1 555-0143"}],"source":"Synthetic data generated with @faker-js/faker — no real PII"}}}}}}},"/api/v1/pro/mock":{"post":{"summary":"Bulk generate synthetic data (paid via x402, up to 10000 records)","description":"Per-call USDC on Base (x402). Returns HTTP 402 with payment requirements until paid; on settlement returns the array.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","count"],"properties":{"type":{"type":"string","enum":["person","company","address","uuid","isoDate","loremParagraph","sentence","product","creditCardFake","jobTitle","username","ipv4","ipv6","color","phoneNumber","country","currencyAmount","email","url","fullName"],"example":"person"},"count":{"type":"integer","minimum":1,"maximum":10000,"example":5000},"locale":{"type":"string","enum":["en","de","fr","es","pt_BR","ja","it","nl"],"example":"en"},"seed":{"type":"integer","example":123}}}}}},"responses":{"200":{"description":"Array of synthetic records"},"402":{"description":"Payment required (x402)"}}}}}}