Skip to content

Referencia de la API REST de pasatiempos

Usa una clave de API Bearer. La creación guarda el resultado completo en Mis pasatiempos y devuelve enlaces a páginas, no archivos.

Autenticación

Envía Authorization: Bearer YOUR_API_KEY. Los servicios externos no aceptan cookies. Guarda la clave en tu servidor.

Límites y enlaces compartidos

Ejemplo de solicitud

curl -X POST https://puzzlegenio.com/api/v1/puzzles \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Idempotency-Key: task-000000000001' \
  -H 'Content-Type: application/json' \
  -d '{ "type": "wordsearch", "preset": "word-search-for-kids", "title": "Animal word search", "input": { "words": [ "CAT", "DOG", "LION", "TIGER" ] }, "options": { "gridSize": 10, "allowDiagonal": false } }'

Ejemplo de respuesta correcta

{
  "data": {
    "savedId": "123456789",
    "shareId": "AbCdEfGhIjKlMnOpQrStUvWxYz012345",
    "type": "wordsearch",
    "preset": "word-search-for-kids",
    "viewUrl": "https://puzzlegenio.com/puzzles/AbCdEfGhIjKlMnOpQrStUvWxYz012345",
    "exportPageUrl": "https://puzzlegenio.com/puzzles/AbCdEfGhIjKlMnOpQrStUvWxYz012345",
    "editUrl": "https://puzzlegenio.com/word-search-for-kids?id=123456789",
    "playUrl": "https://puzzlegenio.com/word-search-maker/play/AbCdEfGhIjKlMnOpQrStUvWxYz012345",
    "expiresAt": "2026-11-01T00:00:00.000Z",
    "shareState": "active",
    "savedCount": 1,
    "limit": 20,
    "formats": [
      "pdf",
      "answer-pdf"
    ],
    "itemCount": 1,
    "warnings": []
  },
  "requestId": "00000000-0000-4000-8000-000000000000"
}

Los identificadores y fechas son ilustrativos. data contiene el resultado guardado y requestId identifica la solicitud.

viewUrl
Página pública de vista previa; quien tenga el enlace también puede ver las respuestas.
exportPageUrl
Página donde se elige el formato de descarga en el navegador. Puede coincidir con viewUrl y no es un archivo directo.
editUrl
Página de edición exclusiva del propietario; requiere iniciar sesión y verificar la titularidad.
playUrl
Página de juego solo en las modalidades compatibles; en los demás casos es null.

Rutas REST

POST/api/v1/puzzles
GET/api/v1/puzzles
GET/api/v1/puzzles/{savedId}
DELETE/api/v1/puzzles/{savedId}
POST/api/v1/puzzles/{savedId}/share
GET/api/v1/capabilities
GET/api/v1/results/{shareId}
POST/api/v1/assets
POST/api/v1/assets/import
GET/api/v1/openapi.json

Esquema OpenAPI legible por máquina

Idempotencia y respuestas

La creación requiere Idempotency-Key. Repetir la misma clave y el mismo cuerpo devuelve el mismo resultado guardado. Una clave con otro cuerpo devuelve 409. La primera creación devuelve 201; la repetición, 200.

Errores

Los errores usan {error:{code,message,details},requestId}. 400 indica solicitud incorrecta; 401, autenticación; 403, límite o permisos; 404, elemento desconocido o ajeno; 409, conflicto; 410, enlace inactivo; 413, tamaño; 415, tipo de contenido; 422, parámetros o generación; 429, frecuencia con Retry-After; 503, creación no disponible.

Referencia de la API REST de pasatiempos