Speakeasy Logo
Skip to Content

Create overlays

What are overlays?

The Overlay Specification  defines a way to create overlay documents to be merged with an OpenAPI document to update it with additional information.

Overlays are particularly useful in scenarios where the same OpenAPI document serves multiple purposes across different workflows or teams. Instead of making direct changes to the primary spec or managing multiple versions, overlays maintain customizations separately.

These customizations apply to an OpenAPI document in a new file, ensuring API specifications remain flexible and adaptive without altering the core document.

Common use cases

Overlays enable various customizations to API specifications. Common scenarios include:

View more examples here.

Creating an overlay

Create an overlay by writing a new YAML document that specifies the modifications to the OpenAPI document.

Speakeasy supports both manual and automatic overlay creation.

Generate the differences between two OpenAPI document versions with the compare command in the Speakeasy CLI.

Anatomy of an overlay

overlay

Required – Specifies the Overlay Specification version used by the document, currently limited to 1.0.0.

info

  • title: Required – Describes the overlay’s purpose
  • version: Required – Identifies the document’s version

actions

Required – An array of ordered actions for the target document, with at least one object per action.

target

Required – Specifies a JSONPath query expression to identify the target objects in the target document.

description

Optional – Brief explanation of the action being performed. Supports CommonMark syntax for rich text representation.

update

Optional – Defines the properties and values to merge with the objects identified by the target. This property is disregarded if the remove property is set to true.

remove

Optional – A boolean value indicating whether to remove the target object from its map or array. Defaults to false if not specified.

Helpful references:

Last updated on