oastools
Validate
Convert
Diff
Fix
Join
Overlay
Explore
Docs
pkg.go.dev
GitHub
Join OpenAPI Specifications
Merge multiple OpenAPI specifications into a single document.
Specification Files (2-5 specs)
Add Example...
Users API
Products API
Orders API
Inventory API (Conflicts)
Upload Files
Paste Content
Select 2-5 JSON or YAML files (max 1MB each)
Spec 1
Remove
Spec 2
Remove
+ Add Spec
Paste 2-5 specs (max 1MB each)
Collision Strategy
Rename (append suffix to duplicates)
First (keep first occurrence)
Error (fail on collision)
How to handle conflicting schema/path names
Advanced Options
Path Collision Strategy
Same as default
First (keep first)
Error (fail on collision)
Schema Collision Strategy
Same as default
First (keep first)
Rename (suffix duplicates)
Deduplicate (merge identical)
Deduplicate or Rename (merge identical, rename the rest)
"Deduplicate or Rename" merges schemas that are equivalent and falls back to renaming the ones that are not, instead of failing
Equivalence Mode
Default (deep when deduplicating)
Shallow (top-level properties only)
Deep (full recursive comparison)
Depth of schema comparison. Applies only to the "Deduplicate" strategy — "Deduplicate or Rename" and semantic deduplication always compare deeply.
Documentation in Comparison
Default (include)
Include (schemas differing only in prose stay separate)
Ignore (merge despite differing prose)
Whether title, description, and examples count when comparing schemas
Semantic deduplication
Enable semantic deduplication
Merge structurally identical schemas across documents. The three settings below apply only when this is enabled — they do not affect the Schema Collision Strategy above.
Deduplication Scope
Default (all names)
All (fold any equivalent name)
Generated only (fold just the names a rename invented)
Which schema names semantic deduplication may fold into another
Deduplication Mode
Default (remove)
Remove (delete folded names, rewrite every reference)
Pointer (keep folded names as a $ref to the survivor)
What becomes of a name once it is folded into an equivalent one
Report what deduplication consolidated
List each surviving schema name and the names folded into it
Pre-join Overlay (optional)
Apply to all specs before joining
Post-join Overlay (optional)
Apply to result after joining
Join Specifications
How it's done
Full documentation
·
pkg.go.dev