Cosmere Tracker API Docs
Welcome! This site documents the Cosmere Tracker API and links each endpoint to a focused page.
Base Path
All API endpoints live under:
/api
Quickstart
curl https://www.cosmeretracker.com/api
{
"characters": "/api/characters",
"books": "/api/books",
"worlds": "/api/worlds"
}
Authentication
This API is currently public and does not require authentication.
Conventions
- All URLs are returned as relative paths (e.g.
/api/characters/3d2586bc-07b6-5c5f-9edb-00a66e0c68aa). - Timestamps are ISO-8601 strings when present (e.g.
2026-02-19T12:34:56Z). - Use
include=relationson list endpoints to request related resource URLs.
Response Shape
Collection endpoints return a paged response:
{
"count": null,
"next": "/api/characters?pageSize=10&cursor=...",
"previous": null,
"results": []
}
countis not calculated yet (alwaysnull).nextis a relative URL when more results are available.previousis alwaysnullfor forward-only paging.
Pagination
Use cursor-based pagination for collection endpoints:
- Start with a request that omits
cursor. - If
nextis provided, pass itscursorvalue on the next request.
Example:
GET /api/characters?pageSize=10
GET /api/characters?pageSize=10&cursor=...
Errors
Errors are returned as RFC 7807 problem details.
{
"type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
"title": "One or more validation errors occurred.",
"status": 400,
"detail": "Please refer to the errors property for additional details.",
"errors": {
"cursor": ["Invalid cursor."],
"sort": ["Invalid sort option."]
}
}
Common status codes:
400 Bad Request: invalid query parameters.404 Not Found: resource does not exist.
Contents
| Endpoint | Docs | Notes |
|---|---|---|
GET /api | API Index | Entry point for resource URLs. |
GET /api/characters | Characters | List + get-by-id. |
GET /api/books | Books | List + get-by-id. |
GET /api/worlds | Worlds | List + get-by-id. |
Coming Soon
More resource endpoints as they come online.