openapi: 3.1.0 info: title: APIIDA API Control Plane Alarms Gateways API description: REST API for the APIIDA API Control Plane, enabling programmatic management of APIs across multiple API gateways. Supports validation of proxy specifications, API version management, and deployment to gateways. version: '1.0' contact: name: APIIDA Support url: https://www.apiida.com servers: - url: https://{tenant}.backend.apiida.io description: APIIDA Backend variables: tenant: description: Your APIIDA tenant identifier default: example security: - bearerAuth: [] tags: - name: Gateways description: Gateway registration and management operations paths: /gateways: get: operationId: listGateways summary: APIIDA List Managed Gateways description: Retrieve a list of all registered and managed Layer7 API gateway instances. tags: - Gateways parameters: - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' responses: '200': description: List of managed gateways content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Gateway' total: type: integer description: Total number of gateways '401': description: Unauthorized post: operationId: registerGateway summary: APIIDA Register a Gateway description: Register a new Layer7 API gateway instance for management by APIIDA. tags: - Gateways requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GatewayRegistration' responses: '201': description: Gateway registered successfully content: application/json: schema: $ref: '#/components/schemas/Gateway' '400': description: Invalid gateway configuration '401': description: Unauthorized /gateways/{gatewayId}: get: operationId: getGateway summary: APIIDA Get Gateway Details description: Retrieve detailed information about a specific managed gateway. tags: - Gateways parameters: - $ref: '#/components/parameters/gatewayId' responses: '200': description: Gateway details content: application/json: schema: $ref: '#/components/schemas/Gateway' '401': description: Unauthorized '404': description: Gateway not found put: operationId: updateGateway summary: APIIDA Update Gateway Configuration description: Update the configuration of a registered gateway. tags: - Gateways parameters: - $ref: '#/components/parameters/gatewayId' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GatewayRegistration' responses: '200': description: Gateway updated successfully content: application/json: schema: $ref: '#/components/schemas/Gateway' '401': description: Unauthorized '404': description: Gateway not found delete: operationId: removeGateway summary: APIIDA Remove a Gateway description: Unregister and remove a gateway from management. tags: - Gateways parameters: - $ref: '#/components/parameters/gatewayId' responses: '204': description: Gateway removed successfully '401': description: Unauthorized '404': description: Gateway not found /gateways/{gatewayId}/apis: get: operationId: listGatewayApis summary: APIIDA List APIs on a Gateway description: Retrieve a list of all APIs deployed on a specific gateway. tags: - Gateways parameters: - $ref: '#/components/parameters/gatewayId' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' responses: '200': description: List of APIs on the gateway content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/GatewayApi' total: type: integer '401': description: Unauthorized '404': description: Gateway not found components: schemas: Gateway: type: object properties: id: type: string description: Unique gateway identifier name: type: string description: Display name of the gateway host: type: string description: Hostname or IP of the gateway port: type: integer description: Gateway management port status: type: string enum: - connected - disconnected - error description: Current connection status type: type: string description: Gateway type (e.g. Layer7) version: type: string description: Gateway software version apiCount: type: integer description: Number of APIs deployed on this gateway createdAt: type: string format: date-time updatedAt: type: string format: date-time GatewayRegistration: type: object required: - name - host - port properties: name: type: string description: Display name of the gateway host: type: string description: Hostname or IP of the gateway port: type: integer description: Gateway management port type: type: string description: Gateway type credentials: type: object properties: username: type: string password: type: string description: Credentials for connecting to the gateway GatewayApi: type: object properties: id: type: string description: API identifier on the gateway name: type: string description: API name version: type: string description: API version status: type: string enum: - active - disabled - deprecated description: API status on the gateway lastDeployed: type: string format: date-time parameters: offset: name: offset in: query schema: type: integer default: 0 description: Pagination offset gatewayId: name: gatewayId in: path required: true schema: type: string description: The gateway identifier limit: name: limit in: query schema: type: integer default: 20 description: Maximum number of items to return securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token authentication externalDocs: description: APIIDA Documentation url: https://apiida.atlassian.net