openapi: 3.0.3 info: title: Lunar API Consumption Gateway Admin Configuration API description: Administrative REST API for the Lunar API Consumption Gateway (lunar-engine). This API is exposed on the ENGINE_ADMIN_PORT and provides endpoints for managing flows, policies, configuration, discovery state, and gateway health. The gateway also acts as a proxy for outbound HTTP/HTTPS API traffic on port 8000, controlled via x-lunar-scheme, x-lunar-host, and x-lunar-consumer-tag headers. This spec covers the management/admin plane. version: 1.0.0 contact: name: Lunar Support url: https://docs.lunar.dev/ license: name: MIT url: https://opensource.org/licenses/MIT servers: - url: http://localhost:{adminPort} description: Lunar Engine Admin API (local) variables: adminPort: default: '8081' description: Admin port set via ENGINE_ADMIN_PORT environment variable tags: - name: Configuration description: Contract-based configuration management paths: /configuration: post: operationId: applyConfiguration summary: Apply contract-based configuration description: Applies a contract-based configuration operation (get or set) to the gateway. Supports reading and writing gateway configuration via a structured contract payload. Triggers flows reload on write operations. tags: - Configuration requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ContractPayload' responses: '200': description: Configuration applied successfully, returns response payload content: application/json: schema: $ref: '#/components/schemas/JSONFileResponse' '400': description: Failed to decode or parse incoming data, or no data provided content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Failed to reload flows after config change content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '423': description: Another configuration request is already in progress content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal error applying or marshalling configuration content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: JSONFileResponse: type: object description: Wrapper response containing JSON file content as a string properties: data: type: string description: JSON file contents serialized as a string required: - data ContractPayload: type: object description: Contract-based configuration payload for the /configuration endpoint. Supports get and set operations on gateway configuration resources. additionalProperties: true ErrorResponse: type: object description: Error response with message and optional error detail properties: msg: type: string description: Human-readable error message error: type: string description: Underlying error string required: - msg externalDocs: description: Lunar API Gateway Documentation url: https://docs.lunar.dev/api-gateway/get-started/welcome-to-lunar/