A catalog of entirely fictional QA-themed films. Practice multi-parameter filtering, sorting, range validation on ratings, and role-based deletes.
The Movies API is a QA-themed catalog you can sort, filter and rate — and the only one with a file-upload endpoint that enforces limits. Posters have a maximum size and an allowed content type, so this is where 413 Payload Too Large and 415 Unsupported Media Type stop being theory.
Base URL: https://funapi.dev/api/movies/v1 · 9 endpoints · OpenAPI 3.1 spec and Postman collection available. New here? Read the getting started guide.
GET https://funapi.dev/api/movies/v1/movies — List movies (filter, sort, paginate). No token, no signup:
curl -i https://funapi.dev/api/movies/v1/movies
answers 200 OK with:
{
"page": 1,
"pageSize": 5,
"total": 10,
"totalPages": 2,
"data": [
{
"id": 1,
"title": "Midnight Debugger",
"genre": "thriller",
"year": 2019,
"rating": 7.8,
"_v": 1
},
{
"id": 2,
"title": "The 404 Identity",
"genre": "thriller",
"year": 2021,
"rating": 8.1,
"_v": 1
},
{
"id": 3,
"title": "Gone in 60 Milliseconds",
"genre": "action",
"year": 2020,
"rating": 6.9,
"_v": 1
},
{
"id": 4,
"title": "The Curious Case of the Missing Semicolon",
"genre": "comedy",
"year": 2018,
"rating": 7.2,
"_v": 1
},
{
"id": 5,
"title": "Null Pointer in Manhattan",
"genre": "drama",
"year": 2022,
"rating": 7.5,
"_v": 1
}
]
}
now showing: Edge Case (2024)
GET /movies/v1/movies — List movies (filter, sort, paginate) · Responds with 200 400 404 Link to this endpointGET /movies/v1/movies/{id} — Get one movie · Responds with 200 404 Link to this endpointGET /movies/v1/search — Full-text search movie titles · Responds with 200 Link to this endpointGET /movies/v1/search/fuzzy — Typo-tolerant search (fuzzy match, "did you mean") · Responds with 200 400 Link to this endpointPOST /movies/v1/movies — Add a movie (requires Bearer auth) · Responds with 201 400 401 Link to this endpointPUT /movies/v1/movies/{id}/rating — Rate a movie (0–10 inclusive) (requires Bearer auth) · Responds with 200 400 401 404 412 Link to this endpointDELETE /movies/v1/movies/{id} — Remove a movie (requires Bearer auth) · Responds with 204 401 403 404 412 Link to this endpointGET /movies/v1/movies/{id}/similar — Get movies with the same genre (recommendation) · Responds with 200 404 Link to this endpointsimulated multipart file uploads
POST /movies/v1/movies/{id}/poster — Upload a movie poster (simulated multipart file upload) (requires Bearer auth) · Responds with 201 400 401 404 413 415 Link to this endpointLast updated