openapi: 3.1.0 info: title: APIIDA API Control Plane Alarms Deployments 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: Deployments description: Gateway deployment operations paths: /apis/{apiId}/versions/{version}/importIntoGateways: post: operationId: deployToGateways summary: APIIDA Deploy API to Gateways description: Deploy a specific API version to one or more connected API gateways. tags: - Deployments parameters: - $ref: '#/components/parameters/apiId' - $ref: '#/components/parameters/version' requestBody: required: true content: application/json: schema: type: object properties: gatewayIds: type: array items: type: string description: List of gateway identifiers to deploy to responses: '200': description: Deployment initiated successfully '401': description: Unauthorized '404': description: API or version not found /deployments: get: operationId: listDeployments summary: APIIDA List Deployments description: Retrieve a list of API deployments across managed gateways. tags: - Deployments parameters: - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/limit' responses: '200': description: List of deployments content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Deployment' total: type: integer '401': description: Unauthorized post: operationId: createDeployment summary: APIIDA Create a Deployment description: Initiate a new API deployment or migration to one or more gateways. tags: - Deployments requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/DeploymentRequest' responses: '201': description: Deployment initiated successfully content: application/json: schema: $ref: '#/components/schemas/Deployment' '400': description: Invalid deployment request '401': description: Unauthorized /deployments/{deploymentId}: get: operationId: getDeployment summary: APIIDA Get Deployment Status description: Retrieve the status and details of a specific deployment. tags: - Deployments parameters: - $ref: '#/components/parameters/deploymentId' responses: '200': description: Deployment details content: application/json: schema: $ref: '#/components/schemas/Deployment' '401': description: Unauthorized '404': description: Deployment not found components: parameters: deploymentId: name: deploymentId in: path required: true schema: type: string description: The deployment identifier version: name: version in: path required: true schema: type: string description: The API version identifier apiId: name: apiId in: path required: true schema: type: string description: The API identifier offset: name: offset in: query schema: type: integer default: 0 description: Pagination offset limit: name: limit in: query schema: type: integer default: 20 description: Maximum number of items to return schemas: DeploymentRequest: type: object required: - apiId - version - targetGateways properties: apiId: type: string description: API identifier to deploy version: type: string description: API version to deploy targetGateways: type: array items: type: string description: List of gateway identifiers to deploy to Deployment: type: object properties: id: type: string description: Deployment identifier apiId: type: string description: API being deployed version: type: string description: API version being deployed targetGateways: type: array items: type: string description: Target gateway identifiers status: type: string enum: - pending - in_progress - completed - failed - rolled_back description: Current deployment status createdAt: type: string format: date-time completedAt: type: string format: date-time securitySchemes: bearerAuth: type: http scheme: bearer description: Bearer token authentication externalDocs: description: APIIDA Documentation url: https://apiida.atlassian.net