Skip to content
NEW TO API DESIGN?
STEP 1START HERE

ScaleDojo Learn: API Design Fundamentals

Master REST, GraphQL, gRPC, and event-driven API architectures step by step.

2

Or read the history behind it

The Protocol Chronicles - From CORBA to GraphQL, 55 years of protocol evolution.

ACTIVE BOUNTY EVENT
8d left
🏆

The Scale Wars

25% off on all challenges

QUEST PROGRESS0 / 7 COMPLETED
🎁 25% Off
LEADERBOARDLIVE

Compare stats and compete with top...

View

API Design Lab

Progressive API Design Curriculum

0/50
COMPLETED
2 of 10 levels unlocked·Start with Level 1 to begin your journey

Solve levels sequentially - each clear unlocks the next challenge

2/10
ACCESSIBLE
Architect Feature: Want to bypass sequential unlock? Go to your Profile and enable Architect's Sandbox.

Act 1

ACT PROGRESS0/10
1

#1 Hello, API World

Easy
⚡ REST

Design your very first REST API - a simple user resource with proper naming and HTTP methods.

Standard Challenge
Start Level →

#2 The CRUD Master

Easy
⚡ REST

Build a complete CRUD lifecycle for a posts resource with proper HTTP method semantics.

Standard Challenge
Locked

#3 Status Code Symphony

Easy
⚡ REST

Master the HTTP status code taxonomy - know exactly which code to return for every situation.

Standard Challenge
Locked

#4 Nested Treasures

Easy
⚡ REST

Design sub-resource relationships - when to nest /users/{id}/posts vs flatten /posts?filter=user_id.

Standard Challenge
Locked

#5 The Query Master

Easy-Medium
⚡ REST

Master filtering, sorting, and searching with query parameters.

Standard Challenge
Locked

#6 Page Turner

Medium
⚡ REST

Implement pagination strategies - offset, cursor-based, and keyset.

Standard Challenge
Locked

#7 The Error Whisperer

Medium
⚡ REST

Design a consistent error response format following RFC 7807 Problem Details.

Standard Challenge
Locked

#8 Request & Response

Medium
⚡ REST

Design request/response DTOs with proper field conventions, types, and enumerations.

Standard Challenge
Locked

#9 The Gatekeeper

Medium
⚡ REST

Design authentication and authorization for your API - API keys, JWT, and OAuth 2.0.

Standard Challenge
Locked

#10 Version Control

Medium
⚡ REST

Design an API versioning strategy that supports backward compatibility.

Standard Challenge
Locked

Act 2

ACT PROGRESS0/8

#11 Rate Limit Fortress

Medium
⚡ REST

Design rate limiting headers and 429 responses that don't leave developers guessing.

Standard Challenge
Locked

#12 The Cache Architect

Medium
⚡ REST

Design HTTP caching with ETags, If-None-Match, and Cache-Control headers.

Standard Challenge
Locked

#13 Bulk Operations HQ

Medium-Hard
⚡ REST

Design batch endpoints with partial success handling and 207 Multi-Status.

Standard Challenge
Locked

#14 The Webhook Wire

Medium-Hard
⚡ REST

Design a webhook system with event types, HMAC signing, and retry policies.

Standard Challenge
Locked

#15 Idempotency Shield

Hard
⚡ REST

Implement idempotency keys for safe retries on payment and order creation.

Standard Challenge
Locked

#16 Long-Running Ops

Hard
⚡ REST

Design async operation patterns with 202 Accepted and polling endpoints.

Standard Challenge
Locked

#17 The File Vault

Hard
⚡ REST

Design file upload/download APIs with presigned URLs and resumable uploads.

Standard Challenge
Locked

#18 Search Engine API

Hard
⚡ REST

Design an advanced search API with facets, highlighting, and suggestions.

Standard Challenge
Locked

Act 3

ACT PROGRESS0/10

#19 Schema Genesis

Medium
⚡ GRAPHQL

Design your first GraphQL schema - types, fields, queries, and non-null markers.

Standard Challenge
Locked

#20 Mutation Station

Medium
⚡ GRAPHQL

Design GraphQL mutations with input types and proper return types.

Standard Challenge
Locked

#21 The Resolver Graph

Hard
⚡ GRAPHQL

Solve the N+1 problem with DataLoader batching and resolver chain design.

Standard Challenge
Locked

#22 Relay Connections

Hard
⚡ GRAPHQL

Implement Relay-style cursor pagination with edges, nodes, and pageInfo.

Standard Challenge
Locked

#23 Real-Time Feed

Hard
⚡ GRAPHQL

Design GraphQL subscriptions for real-time updates over WebSocket.

Standard Challenge
Locked

#24 Permission Matrix

Hard
⚡ GRAPHQL

Design field-level authorization with @auth directives and type policies.

Standard Challenge
Locked

#25 Query Fortress

Hard
⚡ GRAPHQL

Protect your GraphQL API from malicious queries using depth limiting and complexity analysis.

Standard Challenge
Locked

#26 Schema Federation

Expert
⚡ GRAPHQL

Design a federated GraphQL schema with Apollo Federation directives.

Standard Challenge
Locked

#27 Custom Scalars Lab

Medium-Hard
⚡ GRAPHQL

Design custom scalar types for type-safe validation - DateTime, Email, URL, JSON.

Standard Challenge
Locked

#28 Schema Evolution

Hard
⚡ GRAPHQL

Evolve a GraphQL schema without breaking existing clients - deprecation, aliases, and additive changes.

Standard Challenge
Locked

Act 4

ACT PROGRESS0/12

#29 Proto Origins

Medium
⚡ GRPC

Design your first Protocol Buffer schema - messages, services, and field numbers.

Standard Challenge
Locked

#30 Service Contracts

Medium-Hard
⚡ GRPC

Design a multi-service gRPC architecture with well-defined contracts.

Standard Challenge
Locked

#31 Stream Engine

Hard
⚡ GRPC

Design gRPC streaming RPCs - server streaming, client streaming, and bidirectional.

Standard Challenge
Locked

#32 Wire Evolution

Hard
⚡ GRPC

Evolve a proto schema safely - backward and forward compatibility rules.

Standard Challenge
Locked

#33 Error Dimensions

Medium-Hard
⚡ GRPC

Design gRPC error handling with status codes, error details, and rich error models.

Standard Challenge
Locked

#34 Deadline Chains

Hard
⚡ GRPC

Design deadline propagation across a chain of gRPC services.

Standard Challenge
Locked

#35 Event Storm

Hard
⚡ EVENT-DRIVEN

Design domain events for an e-commerce system - event naming, payload design, and event catalog.

Standard Challenge
Locked

#36 Saga Master

Expert
⚡ EVENT-DRIVEN

Design a saga pattern for distributed transactions with compensating actions.

Standard Challenge
Locked

#37 CQRS Command Center

Expert
⚡ EVENT-DRIVEN

Design a CQRS architecture separating commands from queries with event sourcing.

Standard Challenge
Locked

#38 Schema Registry

Hard
⚡ EVENT-DRIVEN

Design a schema registry for event contracts with versioning and compatibility checking.

Standard Challenge
Locked

#39 Exactly Once

Expert
⚡ EVENT-DRIVEN

Design exactly-once processing with idempotent consumers and outbox pattern.

Standard Challenge
Locked

#40 Dead Letter Detective

Hard
⚡ EVENT-DRIVEN

Design dead letter queues, retry policies, and poison message handling.

Standard Challenge
Locked

Act 5

ACT PROGRESS0/10

#41 Gateway Architect

Expert
⚡ MIXED

Design an API Gateway with routing, auth, rate limiting, and protocol translation.

Standard Challenge
Locked

#42 BFF Workshop

Expert
⚡ MIXED

Design Backend-for-Frontend APIs optimized for web, mobile, and TV clients.

Standard Challenge
Locked

#43 Throttle Engine

Hard
⚡ REST

Design a multi-tier rate limiting system with token bucket, sliding window, and quota management.

Standard Challenge
Locked

#44 API Marketplace

Expert
⚡ REST

Design a developer portal with API key management, OAuth flows, and usage analytics.

Standard Challenge
Locked

#45 Circuit Breaker API

Hard
⚡ MIXED

Design APIs with circuit breaker patterns, fallbacks, and bulkhead isolation.

Standard Challenge
Locked

#46 API Mesh Composer

Expert
⚡ MIXED

Design a service mesh with sidecar proxies, mTLS, observability, and traffic management.

Standard Challenge
Locked

#47 Design a Payment API

Expert
⚡ REST

Full system design: Payment processing API like Stripe with idempotency, webhooks, and PCI compliance.

Standard Challenge
Locked

#48 Design a Chat API

Expert
⚡ MIXED

Full system design: Real-time chat API with WebSocket, presence, read receipts, and message history.

Standard Challenge
Locked

#49 Design a Food Delivery API

Expert
⚡ MIXED

Full system design: Food delivery platform with location tracking, real-time ETAs, and multi-party coordination.

Standard Challenge
Locked

#50 The Grand Unified API

Legendary
⚡ MIXED

The ultimate challenge: design a complete multi-protocol API platform combining REST, GraphQL, gRPC, and events.

Standard Challenge
Locked