{
  "name": "Anivexa API 2.3",
  "cache": false,
  "providers": [
    "mkissa",
    "reanime",
    "anikoto",
    "animegg",
    "animenosub",
    "anizone",
    "aniwaves",
    "senshi",
    "kaa",
    "animedunya",
    "animeonsen",
    "anipm"
  ],
  "routes": [
    "/map/:anilistId",
    "/episodes/:anilistId",
    "/episodes/:provider[/:provider...]/:anilistId?map=true|false",
    "/watch/mkissa/:id/sub|dub/mkissa-:ep",
    "/watch/reanime/:id/sub|dub/reanime-:ep",
    "/stream/reanime/:id/sub|dub/:ep",
    "/watch/anikoto/:id/sub|dub/anikoto-:ep",
    "/watch/animegg/:id/sub|dub/animegg-:ep",
    "/watch/animenosub/:id/sub|dub/animenosub-:ep",
    "/watch/anizone/:id/sub|dub/anizone-:ep",
    "/watch/aniwaves/:id/sub|dub/aniwaves-:ep",
    "/watch/senshi/:id/sub|dub/senshi-:ep",
    "/watch/kaa/:id/sub|dub/kaa-:ep",
    "/watch/animedunya/:id/sub|dub/animedunya-:ep",
    "/watch/animeonsen/:id/sub|dub/animeonsen-:ep",
    "/watch/anipm/:id/sub|dub/anipm-:ep"
  ],
  "worker": "Append ?worker=1|true (or ?worker=<custom-worker-url>) to any /watch or /stream route to route stream + subtitle URLs through the proxy worker. reanime routes automatically use their own worker (https://myworker.dev/fc) — only reanime; ?worker=0|false on a reanime route returns raw URLs",
  "encrypted": "Append ?data=en to any /watch or /stream route: stream + subtitle URLs come back as AES-256-GCM tokens that play through the EN decryptor worker (no upstream URL in the response). reanime routes encrypt through their own worker (https://myworker.dev/fc) — only reanime"
}