Swagger: la forma del esquema variante depende del valor del campo

Tengo un modelo definido como:

Event:
  type: object
  properties:
    id:
      type: string
    timestamp:
      type: string
      format: date-time
    type:
      type: string
      enum:
        - click
        - open
        - sent
    click:
      type: object
      properties:
        url:
          type: string
        title:
          type: string
    open:
      type: object
      properties:
        subject:
          type: string
    sent:
      type: object
      properties:
        subject:
          type: string
        from:
          type: string
        to:
          type: string

Sin embargo, la forma es realmente diferente dependiendo del valor detype campo enum. Puede ser uno de tres, traté de definir las diferencias en elexamples (ver abajo) pero esto no funcionó.

Como puede ver, a continuación se muestran tres ejemplos, cada uno es diferente dependiendo detype. Así es como se comporta la API, pero no es sencillo documentar este comportamiento esperado.

  examples:
    application/json:
      - id: >
          ad1b12f0-63a8-47b5-9820-3e447143ce7e
        timestamp: >
          2017-09-29T16:45:20.000+00:00
        type: click
        click:
          url: >
            www.some-website-somewhere.org/12345
          title: >
            Click here!
      - id: >
          d9e787fa-db49-4bd8-97c3-df45f159295c
        timestamp: >
          2017-09-29T16:45:20.000+00:00
        type: open
        open:
          subject: >
            Have you seen this?
      - id: >
          30adc194-0f5f-4889-abd4-4fa964d0bb42
        timestamp: >
          2017-09-29T16:45:20.000+00:00
        type: sent
        sent:
          subject: >
            Have you seen this?
          from: >
            [email protected]
          to: >
            [email protected]

Leí algunos lugares que mencionan que esto no es posible, pero espero obtener algunos pensadores "innovadores" que me ayuden a encontrar una solución.

Respuestas a la pregunta(1)

Su respuesta a la pregunta