Marvel heroes, villains and mission assignments. Practice CRUD, Bearer auth, nested resources, pagination, and state-transition conflicts (409).
The Marvel API assigns heroes and villains to missions, which makes it a three-way relationship rather than a simple parent-child tree. Missions have states and rosters, so it is well suited to testing a client that has to keep several related collections consistent as it writes.
Base URL: https://funapi.dev/api/marvel/v1 · 10 endpoints · OpenAPI 3.1 spec and Postman collection available. New here? Read the getting started guide.
six Avengers across two teams
GET /marvel/v1/heroes — List heroes (paginated, filter by team)GET /marvel/v1/heroes/{id} — Get one heroGET /marvel/v1/heroes/{id}/missions — Get a hero's assigned missions (nested resource)POST /marvel/v1/heroes — Recruit a new hero (requires Bearer auth)PUT /marvel/v1/heroes/{id} — Update a hero (requires Bearer auth)DELETE /marvel/v1/heroes/{id} — Retire a hero (requires Bearer auth)threat levels, some defeated
GET /marvel/v1/villains — List villains, filter by threat levelassign heroes, then complete them
POST /marvel/v1/missions — Assign heroes to a new mission (requires Bearer auth)GET /marvel/v1/missions/{id} — Get one missionPOST /marvel/v1/missions/{id}/complete — Mark a mission complete (409 if already complete) (requires Bearer auth)