Endpoint
GET https://requiems.xyz/v1/entertainment/sudoku
Get Sudoku Puzzle
Returns a randomly generated Sudoku puzzle and its solution. Difficulty defaults to medium when not specified.
Parameters
| Name |
Type |
Required |
Location |
Description |
difficulty |
string |
no |
query |
Puzzle difficulty level. One of: easy, medium, hard. Defaults to medium. |
Response Example
{
"data": {
"difficulty": "hard",
"puzzle": [
[5, 3, 0, 0, 7, 0, 0, 0, 0],
[6, 0, 0, 1, 9, 5, 0, 0, 0],
[0, 9, 8, 0, 0, 0, 0, 6, 0],
[8, 0, 0, 0, 6, 0, 0, 0, 3],
[4, 0, 0, 8, 0, 3, 0, 0, 1],
[7, 0, 0, 0, 2, 0, 0, 0, 6],
[0, 6, 0, 0, 0, 0, 2, 8, 0],
[0, 0, 0, 4, 1, 9, 0, 0, 5],
[0, 0, 0, 0, 8, 0, 0, 7, 9]
],
"solution": [
[5, 3, 4, 6, 7, 8, 9, 1, 2],
[6, 7, 2, 1, 9, 5, 3, 4, 8],
[1, 9, 8, 3, 4, 2, 5, 6, 7],
[8, 5, 9, 7, 6, 1, 4, 2, 3],
[4, 2, 6, 8, 5, 3, 7, 9, 1],
[7, 1, 3, 9, 2, 4, 8, 5, 6],
[9, 6, 1, 5, 3, 7, 2, 8, 4],
[2, 8, 7, 4, 1, 9, 6, 3, 5],
[3, 4, 5, 2, 8, 6, 1, 7, 9]
]
},
"metadata": {
"timestamp": "2026-01-01T00:00:00Z"
}
}
Response Fields
| Field |
Type |
Description |
difficulty |
string |
The difficulty level of the returned puzzle (easy, medium, or hard) |
puzzle |
array |
9×9 grid as an array of 9 rows, each row an array of 9 integers — 0 means an empty cell to be filled in |
solution |
array |
9×9 grid as an array of 9 rows, each row an array of 9 integers — complete, valid solution |
Errors
400 bad_request — The difficulty parameter is not one of easy, medium, or hard
401 unauthorized — Missing API key
403 forbidden — Invalid or revoked API key
1---2name: sudoku-get-sudoku3description: Returns a randomly generated Sudoku puzzle and its solution. Difficulty defaults to medium when not specified.4---5
6## Endpoint
7
8**GET https://requiems.xyz/v1/entertainment/sudoku**
9
10## Get Sudoku Puzzle
11
12Returns a randomly generated Sudoku puzzle and its solution. Difficulty defaults to medium when not specified.
13
14## Parameters
15
16| Name | Type | Required | Location | Description |
17| ---- | ---- | -------- | -------- | ----------- |
18| `difficulty` | string | no | query | Puzzle difficulty level. One of: easy, medium, hard. Defaults to medium. |
19
20## Response Example
21
22```json
23{
24 "data": {
25 "difficulty": "hard",
26 "puzzle": [
27 [5, 3, 0, 0, 7, 0, 0, 0, 0],
28 [6, 0, 0, 1, 9, 5, 0, 0, 0],
29 [0, 9, 8, 0, 0, 0, 0, 6, 0],
30 [8, 0, 0, 0, 6, 0, 0, 0, 3],
31 [4, 0, 0, 8, 0, 3, 0, 0, 1],
32 [7, 0, 0, 0, 2, 0, 0, 0, 6],
33 [0, 6, 0, 0, 0, 0, 2, 8, 0],
34 [0, 0, 0, 4, 1, 9, 0, 0, 5],
35 [0, 0, 0, 0, 8, 0, 0, 7, 9]
36 ],
37 "solution": [
38 [5, 3, 4, 6, 7, 8, 9, 1, 2],
39 [6, 7, 2, 1, 9, 5, 3, 4, 8],
40 [1, 9, 8, 3, 4, 2, 5, 6, 7],
41 [8, 5, 9, 7, 6, 1, 4, 2, 3],
42 [4, 2, 6, 8, 5, 3, 7, 9, 1],
43 [7, 1, 3, 9, 2, 4, 8, 5, 6],
44 [9, 6, 1, 5, 3, 7, 2, 8, 4],
45 [2, 8, 7, 4, 1, 9, 6, 3, 5],
46 [3, 4, 5, 2, 8, 6, 1, 7, 9]
47 ]
48 },
49 "metadata": {
50 "timestamp": "2026-01-01T00:00:00Z"
51 }
52}
53```
54
55## Response Fields
56
57| Field | Type | Description |
58| ----- | ---- | ----------- |
59| `difficulty` | string | The difficulty level of the returned puzzle (easy, medium, or hard) |
60| `puzzle` | array<object> | 9×9 grid as an array of 9 rows, each row an array of 9 integers — 0 means an empty cell to be filled in |
61| `solution` | array<object> | 9×9 grid as an array of 9 rows, each row an array of 9 integers — complete, valid solution |
62
63## Errors
64
65- `400` **bad_request** — The difficulty parameter is not one of easy, medium, or hard
66- `401` **unauthorized** — Missing API key
67- `403` **forbidden** — Invalid or revoked API key