ScaleDojo Learn: API Design Fundamentals
Master REST, GraphQL, gRPC, and event-driven API architectures step by step.
Or read the history behind it
The Protocol Chronicles - From CORBA to GraphQL, 55 years of protocol evolution.
The Scale Wars
25% off on all challenges
Compare stats and compete with top...
API Design Lab
Progressive API Design Curriculum
Solve levels sequentially - each clear unlocks the next challenge
Act 1
#1 Hello, API World
EasyDesign your very first REST API - a simple user resource with proper naming and HTTP methods.
#2 The CRUD Master
EasyBuild a complete CRUD lifecycle for a posts resource with proper HTTP method semantics.
#3 Status Code Symphony
EasyMaster the HTTP status code taxonomy - know exactly which code to return for every situation.
#4 Nested Treasures
EasyDesign sub-resource relationships - when to nest /users/{id}/posts vs flatten /posts?filter=user_id.
#5 The Query Master
Easy-MediumMaster filtering, sorting, and searching with query parameters.
#6 Page Turner
MediumImplement pagination strategies - offset, cursor-based, and keyset.
#7 The Error Whisperer
MediumDesign a consistent error response format following RFC 7807 Problem Details.
#8 Request & Response
MediumDesign request/response DTOs with proper field conventions, types, and enumerations.
#9 The Gatekeeper
MediumDesign authentication and authorization for your API - API keys, JWT, and OAuth 2.0.
#10 Version Control
MediumDesign an API versioning strategy that supports backward compatibility.
Act 2
#11 Rate Limit Fortress
MediumDesign rate limiting headers and 429 responses that don't leave developers guessing.
#12 The Cache Architect
MediumDesign HTTP caching with ETags, If-None-Match, and Cache-Control headers.
#13 Bulk Operations HQ
Medium-HardDesign batch endpoints with partial success handling and 207 Multi-Status.
#14 The Webhook Wire
Medium-HardDesign a webhook system with event types, HMAC signing, and retry policies.
#15 Idempotency Shield
HardImplement idempotency keys for safe retries on payment and order creation.
#16 Long-Running Ops
HardDesign async operation patterns with 202 Accepted and polling endpoints.
#17 The File Vault
HardDesign file upload/download APIs with presigned URLs and resumable uploads.
#18 Search Engine API
HardDesign an advanced search API with facets, highlighting, and suggestions.
Act 3
#19 Schema Genesis
MediumDesign your first GraphQL schema - types, fields, queries, and non-null markers.
#20 Mutation Station
MediumDesign GraphQL mutations with input types and proper return types.
#21 The Resolver Graph
HardSolve the N+1 problem with DataLoader batching and resolver chain design.
#22 Relay Connections
HardImplement Relay-style cursor pagination with edges, nodes, and pageInfo.
#23 Real-Time Feed
HardDesign GraphQL subscriptions for real-time updates over WebSocket.
#24 Permission Matrix
HardDesign field-level authorization with @auth directives and type policies.
#25 Query Fortress
HardProtect your GraphQL API from malicious queries using depth limiting and complexity analysis.
#26 Schema Federation
ExpertDesign a federated GraphQL schema with Apollo Federation directives.
#27 Custom Scalars Lab
Medium-HardDesign custom scalar types for type-safe validation - DateTime, Email, URL, JSON.
#28 Schema Evolution
HardEvolve a GraphQL schema without breaking existing clients - deprecation, aliases, and additive changes.
Act 4
#29 Proto Origins
MediumDesign your first Protocol Buffer schema - messages, services, and field numbers.
#30 Service Contracts
Medium-HardDesign a multi-service gRPC architecture with well-defined contracts.
#31 Stream Engine
HardDesign gRPC streaming RPCs - server streaming, client streaming, and bidirectional.
#32 Wire Evolution
HardEvolve a proto schema safely - backward and forward compatibility rules.
#33 Error Dimensions
Medium-HardDesign gRPC error handling with status codes, error details, and rich error models.
#34 Deadline Chains
HardDesign deadline propagation across a chain of gRPC services.
#35 Event Storm
HardDesign domain events for an e-commerce system - event naming, payload design, and event catalog.
#36 Saga Master
ExpertDesign a saga pattern for distributed transactions with compensating actions.
#37 CQRS Command Center
ExpertDesign a CQRS architecture separating commands from queries with event sourcing.
#38 Schema Registry
HardDesign a schema registry for event contracts with versioning and compatibility checking.
#39 Exactly Once
ExpertDesign exactly-once processing with idempotent consumers and outbox pattern.
#40 Dead Letter Detective
HardDesign dead letter queues, retry policies, and poison message handling.
Act 5
#41 Gateway Architect
ExpertDesign an API Gateway with routing, auth, rate limiting, and protocol translation.
#42 BFF Workshop
ExpertDesign Backend-for-Frontend APIs optimized for web, mobile, and TV clients.
#43 Throttle Engine
HardDesign a multi-tier rate limiting system with token bucket, sliding window, and quota management.
#44 API Marketplace
ExpertDesign a developer portal with API key management, OAuth flows, and usage analytics.
#45 Circuit Breaker API
HardDesign APIs with circuit breaker patterns, fallbacks, and bulkhead isolation.
#46 API Mesh Composer
ExpertDesign a service mesh with sidecar proxies, mTLS, observability, and traffic management.
#47 Design a Payment API
ExpertFull system design: Payment processing API like Stripe with idempotency, webhooks, and PCI compliance.
#48 Design a Chat API
ExpertFull system design: Real-time chat API with WebSocket, presence, read receipts, and message history.
#49 Design a Food Delivery API
ExpertFull system design: Food delivery platform with location tracking, real-time ETAs, and multi-party coordination.
#50 The Grand Unified API
LegendaryThe ultimate challenge: design a complete multi-protocol API platform combining REST, GraphQL, gRPC, and events.