x-extendedDiscriminator

Compatibility warning

This specification extension is supported only in OpenAPI 2.0. The functionality it provides is superseded by mapping in OpenAPI 3.

It is a Redocly-specific extension unsupported by other tools.

Usage

Use x-extendedDiscriminator in your OpenAPI 2.0 documents to solve name-clash issues with the standard discriminator property. Add it to the schema OpenAPI object.

The value of this field specifies which field will be used as a extended discriminator. In the documentation, Redocly displays a picker menu where users can select the value of the x-extendedDiscriminator-marked field.

Redocly displays the definition which is derived from the current (using allOf) and which has enum with only one value. That value must be the same as the selected value of the field specified as x-extendedDiscriminator.

Field Name Type Description
x-extendedDiscriminator string Specifies the extended discriminator.

Examples

Payment:
  x-extendedDiscriminator: type
  type: object
  required:
    - type
  properties:
    type:
      type: string
    name:
      type: string

CashPayment:
  allOf:
    - $ref: "#/definitions/Payment"
    - properties:
        type:
          type: string
          enum:
            - cash
        currency:
          type: string

PayPalPayment:
  allOf:
    - $ref: "#/definitions/Payment"
    - properties:
        type:
          type: string
          enum:
            - paypal
        userEmail:
          type: string

In this example, the names of definitions (PayPalPayment) are different than names in the payload (paypal), which is not supported by the default discriminator property.