{"openapi":"3.1.0","info":{"title":"Mock & Test Data API","version":"1.0.0","description":"Seeded, reproducible fake data in 17 locales: people, addresses, companies, finance (valid IBANs, processor test cards), from a field map or a JSON Schema, as JSON, CSV, NDJSON or SQL INSERTs.\n\nGenerate realistic test data that is the same every time you ask for it: pass a `seed` and you get byte-identical rows on every call (no seed → a random one, returned so you can reproduce it). Dates are relative to a fixed reference date (2026-01-01 unless you set `ref_date`), never to the clock. Describe rows with a field map (60+ field types: names, emails on reserved example domains, phone numbers, addresses, companies, products, IBANs with valid check digits, Stripe-published test card numbers, UUIDs, numbers, dates, lorem) or with a JSON Schema (types, formats, ranges, enums, nested objects and arrays, `x-faker` hints), and export up to 1,000 rows as JSON, CSV (RFC 4180), NDJSON or SQL INSERT statements for PostgreSQL, MySQL or SQLite.\n\nPowered by @faker-js/faker 10.6.0 at the edge; nothing is stored, and generated data is synthetic — card numbers come from published processor test lists and never belong to real cardholders.\n\n## Limits\n\n| Endpoint | Limit |\n|---|---|\n| `POST /v1/generate` | body ≤ 32 KiB; count ≤ 1,000; ≤ 50 fields; count × fields ≤ 10,000 |\n| `POST /v1/generate/json-schema` | body ≤ 32 KiB; count ≤ 100; nesting ≤ 8; ≤ 500 values per instance; ≤ 20 items per array |\n| `POST /v1/export` | body ≤ 32 KiB; count ≤ 1,000; ≤ 50 fields; count × fields ≤ 10,000 |\n| `GET /v1/people` | query string ≤ 4096 bytes; count ≤ 100 |\n| `GET /v1/companies` | query string ≤ 4096 bytes; count ≤ 100 |\n| `GET /v1/finance/cards` | query string ≤ 4096 bytes; count ≤ 100 |\n| `GET /v1/finance/ibans` | query string ≤ 4096 bytes; count ≤ 100 |\n| `GET /v1/text` | query string ≤ 4096 bytes; count ≤ 100 |\n| `GET /v1/fields` | query string ≤ 4096 bytes; no limit parameters |\n| `GET /v1/locales` | query string ≤ 4096 bytes; no parameters |\n\n## Errors\n\nEvery error is `{\"success\":false,\"error\":{\"code\",\"message\",\"hint\",\"docs_url\",\"request_id\"}}` with a semantically correct 4xx status for bad input. Catalogue: https://apid-mockdata.bold-fire-c2bb.workers.dev/errors","license":{"name":"Proprietary — commercial API, see the RapidAPI listing terms","url":"https://apid-mockdata.bold-fire-c2bb.workers.dev/"},"contact":{"name":"Mock Data API support","url":"https://apid-mockdata.bold-fire-c2bb.workers.dev/"}},"servers":[{"url":"https://apid-mockdata.bold-fire-c2bb.workers.dev"}],"tags":[{"name":"Generate","description":"Rows from a field map or a JSON Schema; bulk export."},{"name":"Records","description":"Ready-made people, addresses, companies, cards, IBANs and text."},{"name":"Catalogue","description":"Field types and locales."}],"security":[{"RapidAPIKey":[],"RapidAPIHost":[]}],"externalDocs":{"description":"Interactive reference","url":"https://apid-mockdata.bold-fire-c2bb.workers.dev/docs"},"components":{"securitySchemes":{"RapidAPIKey":{"type":"apiKey","in":"header","name":"X-RapidAPI-Key","description":"Your RapidAPI application key."},"RapidAPIHost":{"type":"apiKey","in":"header","name":"X-RapidAPI-Host","description":"The RapidAPI host of this API."}},"schemas":{"Meta":{"type":"object","properties":{"request_id":{"type":"string","description":"Unique id of this request; quote it to support."},"ms":{"type":"integer","minimum":0,"description":"Server-side wall time in milliseconds as observed by the Worker."},"source":{"type":"string","description":"Where the answer came from: \"computed\" (our code), \"bundled:<dataset>\", or \"network:<upstream>\".","example":"computed"},"cache":{"type":"string","enum":["hit","miss","stale"],"description":"Present on network-derived answers: cache outcome for this request."},"stale":{"type":"boolean","description":"True when a cached value is served because the upstream failed or is refreshing."}},"required":["request_id","ms","source"]},"Error":{"type":"object","properties":{"success":{"type":"boolean","enum":[false]},"error":{"type":"object","properties":{"code":{"type":"string","description":"Stable machine-readable error code.","example":"invalid_parameters"},"message":{"type":"string","description":"Human-readable explanation."},"hint":{"type":"string","description":"What to change to make the request succeed."},"docs_url":{"type":"string","format":"uri","description":"Link to the error catalogue entry."},"request_id":{"type":"string","description":"Unique id of this request; quote it to support."},"details":{"type":"array","items":{"$ref":"#/components/schemas/ErrorDetail"}},"retry_after":{"type":"integer","exclusiveMinimum":0,"description":"Seconds to wait (429/503)."}},"required":["code","message","hint","docs_url","request_id"]}},"required":["success","error"]},"ErrorDetail":{"type":"object","properties":{"path":{"type":"string","example":"query.name"},"message":{"type":"string","example":"Too big: expected string to have <=100 characters"}},"required":["path","message"]}},"parameters":{}},"paths":{"/v1/generate":{"post":{"operationId":"generate","tags":["Generate"],"summary":"Generate rows from a field map (seeded, locale-aware)","description":"Each key of `fields` becomes a column; the value names a field type from GET /v1/fields, optionally with parameters (`min`/`max` for numbers, amounts, ages and password lengths, `precision`, `values` for enum, `nullable` probability). Columns keep the order you send. Same seed → same rows.\n\n**Limits:** body ≤ 32 KiB; count ≤ 1,000; ≤ 50 fields; count × fields ≤ 10,000.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"object","properties":{"type":{"type":"string","minLength":1,"maxLength":64},"min":{"type":"number"},"max":{"type":"number"},"precision":{"type":"integer","minimum":0,"maximum":10},"values":{"type":"array","items":{"anyOf":[{"type":"string","maxLength":200},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"maxItems":200,"description":"enum choices: strings (≤ 200 chars), numbers, booleans or null."},"nullable":{"type":"number","minimum":0,"maximum":1,"description":"Probability (0–1) of null."}},"required":["type"]}]},"description":"Column name → field type, or {type, min, max, precision, values, nullable}."},"count":{"type":"integer","minimum":1,"maximum":1000,"default":10},"seed":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"locale":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"ref_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."}},"required":["fields"],"example":{"fields":{"id":"id.sequence","name":"person.full_name","email":"internet.safe_email","city":"location.city","signup":"date.past","plan":{"type":"enum","values":["free","pro","team"]},"mrr":{"type":"finance.amount","min":0,"max":500}},"count":3,"seed":42,"locale":"en_US"}}}}},"responses":{"200":{"description":"Generate rows from a field map (seeded, locale-aware)","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"count":{"type":"integer"},"rows":{"type":"array","items":{"type":"object","additionalProperties":{},"description":"One generated row."}}},"required":["seed","locale","ref_date","generator","count","rows"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Unsupported Content-Type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/generate/json-schema":{"post":{"operationId":"generateJsonSchema","tags":["Generate"],"summary":"Generate instances of a JSON Schema","description":"Produces `count` instances of a JSON Schema (draft 2020-12 subset): type (also type arrays), properties, items, minItems/maxItems, enum, const, minimum/maximum (exclusive too), multipleOf, minLength/maxLength, format (email, uri, uuid, date, date-time, time, ipv4, ipv6, hostname) and the extension `x-faker` with a field type. Property names guide string values (`email`, `city`, `phone`, `company` …). Keywords that are not interpreted ($ref, pattern, oneOf …) are reported in `warnings`, never silently dropped.\n\n**Limits:** body ≤ 32 KiB; count ≤ 100; nesting ≤ 8; ≤ 500 values per instance; ≤ 20 items per array.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schema":{"type":"object","additionalProperties":{},"description":"JSON Schema (object)."},"count":{"type":"integer","minimum":1,"maximum":100,"default":5},"seed":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"locale":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"ref_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."}},"required":["schema"],"example":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"age":{"type":"integer","minimum":18,"maximum":99},"roles":{"type":"array","items":{"enum":["admin","editor","viewer"]},"minItems":1,"maxItems":2},"company":{"type":"string","x-faker":"company.name"}}},"count":2,"seed":7}}}}},"responses":{"200":{"description":"Generate instances of a JSON Schema","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"count":{"type":"integer"},"instances":{"type":"array","items":{}},"warnings":{"type":"array","items":{"type":"string"},"description":"Schema keywords that were not interpreted."}},"required":["seed","locale","ref_date","generator","count","instances","warnings"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Unsupported Content-Type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/export":{"post":{"operationId":"export","tags":["Generate"],"summary":"Bulk export generated rows as CSV, NDJSON, SQL INSERTs or JSON","description":"Same field map as POST /v1/generate, serialised as RFC 4180 CSV (CRLF, header row, quoting), NDJSON, a JSON array, or multi-row SQL INSERT statements (100 rows per statement) with dialect-correct quoting for PostgreSQL, MySQL or SQLite. Table and column names must be plain identifiers (letters, digits, underscore). The file is in `content`, or sent as an attachment with the matching Accept header. Send `Accept: text/csv`, `application/x-ndjson`, `application/sql` or `application/json` matching `format` to receive the file itself instead of the JSON envelope (`Content-Disposition: attachment`).\n\n**Limits:** body ≤ 32 KiB; count ≤ 1,000; ≤ 50 fields; count × fields ≤ 10,000.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"fields":{"type":"object","additionalProperties":{"anyOf":[{"type":"string","minLength":1,"maxLength":64},{"type":"object","properties":{"type":{"type":"string","minLength":1,"maxLength":64},"min":{"type":"number"},"max":{"type":"number"},"precision":{"type":"integer","minimum":0,"maximum":10},"values":{"type":"array","items":{"anyOf":[{"type":"string","maxLength":200},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"maxItems":200,"description":"enum choices: strings (≤ 200 chars), numbers, booleans or null."},"nullable":{"type":"number","minimum":0,"maximum":1,"description":"Probability (0–1) of null."}},"required":["type"]}]},"description":"Column name → field type, or {type, min, max, precision, values, nullable}."},"count":{"type":"integer","minimum":1,"maximum":1000,"default":10},"seed":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"locale":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"ref_date":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."},"format":{"type":"string","enum":["csv","ndjson","sql","json"],"default":"csv"},"dialect":{"type":"string","enum":["postgres","mysql","sqlite"],"default":"postgres"},"table":{"type":"string","minLength":1,"maxLength":63,"default":"mock_data","description":"SQL table name."},"delimiter":{"type":"string","enum":[",",";","\t","|"],"default":",","description":"CSV delimiter."}},"required":["fields"],"example":{"fields":{"id":"id.sequence","name":"person.full_name","email":"internet.safe_email","city":"location.city","signup":"date.past","plan":{"type":"enum","values":["free","pro","team"]},"mrr":{"type":"finance.amount","min":0,"max":500}},"count":5,"seed":42,"format":"sql","dialect":"postgres","table":"customers"}}}}},"responses":{"200":{"description":"Bulk export generated rows as CSV, NDJSON, SQL INSERTs or JSON","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"format":{"type":"string","enum":["csv","ndjson","sql","json"]},"mime":{"type":"string"},"count":{"type":"integer"},"bytes":{"type":"integer"},"content":{"type":"string","description":"The exported file."}},"required":["seed","locale","ref_date","generator","format","mime","count","bytes","content"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}},"text/csv":{"schema":{"type":"string"}},"application/x-ndjson":{"schema":{"type":"string"}},"application/sql":{"schema":{"type":"string"}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Unsupported Content-Type.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/people":{"get":{"operationId":"people","tags":["Records"],"summary":"Fake people: name, email, phone, birth date, job and address","description":"Coherent person records: the email is derived from the name on a reserved example domain (RFC 2606, never deliverable), birth dates give ages 18–80 at the reference date. Same seed → same records.\n\n**Limits:** query string ≤ 4096 bytes; count ≤ 100.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":5,"description":"Number of records (1–100).","example":5},"required":false,"description":"Number of records (1–100).","name":"count","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"required":false,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned).","name":"seed","in":"query"},{"schema":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"required":false,"description":"Locale (GET /v1/locales).","name":"locale","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."},"required":false,"description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z).","name":"ref_date","in":"query"}],"responses":{"200":{"description":"Fake people: name, email, phone, birth date, job and address","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"count":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"full_name":{"type":"string"},"sex":{"type":"string"},"email":{"type":"string"},"username":{"type":"string"},"phone":{"type":"string"},"birthdate":{"type":"string"},"job_title":{"type":"string"},"address":{"type":"object","properties":{"street":{"type":"string"},"city":{"type":"string"},"state":{"type":"string"},"zip_code":{"type":"string"},"country":{"type":"string"}},"required":["street","city","state","zip_code","country"]}},"required":["first_name","last_name","full_name","sex","email","username","phone","birthdate","job_title","address"]}}},"required":["seed","locale","ref_date","generator","count","records"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/companies":{"get":{"operationId":"companies","tags":["Records"],"summary":"Fake companies: name, catch phrase, domain, email, phone and address","description":"Company records with a matching domain on the reserved .example TLD (RFC 2606) and a contact email on it. Same seed → same records.\n\n**Limits:** query string ≤ 4096 bytes; count ≤ 100.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":5,"description":"Number of records (1–100).","example":5},"required":false,"description":"Number of records (1–100).","name":"count","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"required":false,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned).","name":"seed","in":"query"},{"schema":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"required":false,"description":"Locale (GET /v1/locales).","name":"locale","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."},"required":false,"description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z).","name":"ref_date","in":"query"}],"responses":{"200":{"description":"Fake companies: name, catch phrase, domain, email, phone and address","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"count":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"catch_phrase":{"type":"string"},"industry":{"type":"string"},"domain":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"address":{"type":"object","properties":{"street":{"type":"string"},"city":{"type":"string"},"zip_code":{"type":"string"},"country":{"type":"string"}},"required":["street","city","zip_code","country"]}},"required":["name","catch_phrase","industry","domain","email","phone","address"]}}},"required":["seed","locale","ref_date","generator","count","records"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/finance/cards":{"get":{"operationId":"testCards","tags":["Records"],"summary":"Payment test cards (Stripe-published numbers) with expiry and CVC","description":"Card numbers from Stripe’s published test list (Visa, Mastercard incl. 2-series, Amex, Discover, Diners, JCB, UnionPay; credit/debit/prepaid) — Luhn-valid, accepted by payment sandboxes, never issued to real cardholders. Expiry dates lie 1–5 years after the reference date; CVC has 4 digits for Amex, else 3. Same seed → same cards.\n\n**Limits:** query string ≤ 4096 bytes; count ≤ 100.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":5,"description":"Number of records (1–100).","example":5},"required":false,"description":"Number of records (1–100).","name":"count","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"required":false,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned).","name":"seed","in":"query"},{"schema":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"required":false,"description":"Locale (GET /v1/locales).","name":"locale","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."},"required":false,"description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z).","name":"ref_date","in":"query"},{"schema":{"type":"string","enum":["visa","mastercard","amex","discover","diners","jcb","unionpay"],"description":"Only this brand."},"required":false,"description":"Only this brand.","name":"brand","in":"query"}],"responses":{"200":{"description":"Payment test cards (Stripe-published numbers) with expiry and CVC","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"count":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"brand":{"type":"string"},"type":{"type":"string"},"number":{"type":"string"},"expiry_month":{"type":"integer"},"expiry_year":{"type":"integer"},"cvc":{"type":"string"},"holder":{"type":"string"}},"required":["brand","type","number","expiry_month","expiry_year","cvc","holder"]}}},"required":["seed","locale","ref_date","generator","count","records"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/finance/ibans":{"get":{"operationId":"ibans","tags":["Records"],"summary":"Synthetic IBANs with valid check digits for a country","description":"IBANs with the country’s registry length and structure and correct ISO 13616 mod-97 check digits, plus a BIC-shaped code. They are synthetic: they validate structurally but the accounts do not exist. Same seed → same IBANs.\n\n**Limits:** query string ≤ 4096 bytes; count ≤ 100.","parameters":[{"schema":{"type":"integer","minimum":1,"maximum":100,"default":5,"description":"Number of records (1–100).","example":5},"required":false,"description":"Number of records (1–100).","name":"count","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"required":false,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned).","name":"seed","in":"query"},{"schema":{"type":"string","enum":["en","en_US","en_GB","en_AU","en_IN","en_ZA","af_ZA","de","fr","es","es_MX","it","nl","pl","pt_BR","sv","ja"],"default":"en","description":"Locale (GET /v1/locales).","example":"en"},"required":false,"description":"Locale (GET /v1/locales).","name":"locale","in":"query"},{"schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}(T\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,3})?)?Z)?$","description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z)."},"required":false,"description":"Reference date for relative dates and ages (default 2026-01-01T00:00:00Z).","name":"ref_date","in":"query"},{"schema":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"ISO 3166-1 alpha-2 country with an IBAN format (e.g. DE, GB, FR).","example":"DE"},"required":false,"description":"ISO 3166-1 alpha-2 country with an IBAN format (e.g. DE, GB, FR).","name":"country","in":"query"}],"responses":{"200":{"description":"Synthetic IBANs with valid check digits for a country","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"count":{"type":"integer"},"records":{"type":"array","items":{"type":"object","properties":{"iban":{"type":"string"},"formatted":{"type":"string"},"country":{"type":"string"},"bic":{"type":"string"}},"required":["iban","formatted","country","bic"]}}},"required":["seed","locale","ref_date","generator","count","records"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/text":{"get":{"operationId":"text","tags":["Records"],"summary":"Lorem ipsum words, sentences or paragraphs","description":"Placeholder text in Latin (lorem ipsum): `count` words, sentences or paragraphs. Same seed → same text.\n\n**Limits:** query string ≤ 4096 bytes; count ≤ 100.","parameters":[{"schema":{"type":"string","enum":["words","sentences","paragraphs"],"default":"paragraphs"},"required":false,"name":"unit","in":"query"},{"schema":{"type":"integer","minimum":1,"maximum":100,"default":3,"description":"How many units.","example":3},"required":false,"description":"How many units.","name":"count","in":"query"},{"schema":{"type":["integer","null"],"minimum":0,"maximum":4294967295,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned)."},"required":false,"description":"Seed (0–4294967295). Same seed + same request = same data. Omitted → random (returned).","name":"seed","in":"query"}],"responses":{"200":{"description":"Lorem ipsum words, sentences or paragraphs","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"seed":{"type":"integer","description":"Seed used (send it back to reproduce this answer)."},"locale":{"type":"string"},"ref_date":{"type":"string","description":"Reference date used for relative values."},"generator":{"type":"string","description":"Generator version; outputs are stable within it."},"unit":{"type":"string"},"count":{"type":"integer"},"items":{"type":"array","items":{"type":"string"}}},"required":["seed","locale","ref_date","generator","unit","count","items"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/fields":{"get":{"operationId":"fields","tags":["Catalogue"],"summary":"List the field types usable in field maps and x-faker","description":"Every field type with its description and a sample value (seed 1, locale en, reference date 2026-01-01).\n\n**Limits:** query string ≤ 4096 bytes; no limit parameters.","parameters":[{"schema":{"type":"string","maxLength":20,"description":"Only types starting with this group, e.g. person."},"required":false,"description":"Only types starting with this group, e.g. person.","name":"group","in":"query"}],"responses":{"200":{"description":"List the field types usable in field maps and x-faker","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"count":{"type":"integer"},"fields":{"type":"array","items":{"type":"object","properties":{"type":{"type":"string"},"description":{"type":"string"},"example":{}},"required":["type","description"]}}},"required":["count","fields"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/locales":{"get":{"operationId":"locales","tags":["Catalogue"],"summary":"List supported locales","description":"Locale ids accepted by `locale` with their names; missing locale data falls back to English.\n\n**Limits:** query string ≤ 4096 bytes; no parameters.","responses":{"200":{"description":"List supported locales","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true]},"data":{"type":"object","properties":{"count":{"type":"integer"},"locales":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"}},"required":["id","name"]}}},"required":["count","locales"]},"meta":{"$ref":"#/components/schemas/Meta"}},"required":["success","data","meta"]}}}},"400":{"description":"Malformed request (e.g. body is not valid JSON).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid RapidAPI proxy credentials.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Payload exceeds the documented limit.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Parameters failed validation; see error.details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"webhooks":{}}