What's inside

Everything you need to build production-ready REST APIs

.NET 10

Latest features for modern REST APIs

PostgreSQL

Reliable, scalable persistence

React

SPA client integration for your API

Azure

Cloud deployment & monitoring

01Fundamental

REST Introduction

Start with a solid foundation in REST principles — the Richardson Maturity Model, the API-First approach, and setting up your development environment.

1h 5m6 lessons
Watch a free preview
02Fundamental

Building REST APIs

Master HTTP methods, status codes, and REST best practices. Implement CRUD operations, child resources, validation, searching, filtering, sorting, and pagination.

4h 25m18 lessons
Building REST APIs
03Intermediate

HATEOAS and Change Management

Make your APIs discoverable with HATEOAS. Learn content negotiation, API versioning strategies, and how to manage API changes effectively.

1h 32m8 lessons
HATEOAS and Change Management
04Intermediate

Authentication and Authorization

Secure your APIs with token-based authentication, JWT, and refresh tokens. Implement role-based and attribute-based authorization, and protect sensitive data.

2h 7m12 lessons
Authentication and Authorization
05Intermediate

Client Integration

Integrate REST APIs with client applications. Build a React client, implement batch operations, and use HATEOAS to drive UI behavior with OpenAPI client generation.

50m6 lessons
Client Integration
06Advanced

Advanced REST API Concerns

Level up with HTTP caching, optimistic locking, cursor pagination, rate limiting, and webhooks. Build resilient and asynchronous REST APIs.

1h 36m10 lessons
Advanced REST API Concerns
07Intermediate

Testing REST APIs

Master unit, integration, and end-to-end testing. Test external services using WireMock and set up automated testing in CI/CD pipelines.

1h 7m8 lessons
Testing REST APIs
08Intermediate

Documenting REST APIs

Create comprehensive API documentation with OpenAPI/Swagger. Document multiple versions and authentication flows, and explore modern UIs like Scalar.

34m7 lessons
Documenting REST APIs
09Advanced

Deployment and Monitoring

Deploy your REST APIs to Azure, manage database migrations, and implement monitoring with Application Insights — automated with GitHub Actions.

56m6 lessons
Deployment and Monitoring
Get instant access

More than just theory

We build a complete REST API from scratch — from basic CRUD to HATEOAS, authentication, and automated testing. Plus bonus courses to master modern REST API development.

REST API Case Studies From Successful Companies
Bonus course #1

REST API Case Studies From Successful Companies

Analyze real-world REST APIs from successful companies. Learn from their design decisions, best practices, and implementation strategies.

Building REST APIs With Minimal APIsCommunity
Bonus course #2

Building REST APIs With Minimal APIs

Build lightweight, high-performance REST APIs using .NET Minimal APIs — and see if they are a match for REST.

Integrating Auth0 as the Identity ProviderCommunity
Bonus course #3

Integrating Auth0 as the Identity Provider

Integrate Auth0 with your REST APIs for robust authentication and authorization, including client integration.

After completing this course you will

  • Build production-ready REST APIs with confidence
  • Implement secure and scalable authentication systems
  • Master REST API testing and documentation
  • Confidently deploy your APIs to production

Start building better REST APIs today

One-time payment. Lifetime access, including every future update.

PRA

$247
  • 9 in-depth chapters
  • 14+ hours of video content
  • Bonus: Case Studies
  • Lifetime access
  • Email support
BEST VALUE

PRA + Community

$397
  • 9 in-depth chapters
  • 16+ hours of video content
  • Bonus: Case Studies
  • Bonus: Minimal APIs
  • Bonus: Auth0 Integration
  • Lifetime access
  • Priority support
  • Community access

Not sure yet? Preview the free lessons before you buy.

Paying with company money? You'll get a receipt you can submit for reimbursement.

Loved by developers

What students are saying about Pragmatic REST APIs

Join them today
Course student
Course student
Course student
Course student
Course student
Course student

1,900+ engineers shipping better code

The full curriculum

9 chapters plus bonus courses, all production-focused.

IntroductionFree preview
  • Agenda, Your Instructor, Course Structure
  • How To Use This Course
01REST IntroductionFree preview
  • Introduction
  • Introducing REST
  • Richardson Maturity Model
  • API-First
  • What We Will Build
  • Project Setup
02Building REST APIs
  • Introduction
  • HTTP Methods
  • HTTP Status Codes
  • Designing REST APIs - Best Practices
  • Introducing the Database, EF Core
  • Getting Resources - GET
  • Creating Resources - POST
  • Updating Resources - PUT
  • Partially Updating Resources - PATCH
  • Deleting Resources - DELETE
  • Adding Another Resource
  • Working With Child Resources
  • REST API Validation, Problem Details
  • Exception Handling
  • Supporting Searching and Filtering
  • Supporting Sorting
  • Implementing Pagination
  • Supporting Data Shaping
03HATEOAS and Change Management
  • Introduction
  • Hypermedia As The Engine Of Application State
  • Quick Code Refactoring
  • Implementing HATEOAS
  • Content Negotiation
  • API Versioning
  • Implementing API Versioning
  • API Change Management
04Authentication and Authorization
  • Introduction
  • Authentication in REST APIs
  • Adding the Users Resource
  • Introducing ASP.NET Core Identity
  • Implementing User Registration
  • Token Based Authentication, JWT
  • Supporting Refresh Tokens
  • Protecting Resources: Owner Authorization
  • Role-Based Authorization
  • Advanced Authorization - RBAC, ABAC
  • Integrating With External APIs
  • Protecting Sensitive Data With Encryption
05Client (UI) Integration With REST APIs
  • Introduction
  • Introducing the React Client Application
  • Adding the Entries Resource, GitHub Integration
  • Batch Resource Creation
  • HATEOAS: Driving Client Behavior
  • OpenAPI and HTTP Client Generation
06Advanced REST API Concerns
  • Introduction
  • HTTP Caching
  • Optimistic Locking, Concurrency Control
  • Cursor Pagination
  • Refit - Automatic HTTP Client Generation
  • HTTP Resilience, Polly
  • Rate Limiting and REST APIs
  • Idempotence and REST APIs
  • Webhooks
  • Building Asynchronous REST APIs
07Testing REST APIs
  • Introduction
  • Unit Testing and REST APIs
  • Unit Testing: The Complete Picture
  • Integration Testing REST APIs
  • Testing External Services Using WireMock
  • Integration Testing: The Complete Picture
  • Functional Testing - Creating End-to-End Tests
  • Automated Testing in CI/CD Pipelines
08Documenting REST APIs
  • Introduction
  • OpenAPI Support in .NET
  • Introducing Swagger for Documenting APIs
  • Adding Rich REST API Documentation
  • Documenting Multiple API Versions
  • Documenting Authentication
  • Exploring OpenAPI UI Alternatives - Scalar
09Deployment and Monitoring
  • Introduction
  • Deploying the Client Application to Azure
  • Deploying the Database and Applying Migrations
  • Deploying the REST API to Azure
  • Adding Monitoring With Application Insights
  • Automating Deployments With GitHub Actions
BONUS — REST API Case Studies
  • Case Study: Patreon API
BONUS — Building REST APIs With Minimal APIsCommunity
  • Introduction
  • Migrating GET Endpoints - Collection Resources
  • Migrating GET Endpoints - Single Resource
  • Migrating POST Endpoints
  • Migrating PUT Endpoints
  • Migrating PATCH Endpoints
  • Migrating DELETE Endpoints
  • HATEOAS With Minimal APIs
  • API Versioning With Minimal APIs
  • Documenting Minimal APIs
  • Minimal APIs and REST - Pros and Cons
BONUS — Integrating Auth0 as the Identity ProviderCommunity
  • Introduction
  • Auth0 Identity Provider Setup
  • Client Integration With Auth0
  • Assigning Roles to Users With Auth0 Management API
  • REST API Integration With Auth0
  • Testing the Complete Authentication Flow
Get the full course
Course student
Course student
Course student
Course student
Course student
Course student

1,900+ engineers shipping better code

Milan Jovanović

Who's behind this

Hi — I'm Milan Jovanović. I help engineers level up their .NET and software architecture skills.

I'm a Software Architect and Microsoft MVP for Developer Technologies with years of experience building large-scale systems.

I've helped thousands of engineers improve through my practical tips on social media, The .NET Weekly newsletter, and YouTube channel.

My goal is to teach you everything I learned building and maintaining production-ready REST APIs in ASP.NET Core.

Microsoft MVP Badge

Got questions?

Frequently asked questions

  • Who is this course for?

    This course is for anyone who wants to build production-ready REST APIs in ASP.NET Core — from fundamentals to advanced concerns like HATEOAS, authentication, testing, and deployment.

  • What will I learn in this course?

    How to build a complete REST API from scratch using the latest ASP.NET Core features and best practices.

    • REST fundamentals & the Richardson Maturity Model
    • CRUD, searching, filtering, sorting, pagination
    • HATEOAS, versioning & change management
    • Authentication, authorization & security
    • Testing, documentation & deployment to Azure

    All course content is updated to .NET 10.

  • How long is the course?

    The course includes 14+ hours of video content (16+ hours with the Community edition's bonus courses), packed with value and designed to be easy to follow.

  • What does Community Access mean?

    With the PRA + Community Accessplan you gain access to the Community section, plus the bonus Minimal APIs and Auth0 Integration courses. It's where like-minded engineers collaborate and get help, and I'll be there to answer questions too.

  • Got it. This must be expensive, right?

    No. It's $247 on the basic plan.

    And if you want Community access with like-minded engineers, it's $397.

  • Can my company pay for the course?

    Absolutely — many students expense the course through their employer. You'll receive a receipt after checkout that you can submit for reimbursement. If you need anything else, like a quote for multiple team seats, contact me.

  • Do I get lifetime access?

    Absolutely, yes! You can access the course forever, including any future updates, with no extra payment.

  • What are the prerequisites for taking this course?

    You should have a basic understanding of C# and ASP.NET Core. We build the API step by step, so you can follow along even if REST APIs are new to you. Familiarity with Entity Framework Core and Docker is helpful but not required.

  • What if I get stuck during the course?

    The course is carefully designed to build knowledge progressively, so the chances of getting stuck are minimal.

    If you do need help, the Community Access edition gives you direct access to me and other participants.

  • What should I do next if I want to enroll?

    Click any enroll button on this page and get started today.

Enroll now

Ready to level up?

Unlock Pragmatic REST APIs today

Join thousands of developers who have already leveled up their API design skills with this course.

Course student
Course student
Course student
Course student
Course student
Course student

1,900+ engineers shipping better code

Lifetime access
14+ hours of content
Real-world examples