Skill Roadmap

API Design

API design is the contract between systems — the protocols, conventions, and trade-offs that decide whether an API is a pleasure or a nightmare to build against. This roadmap walks you from HTTP fundamentals through REST, GraphQL, and gRPC, authentication and authorization, real-time APIs, and the security, performance, and testing concerns that separate a toy endpoint from a production-grade API.

What skills does an API designer need?

It depends which part of the stack you're designing for

The skills an API designer needs depend on where in the request path they're working. Anyone building public or partner-facing APIs needs a firm grip on REST principles, URI and resource design, versioning, pagination, and clear error handling — the conventions that make an API predictable to a developer who's never seen your codebase.

Working closer to internal or high-throughput systems shifts the emphasis toward GraphQL or gRPC, event-driven integration patterns, message queues, and API gateways. Anywhere real users or money are involved, authentication and authorization design, rate limiting, and compliance with standards like GDPR or PCI DSS become non-negotiable.

Universally, a good API designer thinks in contracts: what a client can rely on, what can change safely, and how failure is communicated — backed by solid HTTP fundamentals and the discipline to document and test the API as carefully as the code behind it.

The API Design Roadmap

Work through these in order, then go deep on the API style your systems actually need

STEP 1

Learn the Basics

The protocols and data every API rides on, before any code gets written.

What are APIs HTTP HTTP Versions HTTP Methods HTTP Status Codes HTTP Headers URL, Query & Path Parameters Cookies Content Negotiation CORS TCP / IP Basics of DNS
STEP 2
GraphQL logo

Different API Styles

Pick the right style for the job, not just the most popular one.

RESTful APIs Simple JSON APIs SOAP APIs GraphQL APIs gRPC APIs
STEP 3

Building JSON / RESTful APIs

The conventions that make a REST API predictable to build against.

REST Principles Resource Modeling URI Design Naming Conventions Versioning Strategies Pagination Filtering, Sorting & Search Rate Limiting Idempotency HATEOAS CRUD Operations Error Handling RFC 7807 - Problem Details HTTP Caching Design First Handling Data & Requests Traffic Control & Error Handling
STEP 4

Authentication Methods

Prove who — or what — is actually calling your API.

Basic Auth Token Based Auth JWT OAuth 2.0 Session Based Auth OIDC API Keys & Management Key Generation & Rotation
STEP 5

Authorization Methods

Decide what an already-authenticated caller is allowed to do.

RBAC ABAC PBAC DAC MAC ReBAC Scopes & Permissions
STEP 6
WebSocket logo

Real-time APIs

When a request/response cycle isn't fast enough.

Web Sockets Server Sent Events Streaming Responses
STEP 7

API Security & Performance

Keep it fast, and keep it from being exploited.

Common Vulnerabilities Security Best Practices Performance Metrics Caching Strategies Load Balancing Rate Limiting / Throttling Profiling & Monitoring Performance Testing
STEP 8

API Integration Patterns

How APIs talk to other systems, not just to a browser.

Synchronous vs Asynchronous Event Driven Architecture API Gateways Microservices Architecture Messaging Queues Webhooks vs Polling Batch Processing Kafka RabbitMQ BFF Pattern
STEP 9
Swagger logo

API Testing & Documentation

Prove the contract holds, and make it easy for others to read.

Unit Testing Integration Testing Functional Testing Load Testing Mocking APIs Contract Testing Error Handling / Retries Swagger / OpenAPI Postman Stoplight Readme.com
STEP 10

Standards, Compliance & Lifecycle

The legal and operational side of running an API in production.

GDPR CCPA PCI DSS HIPAA PII API Lifecycle Management Observability

GitHub Projects

Real, buildable projects to put on your own GitHub

Frequently Asked Questions

Common questions from people starting out with API design

REST vs GraphQL — which should I use?

REST tends to be simpler to cache, secure, and reason about, and fits well when your resources map cleanly to endpoints. GraphQL shines when clients need flexible, nested data from many sources in one round trip — at the cost of more upfront schema and resolver design work. Many teams end up using both for different parts of the same system.

Is SOAP still used today?

Mostly in older enterprise, financial, and government systems that adopted it before REST became the default, where strict contracts (WSDL) and built-in transactional guarantees still matter. New public-facing APIs are very rarely built in SOAP today.

Should I version my API in the URL or in headers?

URL versioning (like /v1/users) is the most common because it's visible, cacheable, and easy for consumers to reason about. Header-based versioning keeps URLs cleaner and can feel more "correct," but it's easier to overlook and harder to test from a browser. Consistency matters more than which one you pick.

What's the difference between authentication and authorization?

Authentication confirms who (or what) is making the request — a login, a token, an API key. Authorization decides what that already-verified caller is allowed to do once inside, using models like RBAC or ABAC. An API needs both, and mixing them up is a common source of security bugs.

When should I use WebSockets instead of Server-Sent Events?

Reach for Server-Sent Events when data only needs to flow one way, from server to client — it's simpler and works over plain HTTP. Use WebSockets when the client also needs to send frequent messages back, like in chat or collaborative editing, since they support full two-way communication on one connection.

How do I prepare for an API design interview?

Be ready to design resources and URIs for a given domain, explain trade-offs between REST, GraphQL, and gRPC, and talk through pagination, versioning, error handling, and rate limiting from memory. Having one real API you designed end-to-end — and can explain the trade-offs behind — goes a long way.

Track complete

From HTTP basics to auth, real-time transport, and production concerns — that's the core of what employers expect from anyone designing APIs. Keep building, and let the systems you're working on pull you toward REST, GraphQL, or gRPC as the need actually arises.

Where next?

Keep exploring by domain or drill into a single skill