Programming & Web DevelopmentIntermediate

REST API Design and Development

Resources, status codes, auth, versioning and documentation done right.

Taught by Sagar Khadka · Full-Stack Developer

What you'll learn

  • Model a domain as resources with clear, consistent URLs and the correct HTTP methods
  • Return accurate status codes and machine-readable errors in the RFC 9457 Problem Details format
  • Implement cursor-based pagination, filtering and sorting for large collections
  • Secure an API with API keys, verified JWT bearer tokens and OAuth 2.0 with PKCE
  • Document an API with OpenAPI 3.1 and version it without breaking existing clients
  • Write automated API tests and add rate limiting and idempotency keys before launch

About this course

This REST API design and development course is for backend and full-stack developers who can already write basic server code and now want to build APIs that other teams enjoy using. You will learn the REST principles behind good resource and URL design, choose the right HTTP methods and status codes, return consistent error responses, and add pagination, filtering and sorting that scale. You will secure endpoints with API keys, JWT and OAuth 2.0, plan versioning without breaking clients, document everything with OpenAPI, and write automated API tests. The course closes with rate limiting, idempotency keys and a production readiness checklist. Examples use Node.js with Express and plain curl, but the ideas apply to any language or framework. You should be comfortable with JavaScript or another backend language and know what an HTTP request is.

Course content

7 lessons
  1. 1What REST Really MeansHTTP as an application protocol, resources and representations, and the constraints that make an API RESTful.Preview
  2. 2Designing Resources and URLsTurn a domain into nouns, choose consistent URL patterns and handle relationships and actions cleanly.
  3. 3Status Codes and Error ResponsesChoose accurate HTTP status codes and return consistent, machine-readable errors with RFC 9457 Problem Details.
  4. 4Pagination, Filtering and SortingServe large collections efficiently with cursor pagination, predictable filters and safe sorting parameters.
  5. 5Authentication and AuthorisationProtect endpoints with API keys, JWT bearer tokens and OAuth 2.0, and check permissions on every request.
  6. 6Versioning and Documentation with OpenAPIEvolve an API without breaking clients and describe it precisely in an OpenAPI 3.1 document.
  7. 7Testing, Rate Limiting and Production ReadinessTest endpoints automatically, protect them with rate limits and idempotency keys, and prepare for real traffic.