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: "healthcheck"
  tags:
    - "System"
  summary: "Health check"
  description: |
    Query health-related information of the HTTP API.
  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?

If you notice something we've missed or could be improved on, please follow this link and submit a pull request to the repository. Once we merge it, the changes will be reflected on the website the next time it is deployed. Thank you for your contributions!
Built by
Nunchi