OpenAPI Specification
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/