{
  "types": {
    "dni": {
      "canonical": "dni",
      "alias": false,
      "title": "DNI 3.0",
      "description": "Documento Nacional de Identidad (tarjeta de policarbonato, anverso y reverso).",
      "sides": [
        "front",
        "rear"
      ],
      "numberFormat": "8 dígitos + letra de control (12345678Z). Se completa la letra si falta.",
      "example": "https://documents.suils.es/dni/both/png?seed=ana&size=900"
    },
    "nif": {
      "canonical": "dni",
      "alias": true,
      "title": "NIF (persona física)",
      "description": "Alias de `dni`: el NIF de una persona física es su DNI, misma tarjeta.",
      "sides": [
        "front",
        "rear"
      ],
      "numberFormat": "Igual que dni.",
      "example": "https://documents.suils.es/nif/front/svg?number=12345678"
    },
    "nie": {
      "canonical": "nie",
      "alias": false,
      "title": "TIE (NIE)",
      "description": "Tarjeta de Identidad de Extranjero con el NIE del titular (anverso y reverso).",
      "sides": [
        "front",
        "rear"
      ],
      "numberFormat": "X/Y/Z + 7 dígitos + letra (X1234567L). Se completa la letra si falta.",
      "example": "https://documents.suils.es/nie/both/png?seed=omar&nationality=MAR"
    },
    "permiso_residencia": {
      "canonical": "nie",
      "alias": true,
      "title": "Permiso de residencia",
      "description": "Alias de `nie` (la TIE es el soporte físico del permiso de residencia).",
      "sides": [
        "front",
        "rear"
      ],
      "numberFormat": "Igual que nie.",
      "example": "https://documents.suils.es/permiso_residencia/front/png?seed=elena&nationality=ROU"
    },
    "pasaporte": {
      "canonical": "pasaporte",
      "alias": false,
      "title": "Pasaporte",
      "description": "Página de datos del pasaporte español (front) y portada (rear).",
      "sides": [
        "front",
        "rear"
      ],
      "numberFormat": "3 letras + 6 dígitos (PAB123456). Sin carácter de control.",
      "example": "https://documents.suils.es/pasaporte/front/png?number=PAB123456"
    },
    "cif": {
      "canonical": "cif",
      "alias": false,
      "title": "CIF / NIF de entidad",
      "description": "Tarjeta de Identificación Fiscal de una entidad jurídica (solo anverso).",
      "sides": [
        "front"
      ],
      "numberFormat": "Letra de entidad + 7 dígitos + control (B12345674, Q2826000H). Se completa el control si falta.",
      "example": "https://documents.suils.es/cif/front/svg?number=B1234567"
    },
    "eu": {
      "canonical": "eu",
      "alias": false,
      "title": "Documento país de origen (UE)",
      "description": "Tarjeta de identidad nacional genérica de otro estado de la UE. Elige el país con `country`.",
      "sides": [
        "front",
        "rear"
      ],
      "numberFormat": "6–12 letras o dígitos (los formatos reales varían por país).",
      "example": "https://documents.suils.es/eu/both/png?seed=luca&country=IT"
    }
  },
  "canonical": [
    "dni",
    "nie",
    "pasaporte",
    "cif",
    "eu"
  ],
  "sides": [
    "front",
    "rear",
    "both"
  ],
  "formats": [
    "svg",
    "png",
    "jpg",
    "jpeg",
    "webp",
    "avif",
    "json"
  ],
  "euCountries": [
    "PT",
    "FR",
    "IT",
    "DE",
    "RO",
    "BG",
    "PL",
    "NL"
  ],
  "params": [
    {
      "name": "seed",
      "type": "string",
      "default": "number, si no \"especimen\"",
      "description": "Semilla determinista: todo lo que no se indique se deriva de ella. Misma semilla, mismo documento."
    },
    {
      "name": "number",
      "type": "string",
      "default": "derivado de seed",
      "description": "Número del documento. Se valida y se completa (letra DNI/NIE, control CIF). Formato según tipo."
    },
    {
      "name": "name",
      "type": "string",
      "default": "derivado",
      "description": "Nombre de pila (admite compuestos: \"María del Carmen\")."
    },
    {
      "name": "surname1",
      "type": "string",
      "default": "derivado",
      "description": "Primer apellido."
    },
    {
      "name": "surname2",
      "type": "string",
      "default": "derivado",
      "description": "Segundo apellido (vacío para la mayoría de nacionalidades no hispanas)."
    },
    {
      "name": "sex",
      "type": "M | F | X",
      "default": "coherente con el nombre",
      "description": "Sexo impreso y en la MRZ (X se codifica como \"<\")."
    },
    {
      "name": "birth",
      "type": "YYYY-MM-DD",
      "default": "18–85 años",
      "description": "Fecha de nacimiento."
    },
    {
      "name": "issue",
      "type": "YYYY-MM-DD",
      "default": "últimos 0–9 años",
      "description": "Fecha de expedición."
    },
    {
      "name": "expiry",
      "type": "YYYY-MM-DD",
      "default": "según edad",
      "description": "Fecha de validez. DNI: +5 años (<30), +10 (<70), PERMANENTE (≥70, impreso 01 01 9999). Pasaporte: +5/+10."
    },
    {
      "name": "nationality",
      "type": "ISO-3",
      "default": "ESP (nie: MAR, ROU, COL…)",
      "description": "Nacionalidad del titular. Para nie elige además el banco de nombres."
    },
    {
      "name": "birthplace",
      "type": "string",
      "default": "derivado",
      "description": "Localidad de nacimiento."
    },
    {
      "name": "province",
      "type": "string",
      "default": "coherente con city",
      "description": "Provincia del domicilio."
    },
    {
      "name": "address",
      "type": "string",
      "default": "derivado",
      "description": "Vía y número del domicilio."
    },
    {
      "name": "city",
      "type": "string",
      "default": "derivado",
      "description": "Localidad del domicilio (si es conocida fija provincia y prefijo postal)."
    },
    {
      "name": "postal",
      "type": "5 dígitos",
      "default": "coherente con la provincia",
      "description": "Código postal."
    },
    {
      "name": "parents",
      "type": "\"Nombre / Nombre\"",
      "default": "derivado",
      "description": "Nombres del padre y de la madre (campo HIJO/A DE)."
    },
    {
      "name": "support",
      "type": "string",
      "default": "BCA + 6 dígitos",
      "description": "Número de soporte (IDESP). Va en la MRZ de las tarjetas."
    },
    {
      "name": "photo",
      "type": "estilo de avatars.suils.es",
      "default": "suils",
      "description": "Estilo del avatar usado como fotografía."
    },
    {
      "name": "photoSeed",
      "type": "string",
      "default": "number",
      "description": "Semilla del avatar."
    },
    {
      "name": "lang",
      "type": "es | en | ca",
      "default": "es",
      "description": "Idioma principal de las etiquetas (la secundaria se mantiene como subtítulo)."
    },
    {
      "name": "watermark",
      "type": "1 | 0",
      "default": "1",
      "description": "Marca de agua diagonal \"ESPECIMEN\". El pie \"ESPECIMEN · SIN VALIDEZ LEGAL\" se imprime siempre."
    },
    {
      "name": "country",
      "type": "PT | FR | IT | DE | RO | BG | PL | NL",
      "default": "derivado",
      "description": "Solo tipo `eu`: país emisor de la tarjeta."
    },
    {
      "name": "dni",
      "type": "string",
      "default": "derivado",
      "description": "Solo `pasaporte`: número de DNI del titular (campo \"Nº DNI\" y número personal de la MRZ)."
    },
    {
      "name": "size",
      "type": "entero",
      "default": "anchura natural",
      "description": "Anchura en píxeles de la salida raster (limitada por MAX_SIZE)."
    },
    {
      "name": "backgroundColor",
      "type": "hex sin #",
      "default": "transparente (jpg: blanco)",
      "description": "Color de fondo tras la tarjeta."
    }
  ],
  "limits": {
    "maxSize": 1600
  },
  "photos": {
    "entries": 200,
    "limit": 200,
    "baseUrl": "https://avatars.suils.es"
  },
  "specimen": "Every face carries the footer \"ESPECIMEN · SIN VALIDEZ LEGAL\"; it cannot be disabled."
}