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.