Worlds
List worlds
GET /api/worlds
Query parameters
pageSize(optional): number of results per page. Defaults to10. Min1, max100.cursor(optional): opaque paging cursor fromnext.search(optional): filters by name (case-insensitive).sort(optional): allowed values:name(default).include(optional): allowed values:relations.
If include=relations is omitted, books is returned as an empty array.
Filtering & sorting
searchmatches against world name (case-insensitive).sort=nameis the only supported sort order right now.
Include relations example
GET /api/worlds?include=relations
Response
200 OK
{
"count": null,
"next": "/api/worlds?pageSize=10&cursor=...",
"previous": null,
"results": [
{
"url": "/api/worlds/99a58f64-10bd-5228-ae0b-46279aa515e9",
"id": "99a58f64-10bd-5228-ae0b-46279aa515e9",
"name": "Roshar",
"system_name": "Rosharan System",
"books": ["/api/books/d76e8ec4-e5a5-51d2-a788-f6a2d19acfd4"],
"created_at": "2026-02-19T12:34:56Z",
"updated_at": "2026-02-19T12:34:56Z"
}
]
}
Error cases
400 Bad Request: invalidcursor,sort, orinclude.
Get a world
GET /api/worlds/{id}
Example
GET /api/worlds/99a58f64-10bd-5228-ae0b-46279aa515e9
Response
200 OK
{
"url": "/api/worlds/99a58f64-10bd-5228-ae0b-46279aa515e9",
"id": "99a58f64-10bd-5228-ae0b-46279aa515e9",
"name": "Roshar",
"system_name": "Rosharan System",
"books": ["/api/books/d76e8ec4-e5a5-51d2-a788-f6a2d19acfd4"],
"created_at": "2026-02-19T12:34:56Z",
"updated_at": "2026-02-19T12:34:56Z"
}
404 Not Found: world id does not exist.