Myles’ Arcana exposes a read-only JSON API for accessing artifacts, creators, and groups. All endpoints are static JSON files generated at build time.

The base URL is https://arcana.myles.garden.

Endpoints

MethodURLDescription
GET/api/v1/artifacts.jsonList all artifacts
GET/api/v1/artifacts/{id}.jsonArtifact detail
GET/api/v1/creators.jsonList all creators
GET/api/v1/creators/{id}.jsonCreator detail
GET/api/v1/groups.jsonList all groups
GET/api/v1/groups/{id}.jsonGroup detail

List responses

All list endpoints return the same envelope:

{
  "next": null,
  "previous": null,
  "count": 42,
  "result": []
}

Artifacts

List — /api/v1/artifacts.json

Each item in result is a slim artifact object:

{
  "id": "books/delicious-in-dungeon-vol-1",
  "url": "/books/delicious-in-dungeon-vol-1",
  "apiUrl": "/api/v1/artifacts/books/delicious-in-dungeon-vol-1.json",
  "kind": "book",
  "title": "Delicious in Dungeon, Vol. 1",
  "releasedAt": "2016-02-26T00:00:00+00:00"
}

The kind field is one of: book, film, tvShow, tvShowSeason, tvShowEpisode, videoGame, vinylRecord, vinylRecordTrack.

Detail — /api/v1/artifacts/{id}.json

The detail response extends the slim object with full metadata. All artifacts include these additional fields:

{
  "description": "When young adventurer Laios and his company are attacked…",
  "coverUrl": null,
  "identifiers": [{ "scheme": "isbn13", "value": "9780316471855" }],
  "creators": [
    {
      "id": "ryoko-kui",
      "url": "/creators/ryoko-kui",
      "apiUrl": "/api/v1/creators/ryoko-kui.json",
      "name": "Ryoko Kui",
      "role": "author"
    }
  ],
  "groups": [
    {
      "id": "delicious-in-dungeon",
      "url": "/groups/delicious-in-dungeon",
      "apiUrl": "/api/v1/groups/delicious-in-dungeon.json",
      "title": "Delicious in Dungeon",
      "label": "Volume 1",
      "order": 1
    }
  ]
}

Kind-specific fields are also included:

KindExtra fields
bookedition, format, pageCount
tvShowSeasontvShow, seasonNumber
tvShowEpisodetvShowSeason, episodeNumber, airedAt
videoGameplayMode
vinylRecordTrackvinylRecord, position, duration

Creators

List — /api/v1/creators.json

{
  "id": "ryoko-kui",
  "url": "/creators/ryoko-kui",
  "apiUrl": "/api/v1/creators/ryoko-kui.json",
  "name": "Ryoko Kui",
  "creatorType": "person"
}

Detail — /api/v1/creators/{id}.json

{
  "id": "ryoko-kui",
  "url": "/creators/ryoko-kui",
  "apiUrl": "/api/v1/creators/ryoko-kui.json",
  "name": "Ryoko Kui",
  "creatorType": "person",
  "givenName": "Ryoko",
  "familyName": "Kui",
  "additionalName": null,
  "aliases": [],
  "artifacts": [
    {
      "id": "books/delicious-in-dungeon-vol-1",
      "url": "/books/delicious-in-dungeon-vol-1",
      "apiUrl": "/api/v1/artifacts/books/delicious-in-dungeon-vol-1.json",
      "kind": "book",
      "title": "Delicious in Dungeon, Vol. 1"
    }
  ]
}

Groups

List — /api/v1/groups.json

{
  "id": "delicious-in-dungeon",
  "url": "/groups/delicious-in-dungeon",
  "apiUrl": "/api/v1/groups/delicious-in-dungeon.json",
  "title": "Delicious in Dungeon",
  "groupType": "series",
  "status": "completed"
}

Detail — /api/v1/groups/{id}.json

{
  "id": "delicious-in-dungeon",
  "url": "/groups/delicious-in-dungeon",
  "apiUrl": "/api/v1/groups/delicious-in-dungeon.json",
  "title": "Delicious in Dungeon",
  "groupType": "series",
  "status": "completed",
  "description": null,
  "startedAt": "2014-09-01T00:00:00+00:00",
  "endedAt": "2023-09-01T00:00:00+00:00",
  "artifacts": [
    {
      "id": "books/delicious-in-dungeon-vol-1",
      "url": "/books/delicious-in-dungeon-vol-1",
      "apiUrl": "/api/v1/artifacts/books/delicious-in-dungeon-vol-1.json",
      "kind": "book",
      "title": "Delicious in Dungeon, Vol. 1"
    }
  ]
}