Skip to content

パズル REST API の資料

Bearer 方式の API キーを使います。完成した結果は「マイパズル」に保存され、ファイル本体ではなくブラウザー用のページが返されます。

認証

Authorization: Bearer YOUR_API_KEY を送信します。外部向けの接続先はクッキーを受け付けません。キーはサーバーに保管してください。

制限と共有

リクエスト例

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

機械が読める OpenAPI 仕様

冪等性と応答

作成には Idempotency-Key が必要です。同じキーと内容で再試行すると、同じ保存済みパズルが返ります。キーが同じで内容が異なる場合は 409 です。初回は 201、再試行は 200 を返します。

エラー

エラーは {error:{code,message,details},requestId} の形式です。400 は不正な要求、401 は認証、403 は枠や権限、404 は存在しないか他人の項目、409 はキーの衝突、410 は無効な共有、413 は容量超過、415 はメディア形式、422 は入力や生成の失敗、429 は頻度制限と Retry-After、503 は作成機能の停止を示します。

パズル REST API の資料