Quickstart

The API is anonymous: you don't need an account or an API key to get started.

Your first request

terminal
curl "https://datamockseed.firstflip.es/api/v1/es/document?sub=dni&count=3"

This returns 3 fake DNIs (Spanish national ID numbers), each with a valid check letter:

{
  "status": "success",
  "meta": {
    "generator": "document",
    "locale": "es",
    "seed": "…",
    "count": 3,
    "options": { "sub": "dni", "ok": "true", "fmt": "plain" }
  },
  "data": [
    { "documento": "12345678Z", "tipo": "DNI" },
    { "documento": "87654321X", "tipo": "DNI" },
    { "documento": "11223344B", "tipo": "DNI" }
  ]
}

The es in the path is the country of the data (Spain), not the language of the response.

Switch generators

Replace document with any of the generators listed in /en/docs/generators/document: iban, card, phone, identity, passport, uuid, username, password.

Count and seed

  • count: how many records to return (up to 1000 on this endpoint).
  • seed: same seed + same parameters ⇒ same data, every time. If you leave it out, the API picks a random one and returns it in meta.seed.
terminal
curl "https://datamockseed.firstflip.es/api/v1/es/document?sub=dni&count=3&seed=my-test-seed"

Messages in English

Human-readable texts in responses (validation reason, error message, generator label) are in Spanish by default. Add lang=en to the query string, or send an Accept-Language: en header, to get them in English. Generated data and field names are the same in every language.

terminal
curl -X POST "https://datamockseed.firstflip.es/api/v1/validate?lang=en" \
-H "Content-Type: application/json" \
-d '{"value":"12345678A"}'

An invalid value comes back with a stable code (such as invalid_check_letter), safe to compare in your code, plus a reason in English.

Composite records

To generate rows with several columns that stay consistent with each other (name + DNI + email + IBAN…), use POST /v1/es/bulk: see /en/docs/api/bulk.

Next steps