For the complete documentation index, see llms.txt. This page is also available as Markdown.

Registry V3 Lifecycle

V3 lifecycle rule endpoints

List lifecycle executions

get

Lists lifecycle executions for the given scope, optionally filtered by policy.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

pageinteger · int64Optional

The page number for pagination (0-indexed).

Used to navigate through large result sets. Combined with size parameter to control which subset of results to return.

Example: page=0 returns the first page, page=1 returns the second page

Default: 0
sizeinteger · int64 · min: 1 · max: 100Optional

The number of items to return per page.

Controls the page size for paginated results.

Example: size=50 returns up to 50 items per page

Default: 20
search_termstringOptional

Search term for filtering results.

Example: search_term=prod might match keys like "production", "prod-env", etc.

scopestring · enumOptional

Scope of lifecycle rules/executions to list

  • none – current space only (default)
  • ancestors – current space plus all parent spaces
  • descendants – current space plus all child spaces

If omitted, none is assumed.

Possible values:
package_typesstring[]Optional

Registry Package Type

registry_idsstring · uuid[]Optional

Unique id for the registry. Note: This parameter should have one id if package query param is provided

Example: ["12345678-1234-1234-1234-123456789012","aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"]
statusstring · enumOptional

Filter executions by status.

Possible values:
Responses
200

Response for list lifecycle executions

application/json
hasMorebooleanRequired
pageinteger · int64Required
sizeinteger · int64Required
get/v3/lifecycle/executions
GET /api/v3/lifecycle/executions?account_identifier=text HTTP/1.1
Accept: */*
{
  "hasMore": true,
  "items": [
    {
      "completedAt": 1,
      "createdAt": 1,
      "id": "text",
      "message": "text",
      "orgIdentifier": "text",
      "packagesAffected": 1,
      "policyId": "text",
      "policyName": "text",
      "projectIdentifier": "text",
      "protected": 1,
      "registriesAffected": 1,
      "startedAt": 1,
      "status": "PENDING",
      "storageReclaimed": "text",
      "triggerType": "SCHEDULED",
      "versionsDeleted": 1
    }
  ],
  "page": 1,
  "size": 1
}

Trigger a dry-run lifecycle execution

post

Triggers a dry-run execution for a lifecycle rule.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

Body
policyIdstringRequired
Responses
201

Lifecycle dry-run execution created successfully

application/json
completedAtinteger · int64Optional
createdAtinteger · int64Required
idstringRequired
messagestringOptional
orgIdentifierstringOptional
packagesAffectedinteger · int64Required
policyIdstringRequired
policyNamestringRequired

Name of the lifecycle policy that triggered this execution.

projectIdentifierstringOptional
protectedinteger · int64Required
registriesAffectedinteger · int64Required
startedAtinteger · int64Optional
statusstring · enumRequiredPossible values:
storageReclaimedstringRequired
triggerTypestring · enumRequiredPossible values:
versionsDeletedinteger · int64Required
post/v3/lifecycle/executions
POST /api/v3/lifecycle/executions?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "policyId": "text"
}
{
  "completedAt": 1,
  "createdAt": 1,
  "id": "text",
  "message": "text",
  "orgIdentifier": "text",
  "packagesAffected": 1,
  "policyId": "text",
  "policyName": "text",
  "projectIdentifier": "text",
  "protected": 1,
  "registriesAffected": 1,
  "startedAt": 1,
  "status": "PENDING",
  "storageReclaimed": "text",
  "triggerType": "SCHEDULED",
  "versionsDeleted": 1
}

Get a lifecycle execution

get

Returns a specific lifecycle execution by ID.

Path parameters
executionIdstringRequired

The execution ID.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

Responses
200

Lifecycle execution response

application/json
completedAtinteger · int64Optional
createdAtinteger · int64Required
idstringRequired
messagestringOptional
orgIdentifierstringOptional
packagesAffectedinteger · int64Required
policyIdstringRequired
policyNamestringRequired

Name of the lifecycle policy that triggered this execution.

projectIdentifierstringOptional
protectedinteger · int64Required
registriesAffectedinteger · int64Required
startedAtinteger · int64Optional
statusstring · enumRequiredPossible values:
storageReclaimedstringRequired
triggerTypestring · enumRequiredPossible values:
versionsDeletedinteger · int64Required
get/v3/lifecycle/executions/{executionId}
GET /api/v3/lifecycle/executions/{executionId}?account_identifier=text HTTP/1.1
Accept: */*
{
  "completedAt": 1,
  "createdAt": 1,
  "id": "text",
  "message": "text",
  "orgIdentifier": "text",
  "packagesAffected": 1,
  "policyId": "text",
  "policyName": "text",
  "projectIdentifier": "text",
  "protected": 1,
  "registriesAffected": 1,
  "startedAt": 1,
  "status": "PENDING",
  "storageReclaimed": "text",
  "triggerType": "SCHEDULED",
  "versionsDeleted": 1
}

List lifecycle execution items

get

Lists the artifact-level items evaluated during a lifecycle execution.

Path parameters
executionIdstringRequired

The execution ID.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

pageinteger · int64Optional

The page number for pagination (0-indexed).

Used to navigate through large result sets. Combined with size parameter to control which subset of results to return.

Example: page=0 returns the first page, page=1 returns the second page

Default: 0
sizeinteger · int64 · min: 1 · max: 100Optional

The number of items to return per page.

Controls the page size for paginated results.

Example: size=50 returns up to 50 items per page

Default: 20
search_termstringOptional

Search term for filtering results.

Example: search_term=prod might match keys like "production", "prod-env", etc.

package_typesstring[]Optional

Registry Package Type

registry_idsstring · uuid[]Optional

Unique id for the registry. Note: This parameter should have one id if package query param is provided

Example: ["12345678-1234-1234-1234-123456789012","aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"]
statusstring · enumOptional

Filter items by outcome status.

Possible values:
scopestring · enumOptional

Scope of lifecycle rules/executions to list

  • none – current space only (default)
  • ancestors – current space plus all parent spaces
  • descendants – current space plus all child spaces

If omitted, none is assumed.

Possible values:
Responses
200

Execution items list.

application/json
hasMorebooleanRequired
pageinteger · int64Required
sizeinteger · int64Required
get/v3/lifecycle/executions/{executionId}/items
GET /api/v3/lifecycle/executions/{executionId}/items?account_identifier=text HTTP/1.1
Accept: */*
{
  "hasMore": true,
  "items": [
    {
      "lastDownloadedAt": 1,
      "orgIdentifier": "text",
      "packageName": "text",
      "packageType": "DOCKER",
      "projectIdentifier": "text",
      "reason": "text",
      "registryName": "text",
      "size": "text",
      "status": "PROTECTED",
      "version": "text",
      "versionId": "text"
    }
  ],
  "page": 1,
  "size": 1
}

List lifecycle rules

get

Lists lifecycle rules for the given scope.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

search_termstringOptional

Search term for filtering results.

Example: search_term=prod might match keys like "production", "prod-env", etc.

pageinteger · int64Optional

The page number for pagination (0-indexed).

Used to navigate through large result sets. Combined with size parameter to control which subset of results to return.

Example: page=0 returns the first page, page=1 returns the second page

Default: 0
sizeinteger · int64 · min: 1 · max: 100Optional

The number of items to return per page.

Controls the page size for paginated results.

Example: size=50 returns up to 50 items per page

Default: 20
sortstringOptional

The sort for the results. Accepted pattern: sort_field:sort_order where sort_field is the field name and sort_order is either asc or desc.

Examples: name:asc, modifiedAt:desc

scopestring · enumOptional

Scope of lifecycle rules/executions to list

  • none – current space only (default)
  • ancestors – current space plus all parent spaces
  • descendants – current space plus all child spaces

If omitted, none is assumed.

Possible values:
package_typesstring[]Optional

Registry Package Type

registry_idsstring · uuid[]Optional

Unique id for the registry. Note: This parameter should have one id if package query param is provided

Example: ["12345678-1234-1234-1234-123456789012","aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"]
actionstring · enumOptional

Lifecycle action

Possible values:
Responses
200

Response for list lifecycle rules

application/json
hasMorebooleanRequired
pageinteger · int64Required
sizeinteger · int64Required
get/v3/lifecycle/rules
GET /api/v3/lifecycle/rules?account_identifier=text HTTP/1.1
Accept: */*
{
  "hasMore": true,
  "items": [
    {
      "action": "DELETE",
      "applyTo": {
        "mode": "EXPLICIT",
        "registries": [
          "text"
        ]
      },
      "createdAt": 1,
      "createdBy": {
        "display_name": "text",
        "email": "text",
        "type": "text",
        "uid": "text"
      },
      "criteria": {
        "match": "ANY",
        "rules": [
          {
            "config": {
              "unit": "DAYS",
              "value": 1
            },
            "type": "KEEP_LAST_N"
          }
        ]
      },
      "description": "text",
      "enabled": true,
      "filterConfig": {
        "packageNameAllowedPattern": [
          "text"
        ],
        "packageType": "DOCKER",
        "tagNameAllowedPattern": [
          "text"
        ]
      },
      "hasLocalAssignment": true,
      "id": "text",
      "lastRunAt": 1,
      "name": "text",
      "nextRunAt": 1,
      "orgIdentifier": "text",
      "packageType": "text",
      "projectIdentifier": "text",
      "schedule": {
        "expression": "text",
        "timezone": "text"
      },
      "updatedAt": 1,
      "updatedBy": {
        "display_name": "text",
        "email": "text",
        "type": "text",
        "uid": "text"
      }
    }
  ],
  "page": 1,
  "size": 1
}

Create a lifecycle rule

post

Creates a new lifecycle rule.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

Body
actionstring · enumRequiredPossible values:
descriptionstringOptional
filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
namestringRequired
packageTypestringOptional
Responses
201

Lifecycle rule created successfully

application/json
actionstring · enumRequiredPossible values:
createdAtinteger · int64Optional
descriptionstringOptional
enabledbooleanRequired

Whether the lifecycle rule is currently enabled.

filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
hasLocalAssignmentbooleanRequired

Whether the lifecycle rule has at least one assignment with parent_id matching the filter's ParentID.

idstringRequired
lastRunAtinteger · int64Optional

Epoch milliseconds of the last execution, if any.

namestringRequired
nextRunAtinteger · int64Optional

Epoch milliseconds of the next scheduled execution, if any.

orgIdentifierstringOptional
packageTypestringOptional
projectIdentifierstringOptional
updatedAtinteger · int64Optional
post/v3/lifecycle/rules
POST /api/v3/lifecycle/rules?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 383

{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "name": "text",
  "packageType": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  }
}
{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "createdAt": 1,
  "createdBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "enabled": true,
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "hasLocalAssignment": true,
  "id": "text",
  "lastRunAt": 1,
  "name": "text",
  "nextRunAt": 1,
  "orgIdentifier": "text",
  "packageType": "text",
  "projectIdentifier": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  },
  "updatedAt": 1,
  "updatedBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  }
}

Get a lifecycle rule

get

Returns a specific lifecycle rule by ID.

Path parameters
idstringRequired
Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

Responses
200

Lifecycle rule response

application/json
actionstring · enumRequiredPossible values:
createdAtinteger · int64Optional
descriptionstringOptional
enabledbooleanRequired

Whether the lifecycle rule is currently enabled.

filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
hasLocalAssignmentbooleanRequired

Whether the lifecycle rule has at least one assignment with parent_id matching the filter's ParentID.

idstringRequired
lastRunAtinteger · int64Optional

Epoch milliseconds of the last execution, if any.

namestringRequired
nextRunAtinteger · int64Optional

Epoch milliseconds of the next scheduled execution, if any.

orgIdentifierstringOptional
packageTypestringOptional
projectIdentifierstringOptional
updatedAtinteger · int64Optional
get/v3/lifecycle/rules/{id}
GET /api/v3/lifecycle/rules/{id}?account_identifier=text HTTP/1.1
Accept: */*
{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "createdAt": 1,
  "createdBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "enabled": true,
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "hasLocalAssignment": true,
  "id": "text",
  "lastRunAt": 1,
  "name": "text",
  "nextRunAt": 1,
  "orgIdentifier": "text",
  "packageType": "text",
  "projectIdentifier": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  },
  "updatedAt": 1,
  "updatedBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  }
}

Update a lifecycle rule

put

Updates an existing lifecycle rule.

Path parameters
idstringRequired
Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

Body
actionstring · enumRequiredPossible values:
descriptionstringOptional
filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
namestringRequired
packageTypestringOptional
Responses
200

Lifecycle rule updated successfully

application/json
actionstring · enumRequiredPossible values:
createdAtinteger · int64Optional
descriptionstringOptional
enabledbooleanRequired

Whether the lifecycle rule is currently enabled.

filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
hasLocalAssignmentbooleanRequired

Whether the lifecycle rule has at least one assignment with parent_id matching the filter's ParentID.

idstringRequired
lastRunAtinteger · int64Optional

Epoch milliseconds of the last execution, if any.

namestringRequired
nextRunAtinteger · int64Optional

Epoch milliseconds of the next scheduled execution, if any.

orgIdentifierstringOptional
packageTypestringOptional
projectIdentifierstringOptional
updatedAtinteger · int64Optional
put/v3/lifecycle/rules/{id}
PUT /api/v3/lifecycle/rules/{id}?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 383

{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "name": "text",
  "packageType": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  }
}
{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "createdAt": 1,
  "createdBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "enabled": true,
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "hasLocalAssignment": true,
  "id": "text",
  "lastRunAt": 1,
  "name": "text",
  "nextRunAt": 1,
  "orgIdentifier": "text",
  "packageType": "text",
  "projectIdentifier": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  },
  "updatedAt": 1,
  "updatedBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  }
}

Delete a lifecycle rule

delete

Deletes a lifecycle rule. Only the owner scope may delete.

Path parameters
idstringRequired
Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

Responses
204

Lifecycle rule deleted successfully.

No content

delete/v3/lifecycle/rules/{id}
DELETE /api/v3/lifecycle/rules/{id}?account_identifier=text HTTP/1.1
Accept: */*

No content

Partially update a lifecycle rule

patch

Partially updates a lifecycle rule. Only provided fields are modified.

Path parameters
idstringRequired
Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

Body

Partial update body for a lifecycle rule. Only provided fields are updated.

actionstring · enumOptionalPossible values:
descriptionstringOptional
enabledbooleanOptional

Enable or disable the lifecycle rule.

filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
namestringOptional
packageTypestringOptional
Responses
200

Lifecycle rule response

application/json
actionstring · enumRequiredPossible values:
createdAtinteger · int64Optional
descriptionstringOptional
enabledbooleanRequired

Whether the lifecycle rule is currently enabled.

filterConfigone ofOptional

Filter configuration for a lifecycle rule, discriminated by packageType. Set packageType to select the correct variant: DOCKER, MAVEN, HUGGINGFACE, or any other supported type (generic variant).

or
or
or
hasLocalAssignmentbooleanRequired

Whether the lifecycle rule has at least one assignment with parent_id matching the filter's ParentID.

idstringRequired
lastRunAtinteger · int64Optional

Epoch milliseconds of the last execution, if any.

namestringRequired
nextRunAtinteger · int64Optional

Epoch milliseconds of the next scheduled execution, if any.

orgIdentifierstringOptional
packageTypestringOptional
projectIdentifierstringOptional
updatedAtinteger · int64Optional
patch/v3/lifecycle/rules/{id}
PATCH /api/v3/lifecycle/rules/{id}?account_identifier=text HTTP/1.1
Content-Type: application/json
Accept: */*
Content-Length: 398

{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "enabled": true,
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "name": "text",
  "packageType": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  }
}
{
  "action": "DELETE",
  "applyTo": {
    "mode": "EXPLICIT",
    "registries": [
      "text"
    ]
  },
  "createdAt": 1,
  "createdBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  },
  "criteria": {
    "match": "ANY",
    "rules": [
      {
        "config": {
          "unit": "DAYS",
          "value": 1
        },
        "type": "KEEP_LAST_N"
      }
    ]
  },
  "description": "text",
  "enabled": true,
  "filterConfig": {
    "packageNameAllowedPattern": [
      "text"
    ],
    "packageType": "DOCKER",
    "tagNameAllowedPattern": [
      "text"
    ]
  },
  "hasLocalAssignment": true,
  "id": "text",
  "lastRunAt": 1,
  "name": "text",
  "nextRunAt": 1,
  "orgIdentifier": "text",
  "packageType": "text",
  "projectIdentifier": "text",
  "schedule": {
    "expression": "text",
    "timezone": "text"
  },
  "updatedAt": 1,
  "updatedBy": {
    "display_name": "text",
    "email": "text",
    "type": "text",
    "uid": "text"
  }
}

Get lifecycle stats

get

Returns aggregate lifecycle execution metrics for the given scope.

Query parameters
account_identifierstringRequired

Unique identifier for the Harness account.

org_identifierstringOptional

Unique identifier for the organization within the account.

Example: default or engineering_org

project_identifierstringOptional

Unique identifier for the project within the organization.

Example: my_project or frontend_services

search_termstringOptional

Search term for filtering results.

Example: search_term=prod might match keys like "production", "prod-env", etc.

scopestring · enumOptional

Scope of lifecycle rules/executions to list

  • none – current space only (default)
  • ancestors – current space plus all parent spaces
  • descendants – current space plus all child spaces

If omitted, none is assumed.

Possible values:
package_typesstring[]Optional

Registry Package Type

registry_idsstring · uuid[]Optional

Unique id for the registry. Note: This parameter should have one id if package query param is provided

Example: ["12345678-1234-1234-1234-123456789012","aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee"]
actionstring · enumOptional

Lifecycle action

Possible values:
Responses
200

Lifecycle stats.

application/json

Aggregate lifecycle execution metrics for the requested scope.

artifactsCleanedinteger · int64Required

Total artifact versions deleted across all executions.

executionsLast30Daysinteger · int64Required

Number of executions that ran in the last 30 days.

storageReclaimedstringRequired

Total storage reclaimed (bytes) across all executions.

get/v3/lifecycle/stats
GET /api/v3/lifecycle/stats?account_identifier=text HTTP/1.1
Accept: */*
{
  "artifactsCleaned": 1,
  "executionsLast30Days": 1,
  "storageReclaimed": "text"
}

Last updated

Was this helpful?