helix

OpenAPI & AsyncAPI

When it makes sense, OpenAPI and AsyncAPI specifications can optionally be leveraged for data validation. This can happen in the REST router for request/response validation against an OpenAPI description, or in other integrations for message validation against an AsyncAPI description.

You will find below OpenAPI and AsyncAPI definitions of helix objects, shared across languages and integrations.

Each object can be used as a $ref in your OpenAPI and AsyncAPI descriptions, such as:

get:
  operationId: "custom"
  tags:
    - "System"
  summary: "Custom operation"
  description: |
    This is a custom oepration.
  responses:
    "200":
      description: "Ok"
      content:
        application/json:
          schema:
            properties:
              status:
                type: "string"
                example: "Ok"
            required:
              - "status"
    "400":
      $ref: "https://github.com/nunchistudio/helix/tree/main/descriptions/openapi/components/responses/400.yaml"
    "401":
      $ref: "https://github.com/nunchistudio/helix/tree/main/descriptions/openapi/components/responses/401.yaml"
    "429":
      $ref: "https://github.com/nunchistudio/helix/tree/main/descriptions/openapi/components/responses/429.yaml"
    "500":
      $ref: "https://github.com/nunchistudio/helix/tree/main/descriptions/openapi/components/responses/500.yaml"
    "503":
      $ref: "https://github.com/nunchistudio/helix/tree/main/descriptions/openapi/components/responses/503.yaml"

Shared objects

Below are objects compatible with both OpenAPI and AsyncAPI specifications, used by helix core and all integrations.

OpenAPI

Below are objects compatible with OpenAPI designed for the the REST router integration.

2xx responses

4xx responses

5xx responses

Is something missing?

Built by
Nunchi