
Learn to design, document, and test REST APIs with the OpenAPI specification (formerly Swagger). Master YAML or JSON formats, paths, schemas, and parameters, plus editors and code generators.
OpenAPI, or OAS, standardizes machine-readable API descriptions to define endpoints, HTTP methods, and responses in JSON or YAML. It enables interactive documentation, code generation, and automated testing.
Learn how an API bridges applications, enabling loose coupling through REST, with resources identified by unique URLs, stateless requests, caching, and a uniform, self-descriptive interface.
Identify the protocol, host, port, path, and query parameters in a url, using https, api.toby.solutions, port 443, path /users/1, and active=true.
Explore how REST APIs use standard HTTP methods—get, post, put, patch, and delete—to manage resources, with status codes like 200, 201, 400, 404, and 500 guiding outcomes.
Learn how to pass data in REST requests using query parameters and the request body; filter results, paginate with page and size, and send structured data like JSON.
Describe how JSON, YAML, and XML enable data exchange in REST APIs, with JSON the most widely used and OpenAPI specs written in JSON or YAML, supporting data format negotiation.
Compare code-first and design-first API approaches, illustrating how OpenAPI specifications influence development; weigh rapid code-first development and automatic consistency against the planning, parallel work, and rigidity of design-first.
Learn the OpenAPI definitions, including the OpenAPI description (OAD), OpenAPI documents, schemas, and objects; understand major.minor.patch versioning, path templating, media types, and JSON/YAML formats for standardized REST API documentation.
Explore the OpenAPI schema structure by examining the root OpenAPI object and its fields, from the OpenAPI version to servers, paths, webhooks, components, security, tags, and external docs.
Explore the OpenAPI info object, including title, summary, description, terms of service, contact, license, and version, and learn how these metadata fields define API documentation.
Explore the server object in OpenAPI, detailing how base URLs and optional variables define target hosts, including server variables, descriptions, and named development or production configurations.
Explore the path object and path item object in OpenAPI, defining endpoints with templated paths and supported http methods like get, post, put, and delete, plus servers and parameters.
Explore the parameter object and reference object in OpenAPI, detailing how to place and describe parameters in path, query, header, and cookie, with schema or content definitions.
Define and configure operation objects for API paths, detailing tags, summaries, descriptions, parameters, request bodies, responses, security, and optional fields like callbacks and servers.
Explore how the components object centralizes reusable components to avoid redundancy, using the reference object to reuse parameters, responses, schemas, and more.
Define the tag object in the OpenAPI tags array, giving a unique name, summary, description, external docs, and a parent or kind to organize and order tags in operation objects.
Learn how interactive documentation with Swagger UI and Redoc lets you explore endpoints, test requests, and maintain up to date OpenAPI-based APIs, boosting collaboration and usability.
Explore how OpenAPI editors validate and organize API descriptions with syntax highlighting, auto-completion, and real-time YAML or JSON validation. Embrace a design-first approach to describe your API before coding.
Explore the OpenAPI generator CLI to design-first APIs and auto-generate server and client templates across languages, plus HTML documentation; use wisely as scaffolding, not production code.
clarify that OpenAPI is the standard and Swagger is a tool set, and provide design-first versus code-first guidance with best practices for reusable components, constraints, naming conventions, and versioning.
Discover essential OpenAPI resources from the official specification to Swagger tools, and learn where to find the latest version guidance on openapi.tools and apis.guru.
Trace the OpenAPI journey from Swagger origins to the OpenAPI schema, covering REST basics, HTTP methods, status codes, and JSON, YAML, XML data formats with Swagger UI and Redoc.
In modern software development, APIs are the connecting link between systems. However, an API is only as good as its documentation. This is where the OpenAPI Specification (OAS) comes into play.
This course is a comprehensive guide to professionally planning, structuring, and preparing REST APIs in a way that is understandable to others. We start with the absolute basics of REST and HTTP and work our way up to the complex definition of schemas and the use of powerful tools such as Swagger UI and the OpenAPI Generator.
It doesn't matter whether you follow the Design-First approach and write the specification first or want to document existing code. In this course, you will learn the necessary knowledge for both approaches.
What you will learn:
Fundamentals: Understanding HTTP methods, HTTP status codes, and data formats (JSON/YAML)
Structure: Mastering the OpenAPI schema (Paths, Parameters, Components, Security, etc.)
Best Practices: Knowing the difference between Design-First and Code-First and applying both approaches
Tooling: Using Swagger Editor, Swagger UI, and ReDoc for interactive documentation
Automation: Generating code from specifications using the OpenAPI Generator
Who is this course suitable for?
Backend developers who want to cleanly document and standardize their APIs
Frontend developers who want to better understand how to read and use API definitions
Software architects who want to establish modern API standards in their projects
Product Owners & Technical Writers who form an interface between technology and business
Prerequisites
No prior experience with OpenAPI/Swagger required: We start from zero!
Basic understanding of web development: You should know how client and server communicate with each other
No specific programming knowledge required: The course focuses on the specification (YAML/JSON), not on a specific programming language
Course content overview
Introduction: What is OpenAPI and why do we need it?
REST basics: Overview of URLs, HTTP methods, status codes, and data transfer
The specification: Step-by-step structure of an API document (Info, Server, Paths, Components, etc.)
Professional tools: Live use of Swagger UI, ReDoc, and code generators
Tips & tricks: Avoiding common mistakes and best practices for clean API design
Legal Notice (Legal Disclaimer) This course is an independent training. It was not created by the OpenAPI Initiative, is not sponsored by it, and has no direct business relationship with the OpenAPI Initiative or the owners of the Swagger trademarks. All mentioned brand names are used solely for the purpose of describing the tools and standards covered in the course content.