OpenAPI Specification
openapi: 3.0.3
info:
title: Lunar API Consumption Gateway Admin Configuration Discovery 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: Discovery
description: API discovery and remedy state reporting
paths:
/discover:
get:
operationId: getDiscoveryState
summary: Retrieve API discovery state
description: Returns the current discovery state JSON file, which contains observed API traffic patterns, endpoints accessed, and related metadata collected by the gateway.
tags:
- Discovery
responses:
'200':
description: Discovery state data returned
content:
application/json:
schema:
$ref: '#/components/schemas/JSONFileResponse'
'422':
description: Failed to read discovery state file
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'405':
description: Method not allowed
/remedy_stats:
get:
operationId: getRemedyStats
summary: Retrieve remedy/policy enforcement statistics
description: Returns the remedy state JSON file containing statistics about policy enforcement actions taken by the gateway (rate limiting, retries, circuit breakers, etc.).
tags:
- Discovery
responses:
'200':
description: Remedy stats data returned
content:
application/json:
schema:
$ref: '#/components/schemas/JSONFileResponse'
'422':
description: Failed to read remedy state file
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
'405':
description: Method not allowed
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
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/