Learn REST, GraphQL and HTTP Status Codes: A 108-Flashcard Study Plan
Study REST constraints, HTTP methods, GraphQL and every status code from 100 to 511 with 108 flashcards: real cards, duplicates to skip and a two-part plan.

Studying. But it's also a video game. 🎮
Flashcards, quizzes and games that make you actually remember.
Posted by
Related reading
Learn Vue.js Core Concepts: 30 Flashcards on Reactivity, Directives and the Vue Ecosystem
Learn Vue.js with deck XT7941: 30 flashcards on directives, virtual DOM, reactivity, computed vs watch, Pinia, Vue Router and Vite, plus the cards to update.
OWASP Top 10 Flashcards: Study the 2021 List and Update It for 2025
Study OWASP Top 10 with 35 flashcards on injection, SSRF, SAST, DAST, IAST and RASP, then add the missing #1 risk and the new OWASP 2025 ranking.
Learn CSS Flexbox and Grid in German: 58 Flashcards on Hauptachse, Spuren and Zellen
Learn CSS Flexbox and Grid with German backs: 58 real flashcards on Hauptachse, Querachse, Spur and Zelle, plus the Zeile trap and three backs to fix.
Most API flashcard decks stop at "GET reads, POST creates." APIs: REST, GraphQL & HTTP Status Codes (deck code YM3289, 108 cards) goes further: it is really two decks stitched together, and studying it that way saves a lot of reviews.
Study this deck: APIs: REST, GraphQL & HTTP Status Codes
1 / 10REST
Tap the card for the answer · swipe right if you knew it, left if not
How the deck is built
- Cards 1-59 — API design. REST constraints, HTTP methods, URI naming, auth, caching, then a GraphQL block (cards 39-51) and a few neighbours: OpenAPI, webhooks, gRPC.
- Cards 60-108 — the status code reference. Classes 1xx-5xx, then individual codes from 100 Continue to 511 Network Authentication Required, plus non-standard ones (nginx 499, Cloudflare 520).
Cards worth knowing cold
| Front | Back (from the deck) |
|---|---|
| 6 REST constraints | Uniform Interface, Client-Server, Stateless, Cacheable, Layered System, Code-on-Demand (optional) |
| Idempotent | Same effect whether performed once or many times; GET, PUT, DELETE are, POST is not |
| HATEOAS | Responses include hypermedia links to related resources and possible actions |
| N+1 problem in GraphQL | 1 query + N queries for related data; solved with DataLoader batching |
| How does GraphQL handle errors? | Returns 200 with partial data and an errors array |
| ETag | Version identifier; client sends If-None-Match, server returns 304 if unchanged |
| 401 vs 403 | 401 = not authenticated; 403 = authenticated but forbidden |
| 302 vs 307 | Both temporary; 307 preserves the method, 302 may turn POST into GET |
| HTTP 422 Unprocessable Content | Well-formed request with semantic errors |
What you'll cover
Statelessness, resources and representations, safe vs idempotent methods, PATCH vs PUT, plural collection names, nested resources, pagination (page/limit vs offset/limit), API versioning (URI, header, subdomain), content negotiation, Basic auth, Bearer tokens, OAuth 2.0, JWT, rate limiting vs throttling, CORS, GraphQL queries, mutations, subscriptions, schema/SDL, resolvers, fragments, aliases, introspection, OpenAPI/Swagger, webhooks, gRPC, Cache-Control, 201/204/206, 301/308, 303 See Other, 405, 409, 410, 413, 429, 451, 502/503/504, 418 I'm a teapot, and RFC 2616 → 7231 → 9110.
A study plan that fits the two halves
Learn the five class cards (61-65) before any individual code. Once "4xx = the client's fault, 5xx = the server's" is automatic, half of each code card is already answered. Then drill the three contrast cards (100-102: 401/403, 301/308, 302/307) — these are the pairs people actually mix up in interviews and code review.
Suspend the early duplicates. Cards 15-20 (400, 401, 403, 404, 500, 503) repeat cards 74-77, 89 and 92 almost word for word, and card 14 bundles 200/201/204, which cards 66-68 split cleanly. Cards 54 and 59 both define throttling vs rate limiting — keep 59, the comparison. That trims about eight cards with no loss.
Fix one gap while you're there. The method cards never say whether PATCH is idempotent. The answer is "not guaranteed" — a PATCH like "append to list" or "increment counter" isn't. Add it to card 10's back; it's a classic follow-up question to card 12.
Read the GraphQL error card twice. "Errors still return 200" means your monitoring can't rely on status codes alone for GraphQL — a useful contrast with the whole second half of this deck.
Keep going
Building the front end that calls these APIs? Pair this deck with JavaScript ES6+ Features (fetch, promises, async/await) and CSS Box Model, Selectors and Media Queries.
Find YM3289 — APIs: REST, GraphQL & HTTP Status Codes in the library on Flip It and start with the class cards.
Ready to learn faster? 🚀
Join FLIP IT for free and turn studying into a game.