Skip to content

OpenAPI settings

These settings used to control exposing OpenAPI.json and SwaggerUI/ReDoc endpoints.

openapi

OpenAPISettings

OpenAPI Settings.

OpenAPI.json is served at /openapi.json endpoint.

Examples:

config.yml
server:
  openapi:
    enabled: true
    swagger:
      enabled: true
    redoc:
      enabled: true

Parameters:

  • enabled
    (bool, default: True ) –

    Set to True to enable OpenAPI.json endpoint

  • swagger
    (SwaggerSettings, default: <dynamic> ) –

    Swagger UI settings

  • redoc
    (RedocSettings, default: <dynamic> ) –

    ReDoc UI settings

  • logo
    (LogoSettings, default: <dynamic> ) –

    Application logo settings

  • favicon
    (FaviconSettings, default: <dynamic> ) –

    Application favicon settings

SwaggerSettings

Swagger UI settings.

SwaggerUI is served at /docs endpoint.

Examples:

config.yml
server:
  openapi:
    swagger:
      enabled: true
      js_url: /static/swagger/swagger-ui-bundle.js
      css_url: /static/swagger/swagger-ui.css

Parameters:

  • enabled
    (bool, default: True ) –

    Set to True to enable Swagger UI endpoint

  • js_url
    (str, default: 'https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui-bundle.js' ) –

    URL for Swagger UI JS

  • css_url
    (str, default: 'https://cdn.jsdelivr.net/npm/swagger-ui-dist@5/swagger-ui.css' ) –

    URL for Swagger UI CSS

  • extra_parameters
    (dict[str, Any], default: <class 'dict'> ) –

    Additional parameters to pass to Swagger UI. See FastAPI documentation.

RedocSettings

ReDoc settings.

ReDOc is served at /redoc endpoint.

Examples:

config.yml
server:
  openapi:
    redoc:
      enabled: true
      js_url: /static/redoc/redoc.standalone.js

Parameters:

  • enabled
    (bool, default: True ) –

    Set to True to enable Redoc UI endpoint

  • js_url
    (str, default: 'https://cdn.jsdelivr.net/npm/redoc@next/bundles/redoc.standalone.js' ) –

    URL for Redoc UI JS, None to use default CDN URL

LogoSettings

OpenAPI's x-logo documentation settings.

See OpenAPI spec for more details.

Examples:

config.yml
server:
  openapi:
    logo:
      url: /static/logo.svg
      background_color: ffffff
      alt_text: Horizon logo
      href: http://mycompany.domain.com

Parameters:

  • url
    (str, default: '/static/logo.svg' ) –

    URL for application logo

  • background_color
    (str, default: 'ffffff' ) –

    Background color in HEX RGB format, without # prefix

  • alt_text
    (str | None, default: 'Horizon logo' ) –

    Alternative text for <img> tag

  • href
    (AnyHttpUrl | None, default: 'https://github.com/MTSWebServices/horizon' ) –

    Clicking on logo will redirect to this URL

FaviconSettings

Favicon documentation settings.

Examples:

config.yml
server:
  openapi:
    favicon:
      url: /static/icon.svg

Parameters:

  • url
    (str, default: '/static/icon.svg' ) –

    URL for application favicon