openapi: 3.1.0 info: title: Edgegap V2 description: '' version: 1.0.0 tags: - name: Deployments - name: Private Fleets paths: /deployments: post: summary: '[v2] Deploy' deprecated: false description: >- [Rate Limit: 40/seconds] Initiate a new deployment. A deployment is a containerized server instance of an application version running on the Edgegap platform. operationId: deployment-create tags: - Deployments parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/DeploymentCreate' examples: {} responses: '202': description: Deployment Request Accepted content: application/json: schema: title: '' type: object properties: request_id: type: string description: Request ID. Unique identifier of the deployment request examples: - a69f8e3e0555 required: - request_id headers: {} '400': description: Client Side Request Error content: application/json: schema: title: '' type: object properties: message: type: string description: Error message examples: - Error message details: type: object description: Additional error details properties: {} required: - message headers: {} '401': description: Unauthorized - Missing Token content: application/json: schema: title: '' type: object properties: message: type: string description: Error message examples: - Error message details: type: object description: Additional error details properties: {} required: - message headers: {} '422': description: Couldn't Allocate Server content: application/json: schema: title: '' type: object properties: request_id: type: string description: Request ID. Unique identifier of the deployment request examples: - a69f8e3e0555 message: type: string description: Error message examples: - Error message required: - request_id - message headers: {} '500': description: Internal Server Error content: application/json: schema: title: '' type: object properties: message: type: string description: Error message examples: - Error message details: type: object description: Additional error details properties: {} required: - message headers: {} security: - API token: [] /private-fleets/deployments: post: summary: '[v2] Deploy to Fleet' deprecated: false description: >- [Rate Limit: 40/seconds] Initiate a new private fleet deployment. A deployment is a containerized server instance of an application version running on the Edgegap platform. operationId: deployment-create tags: - Private Fleets parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/PrivateFleetDeploymentCreate' examples: {} responses: '400': description: >- Invalid Application or Application Version. No deployment has been created content: application/json: schema: $ref: '#/components/schemas/Error' headers: {} '401': description: Unauthorized. No deployment has been created. content: application/json: schema: $ref: '#/components/schemas/Error' headers: {} '422': description: >- Could not allocate an Edge Server for the deployment. A deployment has been created. Deployment is in error state. You can delete it manually or it will be deleted automatically by our system after some some times content: application/json: schema: $ref: '#/components/schemas/ParameterError422' headers: {} '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' headers: {} security: - API token: [] webhooks: {} components: schemas: DeploymentResponse: required: - request_id properties: request_id: type: string description: Request ID. Unique identifier of the deployment request examples: - a69f8e3e0555 type: object ParameterError422: required: - message - request_id properties: request_id: type: string description: Request ID. Unique identifier of the deployment request examples: - a69f8e3e0555 message: type: string description: Error message examples: - Error message type: object Error: required: - message properties: message: type: string description: Error message examples: - Error message details: type: object description: Additional error details properties: {} type: object PrivateFleetDeploymentCreate: type: object properties: application: type: string description: Name of the application that will be deployed examples: - my-app version: type: string description: Name of the version within the application that will be deployed examples: - 25.05.30-16.45.19-04 private_host_ids: type: array items: type: string description: >- Preferred and prioritized Private Host IDs to try before overflowing to cloud. minItems: 1 uniqueItems: true users: type: array description: >- List of users. These users will be used to select the locations for the deployment minItems: 1 items: $ref: '#/components/schemas/User' examples: - - user_type: ip_address user_data: ip_address: 75.28.35.192 - user_type: geo_coordinates user_data: latitude: 45.508888 longitude: -73.561668 environment_variables: type: array description: List of environment variables to inject into the deployment items: $ref: '#/components/schemas/DeploymentEnvironmentVariable' tags: type: array description: List of tags to associate with the deployment items: type: string webhook_on_ready: description: Webhook to call when the deployment is ready allOf: - $ref: '#/components/schemas/BasicWebhook' webhook_on_error: description: Webhook to call when the deployment is in error allOf: - $ref: '#/components/schemas/BasicWebhook' webhook_on_terminated: description: Webhook to call when the deployment is terminated allOf: - $ref: '#/components/schemas/BasicWebhook' required: - application - users - version - private_host_ids DeploymentCreate: required: - application - users - version properties: application: type: string description: Name of the application that will be deployed examples: - my-app version: type: string description: Name of the version within the application that will be deployed examples: - 25.05.30-16.45.19-04 require_cached_locations: type: - boolean - 'null' default: false description: Deploy faster by limiting placement to locations with cached image. users: type: array description: >- List of users. These users will be used to select the locations for the deployment minItems: 1 items: $ref: '#/components/schemas/User' examples: - - user_type: ip_address user_data: ip_address: 75.28.35.192 - user_type: geo_coordinates user_data: latitude: 45.508888 longitude: -73.561668 environment_variables: type: array description: List of environment variables to inject into the deployment items: $ref: '#/components/schemas/DeploymentEnvironmentVariable' tags: type: array description: List of tags to associate with the deployment items: type: string webhook_on_ready: description: Webhook to call when the deployment is ready allOf: - $ref: '#/components/schemas/BasicWebhook' webhook_on_error: description: Webhook to call when the deployment is in error allOf: - $ref: '#/components/schemas/BasicWebhook' webhook_on_terminated: description: Webhook to call when the deployment is terminated allOf: - $ref: '#/components/schemas/BasicWebhook' type: object User: required: - user_data - user_type properties: user_type: type: string description: Type of user (e.g., ip_address or geo_coordinates) user_data: type: object description: Dynamic user data depending on user_type examples: - ip_address: 75.28.35.192 properties: {} type: object DeploymentEnvironmentVariable: required: - is_hidden - key - value properties: key: type: string description: Environment variable key examples: - MY_ENVIRONMENT_VARIABLE value: type: string description: Environment variable value examples: - my-value is_hidden: type: boolean description: An hidden environment variable is not shown in the UI examples: - false type: object BasicWebhook: required: - url properties: url: type: string description: Webhook URL examples: - https://my-webhook.com type: object securitySchemes: API token: type: apiKey in: header name: Authorization servers: [] security: - API token: []