# Lifecycle

The Lifecycle endpoint is used to manage the entity lifecycle and validate user permissions to perform various actions.

## Retrieve lifecycle actions

 - [GET /api/entities/{id}/lifecycle](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/entitylifecycle.md): Retrieves the lifecycle actions that are available for the entity based on its permissions (independent of its current state). For example, if a user is allowed to submit an entity, the submit action will be returned in the list, even if the entity has already been approved.

## Submit an entity for review

 - [POST /api/entities/{id}/lifecycle/submit](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/submitentity.md): Submits an entity in the created state for review allowing the user to approve or reject it. Requires the Submit permission.

## Publish an entity directly

 - [POST /api/entities/{id}/lifecycle/directpublish](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/directpublishentity.md): Publishes an entity with the created state directly, without going through the approval process. Requires the DirectPublish permission.

## Approve an entity

 - [POST /api/entities/{id}/lifecycle/approve](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/approveentity.md): Approves an entity in a review state. Requires the Approve permission.

## Reject an entity

 - [POST /api/entities/{id}/lifecycle/reject](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/rejectentity.md): Rejects an entity in the review state. A reason for the rejection must be provided. Requires theReject permission.

## Archive an entity

 - [POST /api/entities/{id}/lifecycle/archive](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/archiveentity.md): Archives an approved entity. The entity can be restored if needed. Requires the Archive permission.

## Restore an entity from the archive

 - [POST /api/entities/{id}/lifecycle/restore](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/restoreentity.md): Restores an archived entity to the approved state. Requires the Archive permission.

## Restore an entity with a deleted state

 - [POST /api/entities/{id}/lifecycle/restorefromdelete](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/restorefromdelete.md): Restores an entity that has been soft deleted. Hard deleted entities cannot be restored. Requires the Delete permission.

## Soft delete an entity

 - [POST /api/entities/{id}/lifecycle/softdeleteentity](https://api-docs.sitecore.com/ch/entities-api/v1.0/lifecycle/softdeleteentity.md): Deletes an entity, marking it as deleted but without permanently removing it from the system (soft deletion). This action can be reversed by restoring the entity later. Requires the Delete permission.

