The apis object is used to configure one or more APIs. Every API in the object is identified by its name and version in the format name@version. The version is optional, and when not provided, Redocly apps interpret it as latest by default. Every name@version combination listed in the object must be unique.
For every API listed in the object, you must provide the path to the OpenAPI description using the root property.
If rules, decorators, or preprocessors aren't defined for an API, root settings are used. If rules, decorators, or preprocessors are defined for an API, they apply together with the root configuration. If the same rules, decorators, or preprocessors are defined on apis and the root level, per-API rules, decorators, and preprocessors override the root ones.
For example, if you include the same decorator at the root level and for a specific API, but with different properties, the API-level settings replace the root ones.
So if you have the following redocly.yaml configuration, adding filter-in and plugin/change-title at the root level and applying plugin/change-title with a different title property to the storefront@latest API:
decorators:
filter-in:
property: x-products
value:
- Core
plugin/change-title:
title: All APIs
extraProperty: This property will be ignored at the per-API level.
apis:
storefront@latest:
decorators:
plugin/change-title:
title: Storefront APIsThe plugin/change-title decorator with the "Storefront APIs" title property is applied to the storefront@latest API with the value Storefront APIs, and the filter-in decorator is also applied to the storefront@latest API.
For all other APIs, not including the storefront@latest API, filter-in and plugin/change-title with the "Core" title and extraProperty properties are applied.
Specifies the name and version of an API associated with the root API description with the pattern {name}@{version}. If the version is omitted, Redocly apps interpret it as 'latest' by default.
apis:
name@version:
root: ./openapi/openapi.yaml
labels:
- production
openapi: {}
output: ./openapi/bundled.yamlPer-API configurations take priority over global settings.