Cases, suspects and clues from a fictional Victorian detective agency. Practice CRUD, Bearer auth, nested resources, pagination and optimistic concurrency.
The Sherlock Holmes API is a case file: investigations with suspects and clues, and cases that move from open to solved. It is the catalog's PATCH endpoint — partial updates rather than whole-object PUTs — which is where most clients quietly send the wrong thing and never find out.
Base URL: https://funapi.dev/api/holmes/v1 · 10 endpoints · OpenAPI 3.1 spec and Postman collection available. New here? Read the getting started guide.
five cases, two still open
GET /holmes/v1/cases — List all casesGET /holmes/v1/cases/{id} — Get one caseGET /holmes/v1/cases/{id}/suspects — Get all suspects for a case (nested resource)PATCH /holmes/v1/cases/{id} — Update a case status (409 if unchanged) (requires Bearer auth)alibis included, guilt undisclosed
GET /holmes/v1/suspects/{id} — Get one suspectPOST /holmes/v1/suspects — Add a suspect to a case (requires Bearer auth)PUT /holmes/v1/suspects/{id} — Update a suspect (requires Bearer auth)DELETE /holmes/v1/suspects/{id} — Clear a suspect (requires Bearer auth)physical, document, and testimony
GET /holmes/v1/clues — List clues, filter by case or typeGET /holmes/v1/clues/random — A random clue