Set the lifecycle status of an application version
const url = 'http://localhost:3000/api/v1/applications/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/versions/2.0.18/lifecycle-status';const options = { method: 'PATCH', headers: {'X-API-Key': '<X-API-Key>', 'Content-Type': 'application/json'}, body: '{"lifecycleStatus":"ACTIVE"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url http://localhost:3000/api/v1/applications/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/versions/2.0.18/lifecycle-status \ --header 'Content-Type: application/json' \ --header 'X-API-Key: <X-API-Key>' \ --data '{ "lifecycleStatus": "ACTIVE" }'Sets the operator-owned lifecycle status (ACTIVE, DEPRECATED, RETIRED) of one version (FM-1004). A RETIRED version cannot be selected for new deployments; existing deployments are unaffected. DEPRECATED stays deployable. Registry syncs never change this status.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Application package UUID
Example
2.0.18Version string
Header Parameters
Section titled “Header Parameters”UUID of the organization (tenant) the request acts in. It selects the tenant and grants nothing: the server checks membership or an open tenant switch. Not needed for global operations. A malformed value returns 400. API keys are fixed to their own organization; another organization returns 403. The x-organization-source header grants nothing.
Request Bodyrequired
Section titled “Request Bodyrequired”object
New lifecycle status of the version. RETIRED blocks new deployments of the version; existing deployments are unaffected. DEPRECATED stays deployable.
Example
DEPRECATEDResponses
Section titled “Responses”Lifecycle status updated
object
Unique identifier for the application description
ID of the parent application package
Name of the parent application package
Version string (semver)
Deployment profile type
Full deployment manifest
object
SHA-256 checksum of the package
Minimum Margo version required
List of compatible device types/constraints
object
Resource requirements (CPU, memory, etc.)
object
List of validation errors if any
object
True when the stored manifest still carries the retired packageLocation/keyLocation component-artifact fields instead of repository+revision (ADR-0010-1 / FM-1090). Such a description will not deploy until republished/resynced under the new schema.
True when the stored manifest still carries the retired parameter shape (parameters[].type/required/validation/description, the array form of parameters, or configuration without schema). Such a description cannot be validated and will not deploy (409 RETIRED_PARAMETER_SHAPE) until republished under Margo rc2 (FM-1280).
Operator-set lifecycle status of this version (FM-1004). RETIRED versions cannot be selected for new deployments; DEPRECATED versions stay deployable.
Application availability status
Source repository links for this version
object
Registry type
Registry ID
Registry name
Registry URL
When the version was last seen in this registry
When this version was created
When this version was last updated
FM-1473: license file path as declared by this version (catalog.application.licenseFile)
FM-1473: this version’s license content, when the file is text or Markdown
FM-1473: release notes file path as declared by this version (catalog.application.releaseNotes)
FM-1473: this version’s release notes, when the file is text or Markdown
FM-1694: one-line tagline of this version (catalog.application.tagline)
FM-1694: application website, an absolute http(s) URL (catalog.application.site)
FM-1694: organization website, an absolute http(s) URL (catalog.organization.site)
Example
{ "id": "550e8400-e29b-41d4-a716-446655440001", "applicationPackageId": "550e8400-e29b-41d4-a716-446655440000", "applicationPackageName": "Eclipse Mosquitto", "version": "2.0.18", "deploymentProfile": "DOCKER_COMPOSE", "checksumSha256": "a1b2c3d4e5f6...", "minMargoVersion": "1.0.0", "usesDeprecatedSchema": false, "usesRetiredParameterShape": false, "lifecycleStatus": "ACTIVE", "availability": "AVAILABLE", "sourceLinks": [ { "registryType": "git" } ], "createdAt": "2024-01-15T10:30:00Z", "updatedAt": "2024-01-15T10:30:00Z", "licenseFile": "LICENSE.txt", "licenseText": "Apache License\nVersion 2.0, January 2004", "releaseNotesFile": "release-notes.md", "releaseNotesText": "## 12.4.10\n\n- Security fixes", "tagline": "Fast, reliable time-series storage", "site": "https://example.com/app", "organizationSite": "https://example.com"}Invalid lifecycle status
Forbidden — caller lacks required permission
Version not found