谜题 REST API 参考
使用 Bearer API 密钥。创建操作将完整结果保存到“我的谜题”,并返回浏览器页面链接,而非文件内容。
身份验证
发送 Authorization: Bearer YOUR_API_KEY。外部接口不接受 Cookie。请将密钥保存在服务器端。
请求示例
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 } }'创建成功的响应示例
{
"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"
}示例中的编号和日期仅说明响应结构。data 包含已保存结果;requestId 标识本次请求。
- viewUrl
- 公开预览页;持有链接的人也可查看答案。
- exportPageUrl
- 在浏览器中选择下载格式的页面。它可与 viewUrl 相同,并非文件直链。
- editUrl
- 仅限所有者的编辑页;必须登录并验证所有权。
- playUrl
- 仅在支持的模式下提供游戏页;否则为 null。
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 |
幂等与响应
创建时必须提供 Idempotency-Key。使用同一密钥和请求体重试会得到同一已保存谜题。密钥相同但请求体不同返回 409。首次创建返回 201,重放返回 200。
错误处理
错误结构为 {error:{code,message,details},requestId}。400 表示 JSON 或请求键错误,401 为认证失败,403 为额度或权益不足,404 为未知或无权访问,409 为密钥冲突,410 为分享失效,413 为体积超限,415 为媒体类型错误,422 为参数或生成失败,429 为限流并附 Retry-After,503 为创建暂不可用。
