A premium video course by
Sourcemeta
Master
for OpenAPI
OpenAPI builds on top of JSON Schema. Go beyond basic API design and learn the advanced techniques that separate elite API architects from the rest.
Taught by a member of the JSON Schema Technical Steering Committee
Get unstuck fast: Private Slack access with your instructor
What Makes This Course Different?
Go from basic schemas to expert-level mastery with proven techniques used by elite API teams
OpenAPI is Just a Wrapper
OpenAPI is essentially a thin wrapper around JSON Schema. In production specs like Stripe's 100,000+ line specification, over 80% is pure JSON Schema. Want better OpenAPI specs? With this course, you will master the 80% that actually matters.
Beyond Simple Validation
You probably don't know how dynamic references, `unevaluatedProperties`, the vocabulary system, or annotation extraction work. Most developers never get past trivial validation. This course covers the advanced mechanisms that separate experts from everyone else.
Treat Your Schemas as Code
Learn to debug schemas with advanced trace inspection tools, write unit tests for them, enforce quality with linters, and deploy them to registries. This course teaches the software engineering practices and tools that professional teams use to write build production-grade schemas.
Knowledge You Won't Find in Any Documentation
This curriculum is based on years of experience building JSON Schema tooling, delivering custom training, and consulting with Fortune 500 enterprises on API and schema design. Every module is packed with advance insights you won't find elsewhere.
After watching this course, you will be ready to write advanced JSON Schema tools and contribute to the JSON Schema open-source organisation.Course Outline
14 comprehensive modules covering the entirety of JSON Schema 2020-12 from fundamentals to advanced patterns
Why JSON Schema is the Secret to World-Class API Design
- What is JSON Schema and Why Learn It?
- JSON Schema's Role in OpenAPI and API Specifications
- Understanding OpenAPI as a Wrapper Around JSON Schema
- Best Practices: Organizing Schemas as Separate Files
Keywords, Vocabularies, Dialects, and Meta-Schemas
- Understanding JSON Schema Keywords: The Atomic Building Blocks
- JSON Schema Vocabularies: Grouping Related Keywords
- Dialects and Meta-Schemas: Encoding and Validating JSON Schema Versions
- Subschemas: The Recursive Tree Structure of JSON Schema
A Systematic Approach to Reading Any JSON Schema
- Two Ways of Using JSON Schema: Evaluation vs Static Analysis
- JSON vs YAML: Syntax Differences and Semantic Equivalence
- Step 1: Determining the Dialect
- Step 2: Identifying Vocabularies
- Step 3: Understanding Keywords and Checking Dependencies
- Step 4: Evaluating Keywords in Order
- Understanding JSON Schema as a Constraint-Driven Language
From Unicode Encoding to Regular Expressions and Format Validation
Integers, Floats, Precision, and Interoperability
- JSON Number Representation and Interoperability Challenges
- Basic Number Validation with
type,const, andenum - Numeric Range Constraints with
multipleOf,minimum,maximum,exclusiveMinimum, andexclusiveMaximum - Advanced Techniques: Working Around Precision Issues
Validation, Containment, and Tuple Patterns
- Array Basics:
type,const, andenum - Array Size Constraints:
minItemsandmaxItems - Uniqueness Validation with
uniqueItems - Containment Assertions:
contains,minContains, andmaxContains - Homogeneous Arrays: The
itemsKeyword - Heterogeneous Arrays: The
prefixItemsKeyword and Tuple Validation
Properties, Patterns, and Advanced Composition Techniques
- Object Basics:
type,const, andenum - Defining Properties with the
propertiesKeyword - Pattern-Based Properties with
patternProperties - Controlling Additional Properties with
additionalProperties - Object Size Constraints:
minPropertiesandmaxProperties - Requiring Properties with the
requiredKeyword - Property Name Validation with
propertyNames - Validating Additional Properties with
additionalProperties - Property Inter-Dependencies:
dependentRequiredanddependentSchemas
Mastering unevaluatedProperties and unevaluatedItems
- Understanding Evaluation Traces and the Unevaluated Vocabulary
- Forbidding Unevaluated Object Properties with
unevaluatedProperties - Forbidding Unevaluated Array Items with
unevaluatedItems
Extensible Schemas with $dynamicAnchor and $dynamicRef
- Understanding the Dynamic Scope
- Registering Fragments with
$dynamicAnchor - Runtime Lookups with
$dynamicRef - Schema Extension Patterns and Polymorphic Validation
Extracting Metadata from the Validation Process
- Introduction to JSON Schema Annotations
- The Meta-Data Vocabulary: Pure Annotation Keywords
- The
defaultKeyword and Its Caveats - The
formatKeyword as an Annotation - Object Applicator Annotations:
properties,patternProperties,additionalProperties, andunevaluatedProperties - Array Applicator Annotations:
prefixItems,items,contains, andunevaluatedItems - Unknown Keywords as Ad-Hoc Annotations
- Annotation Collection Caveats and Practical Applications
The Content Vocabulary for Non-JSON Data
- The Content Vocabulary: Inspired by Email Standards
- Binary-to-Text Transformation with
contentEncoding - Declaring MIME Types with
contentMediaType - Describing Embedded Formats with
contentSchema
From Data Modeling to Production OpenAPI Specifications
- Planning Your Problem Domain and Data Model
- Implementing Schemas Following Best Practices
- Testing and Quality Assurance for JSON Schemas
- Deploying Schemas to Registries
- Composing Schemas into OpenAPI Specifications
What Developers Are Saying
Join hundreds of API developers taking their API design skills to the next level
"Juan Cruz Viotti has an exceptionally deep understanding of JSON Schema and how to leverage it to solve real-world problems. His course provides tremendous value for organizations looking to train their teams on operationalizing JSON Schemas for API design, data validation, and model definition. His practical approach goes beyond theory to show how JSON Schema can become a core part of your technical infrastructure."
"Taking Juan's course on JSON Schema for OpenAPI was truly enlightening. He brings an unmatched depth of knowledge to the table. His firsthand experience developing and evolving the JSON Schema ecosystem makes his teaching uniquely practical and insightful. A must-take for anyone serious about mastering JSON Schema in modern API development."
"I have been using JSON Schema without even realizing it sometimes. Juan's teachings really helped me take a step forward in actually understanding the specs for real-world use-cases that I had not thought of, even though I stumble across them pretty much daily!"
Juan Cruz Viotti is a member of the JSON Schema Technical Steering Committee, O'Reilly author, award-winning University of Oxford alumnus, and founder of Sourcemeta.
He consults with companies on API governance and schema design strategies, and maintains key open-source software in the JSON Schema ecosystem such as the Learn JSON Schema reference documentation site, the Blaze high-performance C++ schema validator, and the popular JSON Schema CLI.
Join the Top 1% of API Designers
Stop struggling with JSON Schema. Master the world's most widely adopted schema language, and learn the advanced patterns and best practices that separate elite API architects from the rest.