{"openapi":"3.1.0","info":{"title":"Deploy-Server API Documentation","description":"This page serves as the API documentation for Deploy-Server."},"servers":[{"url":"https://deploy-api.green.northeurope.isc.prod.rtp.tescocloud.com","description":"Generated server url"}],"paths":{"/v2/devices/{deviceId}/health":{"put":{"tags":["deprecated-device-controller"],"summary":"Add device health status v2","description":"Add device health status<br>You don't need any role to call the API","operationId":"addDeviceHealth","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AggregatedHealthCheck"}}},"required":true},"responses":{"200":{"description":"OK"}},"deprecated":true}},"/users/{userId}":{"get":{"tags":["users-controller"],"summary":"Get user","description":"allows to check the roles of the user and it's deleted status<br>You don't need any role to call the API","operationId":"getUser","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/UserDTO"}}}}}},"put":{"tags":["users-controller"],"summary":"Add user with roles","description":"Add a new user with the given userId and roles<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-user</b>","operationId":"addUser","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserRequest"}}},"required":true},"responses":{"200":{"description":"OK"}}},"delete":{"tags":["users-controller"],"summary":"Remove user","description":"remove the user with the given userId<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-user</b>","operationId":"deleteUser","parameters":[{"name":"userId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}":{"get":{"tags":["environments-controller"],"summary":"Get an Environment","description":"Returns the Environment for the given environmentName<br>You don't need any role to call the API","operationId":"getEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Environment"}}}}}},"put":{"tags":["environments-controller"],"summary":"Register a new environment","description":"Admin users are able to register a new environment with the given environmentName.<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b>","operationId":"addEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/parent/{parentEnvironmentName}":{"put":{"tags":["environments-controller"],"summary":"Set a parent to this environment","description":"Admin users are able to register an environment as a parent to this environment with the given parentEnvironmentName.<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b>","operationId":"addParentEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"parentEnvironmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/owner/{userIdOfOwner}":{"put":{"tags":["environments-controller"],"summary":"Set the owner for an environment","description":"Admin users can set the owner for an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b>","operationId":"setEnvironmentOwner","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"userIdOfOwner","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/environments/{environmentName}/manifest/approval/{required}":{"put":{"tags":["environments-controller"],"summary":"Set manifest validation required for environment","description":"Admin users can set if manifest validation is required for an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b>","operationId":"setEnvironmentManifestValidationRequired","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"required","in":"path","required":true,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/environments/{environmentName}/inclusions/{applicationName}":{"put":{"tags":["environments-controller"],"summary":"Register an application as included on this environment","description":"Admin users are able to register an application so that manifests are filtered.<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b>","operationId":"addInclusion","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"delete":{"tags":["environments-controller"],"summary":"Remove inclusion","description":"remove the application from the list of inclusions for the environment<br>You need one of the following role(s) to call the API:<br><b>admin</b>","operationId":"removeInclusion","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/applications/{applicationName}/secret":{"get":{"tags":["environments-controller"],"summary":"Get application secrets","description":"Returns secrets for an application and environment<br>You don't need any role to call the API","operationId":"getApplicationSecret","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SecretDto"}}}}}},"put":{"tags":["environments-controller"],"summary":"Add application secrets","description":"Adds secrets for an application on an environment<br>You don't need any role to call the API","operationId":"addApplicationSecret","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SecretDto"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}":{"get":{"tags":["devices-controller"],"summary":"Get a device","description":"Returns the device for the given deviceId<br>You don't need any role to call the API","operationId":"getDevice","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Device"}}}}}},"put":{"tags":["devices-controller"],"summary":"Register a device with the deploy server","description":"Register a device with the deploy server so that it can have applications deployed to it<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b>","operationId":"addDevice","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/tags":{"put":{"tags":["devices-controller"],"summary":"Add multiple tags to a device","description":"Provides the ability to add multiple tags to a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"addDeviceTags","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeviceTag"}}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/manifest/{manifestName}":{"put":{"tags":["devices-controller"],"summary":"Set the manifestName on a device","description":"Sets the manifestName on a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>spp-manager</b><br><b>modify-device-manifest</b><br><b>deploy-user</b>","operationId":"setManifestName","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"manifestName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/logForwarding/enable":{"put":{"tags":["devices-controller"],"description":"Endpoint providing the ability to enable log forwarding on a specific device<br>You don't need any role to call the API","operationId":"enableLogForwarding","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceLogForwarding"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/hotfix/{changeId}":{"put":{"tags":["devices-controller"],"summary":"Add a hotfix changeId on a device","description":"Adds the changeId on a device as a hotfix<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device-manifest</b><br><b>deploy-user</b>","operationId":"addHotfixChangeId","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"delete":{"tags":["devices-controller"],"summary":"Delete a hotfix change id from a device","description":"Provides the ability to remove a hotfix changeId from a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device-manifest</b><br><b>deploy-user</b>","operationId":"deleteHotfixChangeId","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/health":{"put":{"tags":["deprecated-device-controller"],"summary":"Add device health status","description":"Add device health status<br>You don't need any role to call the API","operationId":"addDeviceHealth_1","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthCheckResult"}}},"required":true},"responses":{"200":{"description":"OK"}},"deprecated":true}},"/devices/{deviceId}/excludedApplications/{applicationName}":{"put":{"tags":["devices-controller"],"summary":"Exclude an application from a device's manifest","description":"Provides the ability to remove an application from a device by overriding the manifest<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b>","operationId":"excludeApplicationFromDevice","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}},"delete":{"tags":["devices-controller"],"summary":"Re-enable a previously excluded application on a device","description":"Allow an application on a device which was excluded before<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"deleteApplicationExclusionFromDevice","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/environment/{environmentName}":{"put":{"tags":["devices-controller"],"summary":"Set the environment of a device","description":"Provides the ability to set the environment that a device is on<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"setEnvironment","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/change/{changeId}":{"put":{"tags":["devices-controller"],"summary":"Set the changeId on a device","description":"Sets the changeId on a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>integration-test</b><br><b>device-owner</b><br><b>modify-device-manifest</b><br><b>deploy-user</b>","operationId":"setChangeId","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/applications/{applicationName}":{"get":{"tags":["applications-controller"],"summary":"Get application by its name","description":"<br>You don't need any role to call the API","operationId":"getApplication","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Application"}}}}}},"put":{"tags":["applications-controller"],"summary":"Register an application with the deploy server","description":"Register an application with the deploy server so that it can be deployed in future deployments<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-application</b>","operationId":"addApplication","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/applications/{applicationName}/versions/{version}":{"put":{"tags":["applications-controller"],"summary":"Register an application version against an application","description":"Register an application version against an application so that it can be deployed in future deployments.<br>You don't need any role to call the API","operationId":"addVersion","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/applications/{applicationName}/componentType/{componentType}":{"put":{"tags":["applications-controller"],"summary":"Add componentType of an application with the deploy server","description":"Add componentType of an application with the deploy server<br>You don't need any role to call the API","operationId":"addApplicationComponentType","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}},{"name":"componentType","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/tag":{"post":{"tags":["environments-controller"],"summary":"Add a tag to an environment","description":"Provides the ability to add a tag to an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b>","operationId":"addEnvironmentTag","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentTag"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/manifest":{"post":{"tags":["environments-controller"],"summary":"Get List of Applications for an environment by ChangeId and list of HotfixIds","description":"Deploy client users are able to get a list of applications with their configuration that should be deployed on an environment based on change-id and hotfix-id<br>You don't need any role to call the API","operationId":"getEnvironmentApplicationsManifest","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentManifestChangeIds"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}}},"/environments/{environmentName}/manifest/approved":{"post":{"tags":["environments-controller"],"summary":"Get approved manifest with list of Applications for an environment by ChangeId and list of HotfixIds","description":"Deploy client users are able to get an approved list of applications with their configuration that should be deployed on an environment based on change-id and hotfix-id<br>You need one of the following role(s) to call the API:<br><b>deploy-client</b><br><b>admin</b><br><b>deploy-user</b>","operationId":"getApprovedEnvironmentApplicationsManifest","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentManifestForApproval"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}}},"/environments/{environmentName}/manifest/approve":{"post":{"tags":["environments-controller"],"summary":"Approve List of Applications for an environment by ChangeId and list of HotfixIds","description":"Admin users are able to approve a list of applications with their configuration that should be deployed on an environment based on change-id and hotfix-id<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>deploy-user</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Admin</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Deployer</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Approver</b><br><b>spp-manager</b>","operationId":"approveEnvironmentApplicationsManifest","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentManifestForApproval"}}},"required":true},"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}}},"/environments/{environmentName}/changes/{proposedChangeId}":{"get":{"tags":["environments-controller"],"summary":"Get the list of applications and configuration to be deployed on an environment for a proposed change","description":"Get the list of applications and configuration to be deployed on an environment for a proposed change<br>You don't need any role to call the API","operationId":"getEnvironmentApplicationsForBuildAsDockerCompose","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"proposedChangeId","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.tesco.deployapi.dockercompose.v1+json":{"schema":{"$ref":"#/components/schemas/DockerComposeJsonSchema"}},"application/json;charset=UTF-8":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}},"post":{"tags":["environments-controller"],"summary":"Set the build outcome  of the proposed change","description":"Mark the proposed change with the outcome of the build i.e. FAILED or SUCCEEDED<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>service-user</b>","operationId":"markProposedChangeStatus","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"proposedChangeId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BuildResultDto"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/build":{"post":{"tags":["environments-controller"],"summary":"Set the build protection status on an environment","description":"Admin users can set the build protection status on an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b>","operationId":"setIsProtectedByBuild","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}},"deprecated":true}},"/environments/{environmentName}/applications":{"get":{"tags":["environments-controller"],"summary":"Get the list of applications and configuration to be deployed on an environment","description":"Deploy client users are able to get a list of applications with their configuration that should be deployed on an environment<br>You don't need any role to call the API","operationId":"getEnvironmentApplicationsAsDockerCompose","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean"}}],"responses":{"200":{"description":"OK","content":{"application/vnd.tesco.deployapi.dockercompose.v1+json":{"schema":{"$ref":"#/components/schemas/DockerComposeJsonSchema"}},"application/json;charset=UTF-8":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}},"post":{"tags":["environments-controller"],"summary":"Publish an application version to an environment","description":"This is an asynchronous call follow the location in response header to get the actual response.\nUsers without admin rights can only propose changes if they are application owners.Production propose changes are only allowed by QA team or by admin rights except in child environments containing \"pilot\" in the name of the environment<br>You don't need any role to call the API","operationId":"sendApplicationToEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EnvironmentApplication"}}},"required":true},"responses":{"202":{"description":"Accepted and response header location will have the url for application deployment response"}}}},"/environments/{environmentName}/applications/{applicationName}/secret/access":{"post":{"tags":["environments-controller"],"summary":"Set application secrets access","description":"Sets secrets access for an application on an environment<br>You don't need any role to call the API","operationId":"setApplicationSecretAccess","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"boolean"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/applications/{applicationName}/configuration":{"get":{"tags":["environments-controller"],"summary":"Get the current effective configuration","description":"Provides the ability to get current configuration of an application on an environment.It can contain override on either environment-level or application-level<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b><br><b>deploy-user</b>","operationId":"getApplicationConfigurationOverride","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/Configuration"}}}}}},"post":{"tags":["environments-controller"],"summary":"Add application configuration","description":"Provides the ability to override configuration for an application on a specified environment<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-environment</b><br><b>deploy-user</b>","operationId":"addApplicationConfigurationOverride","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}},"required":true},"responses":{"200":{"description":"OK"}}},"delete":{"tags":["environments-controller"],"summary":"Delete application configuration","description":"Provides the ability to delete configuration override for an application on a specified environment<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>deploy-user</b>","operationId":"deleteApplicationConfigurationOverride","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/tag":{"post":{"tags":["devices-controller"],"summary":"Add a tag to a device","description":"Provides the ability to add a tag to a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"addDeviceTag","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceTag"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/configuration/{applicationName}":{"post":{"tags":["devices-controller"],"description":"Endpoint providing the ability to override configuration for an application on a specified Device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b>","operationId":"addApplicationConfigurationOverride_1","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/additionalApplication":{"post":{"tags":["devices-controller"],"summary":"Add an additional application to a device","description":"Provides the ability to add an additional application to a device; a fake for example<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"addAdditionalApplication","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceAdditionalApplication"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/devices/":{"post":{"tags":["devices-controller"],"summary":"Create a device from json","description":"Provides the ability to create a device in a single post call<br>You don't need any role to call the API","operationId":"createDevice","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeviceDto"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/cache/clear":{"post":{"tags":["cache-controller"],"summary":"Clear the cache for a specified set of keys","description":"Allows caches to be cleared of one or more keys<br>You need one of the following role(s) to call the API:<br><b>modify-cache</b>","operationId":"clearCache","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CacheDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/builds/{environmentName}/queue":{"post":{"tags":["build-controller"],"summary":"Poke the build queue to check for blocked builds and recover","description":"Queries Jenkins to see if a build has been running for a while, if it has, query the status and try to recover. Recovery actions include marking completed builds as succeeded/failed, and killing slow running builds<br>You don't need any role to call the API","operationId":"refreshBuildQueue","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/builds/{buildId}":{"get":{"tags":["build-controller"],"summary":"Get a build by the buildId","description":"Returns the build status for the given buildId.<br>You don't need any role to call the API","operationId":"getBuild","parameters":[{"name":"buildId","in":"path","required":true,"schema":{"type":"string"}},{"name":"Authorization","in":"header","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}},"post":{"tags":["build-controller"],"summary":"Set the build status","description":"Sets the build status i.e. SUCCEEDED or FAILED on a build for the given buildId.<br>You don't need any role to call the API","operationId":"setBuildStatus","parameters":[{"name":"buildId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/applications/{applicationName}/owners":{"post":{"tags":["applications-controller"],"summary":"Register an application owner","description":"Register an owner of an application so they are permitted to perform deployments of the given application<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-application</b>","operationId":"addApplicationOwner","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationOwner"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/applications/{applicationName}/configuration":{"post":{"tags":["applications-controller"],"summary":"Add container configuration for an application","description":"Adds container configuration so the application container can be configured when the application is being deployed. The configuration is applied to the current and all future versions of the application unless overridden by another configuration<br>You don't need any role to call the API","operationId":"addConfiguration","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Configuration"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/applications/{applicationName}/teams":{"patch":{"tags":["applications-controller"],"summary":"Assign team, queue and distribution list to the given application","description":"Assign the owning team to the given application. Queue name must be provided to be able to assign support tickets. Distribution lists are email addresses which are used to send emails to the team members (optional)<br>You don't need any role to call the API","operationId":"assignTeamAndQueue","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationMaintainerDto"}}},"required":true},"responses":{"200":{"description":"OK"}}}},"/v2/requests/{requestId}":{"get":{"tags":["requests-controller-v-2"],"summary":"Get the status of a proposed change request.","description":"<br>You don't need any role to call the API","operationId":"getRequest","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"404":{"description":"Proposed change is not found","content":{"*/*":{"schema":{"$ref":"#/components/schemas/ProposedChangeResponse"}}}}}}},"/v2/devices/{deviceId}/changes/{changeId}":{"get":{"tags":["devices-controller"],"summary":"Get a list of DeploymentEntries for a device and changeId","description":"Returns the list of applications along with their configuration that should be deployed on a device for a specific changeId<br>You don't need any role to call the API","operationId":"getDeviceApplicationsByChangeIdV2","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentEntries"}}}}}}},"/v2/devices/{deviceId}/applications":{"get":{"tags":["devices-controller"],"summary":"Get a list of DeploymentEntries for a device","description":"Returns the list of applications along with their configuration that should be deployed on a device<br>You don't need any role to call the API","operationId":"getDeviceApplicationsV2","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeploymentEntries"}}}}}}},"/requests/{requestId}":{"get":{"tags":["requests-controller"],"summary":"Get a deployment request","description":"Returns a request if one is available that represents that status of the build request i.e. PENDING, INPROGRESS, FAILED, or SUCCEEDED<br>You don't need any role to call the API","operationId":"getRequest_1","parameters":[{"name":"requestId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/RequestDto"}}}}}}},"/images/{applicationName}/versions/{version}":{"get":{"tags":["images-controller"],"summary":"Get an application image","description":"Return the application image for the given applicationName and version<br>You don't need any role to call the API","operationId":"getApplicationImage","parameters":[{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}},{"name":"version","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}}}}},"/environments/{environmentName}/manifests":{"get":{"tags":["environments-controller"],"summary":"Get all approved manifests for an environment","description":"Deploy client users are able to get an approved list of manifest for an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>deploy-client</b><br><b>deploy-user</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Admin</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Deployer</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Approver</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-Consumer</b><br><b>GG-XX-TescoGlobal-SPPNP-TillPlatform-BusinessUser</b>","operationId":"getApprovedManifestsForEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"type":"string"}}}}}}}},"/environments/{environmentName}/manifest/{manifestName}":{"get":{"tags":["environments-controller"],"summary":"Get List of Applications for an environment by manifest name","description":"Deploy Client users are able to get a list of applications and it's versions by manifest name <br>You don't need any role to call the API","operationId":"getApprovedManifestByManifestName","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"manifestName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}}},"/environments/{environmentName}/manifest/{manifestName}/details":{"get":{"tags":["environments-controller"],"summary":"Get List of Applications, list of Hotfix Ids and changeId for an environment by manifest name","description":"Deploy Client users are able to get a list of applications, and it's versions, list of hotfix ids, and changeId by manifest name <br>You don't need any role to call the API","operationId":"getApplicationsWithChangeIdAndHotfixIdsForEnvByManifestName","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"manifestName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json;charset=UTF-8":{"schema":{"$ref":"#/components/schemas/ManifestEntry"}}}}}}},"/environments/{environmentName}/changeIds":{"get":{"tags":["environments-controller"],"summary":"Get list of all accepted applications and their version in an environment within a date range","description":"<br>You don't need any role to call the API","operationId":"getChangeIds","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ChangeIdListEntry"}}}}}}}},"/environments/{environmentName}/applications/{applicationName}/availableVersions":{"get":{"tags":["environments-controller"],"summary":"Get a list of versions of an application in an specific environment within a date range","description":"<br>You don't need any role to call the API","operationId":"getApplicationVersions","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}},{"name":"startDate","in":"query","required":false,"schema":{"type":"string","format":"date"}},{"name":"endDate","in":"query","required":false,"schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ApplicationVersion"}}}}}}}},"/devices/{deviceId}/logForwarding":{"get":{"tags":["devices-controller"],"summary":"Get a device log forwarding configuration","description":"Returns the device log forwarding configuration for the given deviceId<br>You don't need any role to call the API","operationId":"getDeviceLogForwarding","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/DeviceLogForwarding"}}}}}}},"/devices/{deviceId}/images/{applicationName}":{"get":{"tags":["devices-controller"],"summary":"Get an application image for a device","description":"Return the application image for the given applicationName<br>You don't need any role to call the API","operationId":"getApplicationImage_1","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/StreamingResponseBody"}}}}}}},"/devices/{deviceId}/changes/{changeId}":{"get":{"tags":["devices-controller"],"summary":"Get a list of DeploymentEntries for a device and changeId","description":"Returns the list of applications along with their configuration that should be deployed on a device for a specific changeId<br>You don't need any role to call the API","operationId":"getDeviceApplicationsByChangeIdAsDockerCompose","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"changeId","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/vnd.tesco.deployapi.dockercompose.v1+json":{"schema":{"$ref":"#/components/schemas/DockerComposeJsonSchema"}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}}},"/devices/{deviceId}/applications":{"get":{"tags":["devices-controller"],"summary":"Get a list of DeploymentEntries for a device","description":"Returns the list of applications along with their configuration that should be deployed on a device<br>You don't need any role to call the API","operationId":"getDeviceApplicationsAsDockerCompose","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"showEnvironment","in":"query","required":false,"schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"OK","content":{"application/vnd.tesco.deployapi.dockercompose.v1+json":{"schema":{"$ref":"#/components/schemas/DockerComposeJsonSchema"}},"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}}}}}}}},"/devices/{deviceId}/applications/{applicationName}/secret":{"get":{"tags":["devices-controller"],"summary":"Get device application secrets","description":"Returns the secrets for an application that will be deployed on the device<br>You don't need any role to call the API","operationId":"getDeviceApplicationSecrets","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SecretDto"}}}}}}},"/cache/{cache}/{type}/{value}":{"get":{"tags":["cache-controller"],"summary":"Query the cache for a specific key","description":"Allows the caches to be queried for a key<br>You don't need any role to call the API","operationId":"getCacheValue","parameters":[{"name":"cache","in":"path","required":true,"schema":{"type":"string"}},{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/cache/latest-sequence-write/{type}/{value}":{"get":{"tags":["cache-controller"],"summary":"Get the latest sequence number write cache value for a specific key","description":"Allows to retrieve latest sequence write cache for a given key<br>You don't need any role to call the API","operationId":"getLatestSequenceWriteCache","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"integer","format":"int32"}}}}}},"delete":{"tags":["cache-controller"],"summary":"Delete latest sequence number write cache for a specific key","description":"Allows latest sequence write cache to be deleted for a key<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-cache</b>","operationId":"deleteLatestSequenceWriteCache","parameters":[{"name":"type","in":"path","required":true,"schema":{"type":"string"}},{"name":"value","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}},"/applications/maintainers-summary":{"get":{"tags":["applications-controller"],"summary":"Get applications maintainers summary","description":"<br>You don't need any role to call the API","operationId":"getMaintainersSummary","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ApplicationMaintainerRecord"}}}}}}}},"/_status":{"get":{"tags":["health-controller"],"summary":"Gets health status","description":"Gets the health status of API as per tesco standard<br>You don't need any role to call the API","operationId":"status","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/HealthStatusDetails"}}}}}}},"/environments/{environmentName}/tag/{name}":{"delete":{"tags":["environments-controller"],"summary":"Delete a tag from an environment","description":"Provides the ability to delete a tag from an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b>","operationId":"deleteEnvironmentTag","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/parent":{"delete":{"tags":["environments-controller"],"summary":"Remove parent environment","description":"remove the parent environment from the environment<br>You need one of the following role(s) to call the API:<br><b>admin</b>","operationId":"removeParentEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/owner":{"delete":{"tags":["environments-controller"],"summary":"Removes the owner for an environment","description":"Admin users can remove the owner of an environment<br>You need one of the following role(s) to call the API:<br><b>admin</b>","operationId":"removeEnvironmentOwner","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/applications/{applicationName}":{"delete":{"tags":["environments-controller"],"summary":"Remove an application from an environment","description":"Remove an application from an environment<br>You don't need any role to call the API","operationId":"removeApplicationFromEnvironment","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/environments/{environmentName}/applications/{applicationName}/{applicationVersion}":{"delete":{"tags":["environments-controller"],"summary":"Remove an application version from an environment","description":"Remove an application version from an environment<br>You don't need any role to call the API","operationId":"removeApplicationFromEnvironment_1","parameters":[{"name":"environmentName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationName","in":"path","required":true,"schema":{"type":"string"}},{"name":"applicationVersion","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/tag/{name}":{"delete":{"tags":["devices-controller"],"summary":"Delete a tag from a device","description":"Provides the ability to delete a tag from a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"deleteDeviceTag","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/configuration/{name}":{"delete":{"tags":["devices-controller"],"description":"Endpoint providing the ability to delete configuration override for an application on a specified Device<br>You don't need any role to call the API","operationId":"deleteApplicationConfigurationOverride_1","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/change":{"delete":{"tags":["devices-controller"],"summary":"Delete a change id from a device","description":"Provides the ability to remove a changeId from a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>integration-test</b><br><b>device-owner</b><br><b>modify-device-manifest</b><br><b>deploy-user</b>","operationId":"deleteChangeId","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/devices/{deviceId}/additionalApplication/{name}":{"delete":{"tags":["devices-controller"],"summary":"Delete an additional application from a device","description":"Provides the ability to remove an additional application from a device<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-device</b><br><b>device-owner</b><br><b>deploy-user</b>","operationId":"deleteAdditionalApplication","parameters":[{"name":"deviceId","in":"path","required":true,"schema":{"type":"string"}},{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"/cache/{cacheName}/{key}":{"delete":{"tags":["cache-controller"],"summary":"Removes a specific cache entry by key","description":"If there was a value by given key then returns the removed entry<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-cache</b>","operationId":"deleteEntryByKey","parameters":[{"name":"cacheName","in":"path","required":true,"schema":{"type":"string"}},{"name":"key","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/cache/latest-sequence-write/all":{"delete":{"tags":["cache-controller"],"summary":"Delete the latest sequence number write cache value for a specific key","description":"Allows deletion of latest sequence write cache for a given key<br>You need one of the following role(s) to call the API:<br><b>admin</b><br><b>modify-cache</b>","operationId":"deleteLatestSequenceWriteCache_1","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"string"}}}}}}}},"components":{"schemas":{"AdditionalInformation":{"type":"object","properties":{"positionId":{"type":"string"},"countryId":{"type":"string"},"locationId":{"type":"string"},"environmentName":{"type":"string"}}},"AggregatedHealthCheck":{"type":"object","properties":{"deviceId":{"type":"string"},"status":{"type":"string"},"healthCheckTime":{"type":"string"},"containerStatuses":{"type":"array","items":{"$ref":"#/components/schemas/ContainerStatus"},"writeOnly":true},"containers":{"type":"array","items":{"$ref":"#/components/schemas/ContainerStatus"}}}},"Application":{"type":"object","properties":{"entityId":{"type":"string"},"owners":{"type":"array","items":{"type":"string"},"uniqueItems":true},"versions":{"type":"array","items":{"type":"string"}},"versionConfigurations":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Configuration"}},"distributionLists":{"type":"array","items":{"type":"string"}},"componentType":{"type":"string","enum":["HostApplication","DockerContainer","BaseImage"]},"team":{"type":"string"},"queue":{"type":"string"},"configuration":{"$ref":"#/components/schemas/Configuration"}}},"ApplicationMaintainerDto":{"type":"object","properties":{"team":{"type":"string","minLength":1},"queue":{"type":"string","minLength":1},"distributionLists":{"type":"array","items":{"type":"string"}}},"required":["distributionLists","queue","team"]},"ApplicationMaintainerRecord":{"type":"object","properties":{"applicationName":{"type":"string"},"teamName":{"type":"string"},"queueName":{"type":"string"},"distributionLists":{"type":"array","items":{"type":"string"}}}},"ApplicationOwner":{"type":"object","properties":{"userId":{"type":"string"}}},"ApplicationVersion":{"type":"object","properties":{"version":{"type":"string"},"accepted":{"type":"string","format":"date-time"},"changeId":{"type":"string"},"environment":{"type":"string"}}},"BindMounts":{"type":"object","properties":{"hostPath":{"type":"string"},"mountPath":{"type":"string"},"readOnly":{"type":"boolean"}}},"BootStrapManifest":{"type":"object","properties":{"version":{"type":"string"},"services":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/DockerComposeService"}},"volumes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Volume"}},"networks":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Network"}}}},"BuildResultDto":{"type":"object","properties":{"outcome":{"type":"string","enum":["SUCCEEDED","FAILED"]},"outcomeMessage":{"type":"string"},"outcomeMessageOptional":{"type":"string"}}},"CacheDto":{"type":"object","properties":{"edgeKeys":{"type":"array","items":{"type":"string"}},"latestSequenceNumberKeys":{"type":"array","items":{"type":"string"}},"projectionKeys":{"type":"array","items":{"type":"string"}},"eventKeys":{"type":"array","items":{"type":"string"}}}},"ChangeIdListEntry":{"type":"object","properties":{"environment":{"type":"string"},"changeId":{"type":"string"},"application":{"type":"string"},"version":{"type":"string"},"accepted":{"type":"string","format":"date-time"}}},"Configuration":{"type":"object","properties":{"capabilities":{"type":"array","items":{"type":"string"}},"sharedVolumes":{"$ref":"#/components/schemas/VolumeConfiguration"},"bindMounts":{"type":"array","items":{"$ref":"#/components/schemas/BindMounts"}},"deviceManifestLocation":{"type":"string"},"portSpec":{"type":"string","deprecated":true},"ports":{"type":"array","items":{"$ref":"#/components/schemas/PortConfiguration"}},"deploy":{"$ref":"#/components/schemas/Deployment"},"portSpecs":{"type":"array","items":{"type":"string"}},"servicePort":{"type":"integer","format":"int32"},"devices":{"type":"array","items":{"type":"string"}},"endpointConfig":{"$ref":"#/components/schemas/EndpointConfig"},"network":{"type":"string"},"necessity":{"type":"string","enum":["optional","conditional","mandatory"]},"containerTags":{"type":"array","items":{"$ref":"#/components/schemas/ContainerTag"}},"isBootstrap":{"type":"boolean"},"enableUsbDevices":{"type":"boolean"},"fromEnvironment":{"type":"string"},"networks":{"type":"array","items":{"type":"string"}},"nonRootUserConfig":{"$ref":"#/components/schemas/NonRootUserConfig"},"privileged":{"type":"boolean"},"priority":{"type":"integer","format":"int32"}}},"ContainerStatus":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"},"status":{"type":"string"},"components":{}}},"ContainerTag":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"CustomHealthCheck":{"type":"object","properties":{"servicePort":{"type":"integer","format":"int32"},"necessity":{"type":"string","enum":["optional","conditional","mandatory"]}}},"Deployment":{"type":"object","properties":{"mode":{"type":"string"},"endpoint_mode":{"type":"string"},"replicas":{"type":"integer","format":"int32"},"labels":{"type":"object","additionalProperties":{"type":"string"}},"update_config":{"$ref":"#/components/schemas/UpdateConfig"},"resources":{"$ref":"#/components/schemas/Resources"},"restart_policy":{"$ref":"#/components/schemas/RestartPolicy"},"placement":{"$ref":"#/components/schemas/Placement"}}},"DeploymentEntries":{"type":"object","properties":{"hostApplications":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}},"baseImages":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}},"dockerContainers":{"$ref":"#/components/schemas/DockerComposeJsonSchema"}}},"DeploymentEntry":{"type":"object","properties":{"version":{"type":"string"},"containerConfig":{"$ref":"#/components/schemas/Configuration"},"name":{"type":"string"},"fromEnvironment":{"type":"string"},"componentType":{"type":"string"},"configuration":{"$ref":"#/components/schemas/Configuration","writeOnly":true}}},"Device":{"type":"object","properties":{"entityId":{"type":"string"},"environmentName":{"type":"string"},"changeId":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"additionalApplications":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}},"excludedApplications":{"type":"array","items":{"type":"string"}},"applicationConfigurationOverrides":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Configuration"}},"hotfixChangeIds":{"type":"array","items":{"type":"string"},"uniqueItems":true},"logForwarding":{"$ref":"#/components/schemas/DeviceLogForwarding"},"manifestName":{"type":"string"},"environment":{"type":"string","writeOnly":true},"ownerClientId":{"type":"string"}}},"DeviceAdditionalApplication":{"type":"object","properties":{"applicationName":{"type":"string","minLength":1},"version":{"type":"string","minLength":1}},"required":["applicationName","version"]},"DeviceDto":{"type":"object","properties":{"entityId":{"type":"string"},"environmentName":{"type":"string"},"changeId":{"type":"string"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"additionalApplications":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/DeploymentEntry"}},"applicationConfigurationOverrides":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Configuration"}},"ownerClientId":{"type":"string"}}},"DeviceLogForwarding":{"type":"object","properties":{"enableFrom":{"type":"string","format":"date-time"},"enableUntil":{"type":"string","format":"date-time"},"sourcetypes":{"type":"array","items":{"type":"string"}}},"required":["enableFrom","enableUntil"]},"DeviceTag":{"type":"object","properties":{"name":{"type":"string","minLength":1},"value":{"type":"string"},"nameOptional":{"type":"string"},"valueOptional":{"type":"string"}},"required":["name"]},"DockerComposeJsonSchema":{"type":"object","properties":{"version":{"type":"string"},"services":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/DockerComposeService"}},"networks":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Network"}},"volumes":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Volume"}},"secrets":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Secret"}},"x-health-check":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CustomHealthCheck"}},"x-bootstrap":{"$ref":"#/components/schemas/BootStrapManifest"}}},"DockerComposeService":{"type":"object","properties":{"deploy":{"$ref":"#/components/schemas/Deployment"},"build":{"type":"string"},"cap_add":{"type":"array","items":{"type":"string"}},"cap_drop":{"type":"array","items":{"type":"string"}},"cgroup_parent":{"type":"string"},"command":{"type":"string"},"container_name":{"type":"string"},"depends_on":{"type":"array","items":{"type":"string"}},"devices":{"type":"array","items":{"type":"string"}},"dns":{"type":"string"},"dns_search":{"type":"string"},"domainname":{"type":"string"},"entrypoint":{"type":"string"},"env_file":{"type":"array","items":{"type":"string"}},"environment":{"type":"object","additionalProperties":{"type":"string"}},"expose":{"type":"array","items":{"type":"number","format":"double"}},"external_links":{"type":"array","items":{"type":"string"}},"extra_hosts":{"type":"object","additionalProperties":{"type":"string"}},"healthcheck":{"$ref":"#/components/schemas/Healthcheck"},"hostname":{"type":"string"},"image":{"type":"string"},"ipc":{"type":"string"},"labels":{"type":"object","additionalProperties":{"type":"string"}},"links":{"type":"array","items":{"type":"string"}},"logging":{"$ref":"#/components/schemas/Logging"},"mac_address":{"type":"string"},"network_mode":{"type":"string"},"networks":{"type":"array","items":{"type":"string"}},"pid":{"type":"string"},"ports":{"type":"array","items":{"$ref":"#/components/schemas/PortConfiguration"}},"privileged":{"type":"boolean"},"read_only":{"type":"boolean"},"restart":{"type":"string"},"security_opt":{"type":"array","items":{"type":"string"}},"shm_size":{"type":"number","format":"double"},"secrets":{"type":"array","items":{"type":"string"}},"sysctls":{"type":"object","additionalProperties":{"type":"string"}},"stdin_open":{"type":"boolean"},"stop_grace_period":{"type":"string"},"stop_signal":{"type":"string"},"tmpfs":{"type":"string"},"tty":{"type":"boolean"},"ulimits":{"type":"object","additionalProperties":{}},"user":{"type":"string"},"userns_mode":{"type":"string"},"volumes":{"type":"array","items":{"type":"string"}},"working_dir":{"type":"string"},"device_cgroup_rules":{"type":"array","items":{"type":"string"}}}},"EndpointConfig":{"type":"object","properties":{"aliases":{"type":"array","items":{"type":"string"}}}},"Environment":{"type":"object","properties":{"entityId":{"type":"string"},"proposedChanges":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/ProposedChange"}},"applicationInclusions":{"type":"array","items":{"type":"string"},"uniqueItems":true},"addedApplications":{"type":"array","items":{"type":"string"},"uniqueItems":true},"parentEnvironmentName":{"type":"string"},"environmentOwnerUserId":{"type":"string"},"childEnvironmentNames":{"type":"array","items":{"type":"string"},"uniqueItems":true},"manifestValidationRequired":{"type":"boolean"},"tags":{"type":"object","additionalProperties":{"type":"string"}},"applicationConfigurationOverrides":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Configuration"}},"latestAcceptedChangeId":{"type":"string"},"latestApprovedManifestId":{"type":"string"},"rootEnvironment":{"type":"boolean"},"nextProposedChange":{"$ref":"#/components/schemas/ProposedChange"}}},"EnvironmentApplication":{"type":"object","properties":{"applicationName":{"type":"string"},"version":{"type":"string"}}},"EnvironmentManifestChangeIds":{"type":"object","properties":{"changeId":{"type":"string"},"hotfixChangeIds":{"type":"array","items":{"type":"string"},"uniqueItems":true}}},"EnvironmentManifestForApproval":{"type":"object","properties":{"changeId":{"type":"string"},"hotfixChangeIds":{"type":"array","items":{"type":"string"},"uniqueItems":true},"manifestName":{"type":"string"}}},"EnvironmentTag":{"type":"object","properties":{"name":{"type":"string"},"value":{"type":"string"}}},"ErrorStatus":{"type":"object","properties":{"errorCode":{"type":"string"},"errorMessage":{"type":"string"}}},"External":{"type":"object","properties":{"name":{"type":"string"}}},"HealthCheckResult":{"type":"object","properties":{"deviceId":{"type":"string"},"tillStatus":{"type":"string"},"healthCheckTime":{"type":"string"},"containerStatuses":{"type":"array","items":{"$ref":"#/components/schemas/ContainerStatus"}},"additionalInformation":{"$ref":"#/components/schemas/AdditionalInformation"}}},"HealthStatusDetails":{"type":"object","properties":{"status":{"type":"string"},"version":{"type":"string"},"error":{"$ref":"#/components/schemas/ErrorStatus"}}},"Healthcheck":{"type":"object","properties":{"disable":{"type":"boolean"},"interval":{"type":"string"},"retries":{"type":"number","format":"double"},"test":{"type":"string"},"timeout":{"type":"string"}}},"Logging":{"type":"object","properties":{"driver":{"type":"string"},"options":{"type":"object","additionalProperties":{}}}},"ManifestEntry":{"type":"object","properties":{"deploymentEntries":{"type":"array","items":{"$ref":"#/components/schemas/DeploymentEntry"}},"changeId":{"type":"string"},"hotfixIds":{"type":"array","items":{"type":"string"},"uniqueItems":true}}},"Network":{"type":"object","properties":{"external":{"$ref":"#/components/schemas/External"}}},"NonRootUserConfig":{"type":"object","properties":{"userName":{"type":"string"},"userId":{"type":"integer","format":"int32"},"groups":{"type":"array","items":{"type":"string"}}}},"Placement":{"type":"object","properties":{"constraints":{"type":"array","items":{"type":"string"}}}},"PortConfiguration":{"type":"object","properties":{"mode":{"type":"string"},"protocol":{"type":"string"},"target":{"type":"integer","format":"int32"},"published":{"type":"integer","format":"int32"}}},"ProposedChange":{"type":"object","properties":{"environmentName":{"type":"string"},"changeId":{"type":"string"},"primalChangeId":{"type":"string"},"applicationName":{"type":"string"},"version":{"type":"string"},"proposedOperation":{"type":"string","enum":["ADD","REMOVE","REMOVE_ALL","INHERIT_ADD","INHERIT_REMOVE","INHERIT_REMOVE_ALL","INHERIT_ALL"]},"timestamp":{"type":"string","format":"date-time"}}},"ProposedChangeResponse":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["PENDING","INPROGRESS","FAILED","PARTIALLY_SUCCEEDED","SUCCEEDED"]},"data":{"type":"string"},"environmentName":{"type":"string"},"applicationName":{"type":"string"},"applicationVersion":{"type":"string"},"operation":{"type":"string","enum":["ADD","REMOVE","REMOVE_ALL","INHERIT_ADD","INHERIT_REMOVE","INHERIT_REMOVE_ALL","INHERIT_ALL"]},"timestamp":{"type":"string","format":"date-time"}}},"RequestDto":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["PENDING","INPROGRESS","FAILED","PARTIALLY_SUCCEEDED","SUCCEEDED"]},"data":{"type":"string"},"environmentName":{"type":"string"}}},"Resource":{"type":"object","properties":{"cpus":{"type":"string"},"memory":{"type":"string"}}},"Resources":{"type":"object","properties":{"limits":{"$ref":"#/components/schemas/Resource"},"reservations":{"$ref":"#/components/schemas/Resource"}}},"RestartPolicy":{"type":"object","properties":{"condition":{"type":"string"},"delay":{"type":"string"},"max_attempts":{"type":"integer","format":"int32"},"window":{"type":"string"}}},"Secret":{"type":"object","properties":{"file":{"type":"string"},"external":{"type":"boolean"},"labels":{"type":"object","additionalProperties":{"type":"string"}}}},"SecretDto":{"type":"object","properties":{"data":{"type":"string"},"filename":{"type":"string"}}},"StreamingResponseBody":{},"UpdateConfig":{"type":"object","properties":{"parallelism":{"type":"integer","format":"int32"},"delay":{"type":"string"},"failure_action":{"type":"string"},"monitor":{"type":"string"},"max_failure_ratio":{"type":"number","format":"double"}}},"UserDTO":{"type":"object","properties":{"userId":{"type":"string"},"deleted":{"type":"boolean"},"roles":{"type":"array","items":{"type":"string"},"uniqueItems":true}}},"UserRequest":{"type":"object","properties":{"roles":{"type":"array","items":{"type":"string"}}}},"Volume":{"type":"object","properties":{"name":{"type":"string"},"driver":{"type":"string"},"driver_opts":{"type":"object","additionalProperties":{}},"external":{"type":"boolean"},"labels":{"type":"object","additionalProperties":{"type":"string"}}}},"VolumeConfiguration":{"type":"object","properties":{"mountPathPrefix":{"type":"string"},"readOnly":{"type":"boolean"},"names":{"type":"array","items":{"type":"string"}}}}}}}