Skip to main content
JobCannon
All skills

APIs & REST Design

Build scalable, maintainable web APIs that power modern applications

β¬’ TIER 2Tech
+$25k-
Salary impact
4 months
Time to learn
Medium
Difficulty
2
Careers
TL;DR

REST (Representational State Transfer) is the dominant web API architecture: design URLs around resources, use HTTP verbs (GET/POST/PUT/DELETE) correctly, version from day one. Career: Consumer (read docs, use Postman, $85-115k) β†’ Designer (build production APIs, OpenAPI, versioning, $115-165k) β†’ Architect (microservices, API gateways, hypermedia, $150-230k) over 3-6 months. Pricing: free to build. Lives with HTTP/2, OAuth, JWT, pagination, rate limiting, versioning strategies.

What is APIs & REST Design

APIs (Application Programming Interfaces) are how software talks to software. REST (Representational State Transfer) is the dominant architectural style for web APIs. In 2026, API design is a critical skill for backend engineers, full-stack developers, and technical leaders. - Backend foundation: Every modern app uses APIs (mobile β†’ backend, frontend β†’ backend)

πŸ”§ TOOLS & ECOSYSTEM
OpenAPIPostmanInsomniaSwagger UIRedoclyJSON SchemaBrunoStoplightReadMeAPI BlueprintSwagger EditorDredd

πŸ’° Salary by region

RegionJuniorMidSenior
USA$95k$135k$185k
UKΒ£55kΒ£80kΒ£115k
EU€60k€85k€125k
CANADAC$100kC$145kC$195k

🎯 Careers using APIs & REST Design

❓ FAQ

REST vs GraphQL β€” which should I choose?
REST: simpler, stateless, caches well, multiple requests for relations. GraphQL: one request, flexible queries, over-fetching eliminated, complex to implement. For 90% of APIs: REST. For complex data graphs (mobile apps, dashboards): GraphQL. Most teams use both (REST for public APIs, GraphQL for internal/mobile).
What do HTTP status codes really mean?
2xx = success (200 OK, 201 Created, 204 No Content). 3xx = redirect. 4xx = client error (400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found). 5xx = server error (500 Internal, 503 Service Unavailable). Never return 200 for errors β€” status codes are your error handling.
How do I paginate large datasets?
Offset/limit: ?page=2&limit=20 (simple, breaks with deletes). Cursor-based: ?cursor=abc123&limit=20 (stable, scales). Keyset: ?after_id=123&limit=20 (fastest for huge tables). Return pagination metadata: {data: [], pagination: {page, limit, total, pages}}.
How do I version my API?
URL versioning (/v1/users, /v2/users) is most common. Header versioning (Accept: application/vnd.api.v2+json) is cleaner but harder to test in browsers. Never break without versioning β€” deprecate old versions 6-12 months before removal. Parallel versions = customers migrate at their own pace.
What's the difference between PUT and PATCH?
PUT: full replacement (idempotent β€” same request = same result). PATCH: partial update (may not be idempotent). Most APIs use PATCH for convenience, but PUT is cleaner semantically. Both should be idempotent for retries.
Do I need hypermedia (HATEOAS) in my API?
HATEOAS (links in responses) is REST-pure but adds complexity. For public APIs: optional (most skip it). For internal APIs: document relations in docs instead. If client needs to discover endpoints: include links in response. If client knows endpoints: skip hypermedia.
What are REST API naming conventions?
Use nouns, not verbs (/users not /getUsers). Plural resources (/users, /products). Nested for relations (/users/123/posts). Hyphens for multi-word routes (/user-preferences). Query params for filters (/users?status=active). Use HTTP verbs for actions, not URLs.

Not sure this skill is for you?

Take a 10-min Career Match β€” we'll suggest the right tracks.

Find my best-fit skills β†’

Find your ideal career path

Skill-based matching across 2,536 careers. Free, ~10 minutes.

Take Career Match β€” free β†’