↑ ↓ to navigate · ↵ to open See all results
POST /api/v1/assets/{record}/restore

Restore a decommissioned asset

Undo a decommission and return the asset to service.

Last updated

Request

POST /api/v1/assets/{record}/restore

Requires assets:lifecycle. See token permissions. Every listed permission is required for this endpoint.

Send Authorization: Bearer YOUR_API_TOKEN and Accept: application/json. Send request bodies as JSON with Content-Type: application/json. This workflow write requires Idempotency-Key. Reuse the same key only when retrying the same action.

record is the numeric asset ID in your token’s organization.

Query parameters

This endpoint does not use query parameters.

Request body

Field Type Usage
confirmation boolean Required. Must be true.
event_date string Optional. ISO 8601 timestamp with seconds and an explicit offset, such as 2026-09-01T10:30:00-07:00. Defaults to now.
description string or null Optional. Plain text, up to 10,000 characters. Defaults to Decommission undone.

Example

Set ASSETCENTER_API_TOKEN as described in the quick start. Replace example record and option IDs with values from your organization. Set IDEMPOTENCY_KEY to a new UUID for this action; keep it for retries.

cURL / Bash
curl --request POST "https://my.assetcenter.app/api/v1/assets/123/restore" \
  --header "Authorization: Bearer $ASSETCENTER_API_TOKEN" \
  --header "Accept: application/json" \
  --header "Idempotency-Key: $IDEMPOTENCY_KEY" \
  --header "Content-Type: application/json" \
  --data '{"confirmation":true,"description":"Returned to service."}'

Response

201 Created. asset_event_ids contains the restore event recorded on the timeline.

JSON
{
  "data": {
    "asset_id": 123,
    "asset_event_ids": [
      905
    ],
    "subscription_event_ids": [],
    "todo": null,
    "tracker_disconnect_pending": false,
    "state": {
      "status": "available",
      "person_id": null,
      "location_id": null,
      "sublocation_id": null,
      "is_in_storage": false,
      "person_loan_due": null,
      "location_loan_due": null,
      "condition_id": null,
      "decommission_event_type_id": null
    },
    "attachments_count": 0,
    "comments_count": 0
  }
}

Behavior and constraints

The asset must be decommissioned; restoring an active asset returns 409. Restoring clears decommission_event_type_id and sets the status to deployed if the asset is still assigned to a person or a non-storage location, otherwise available. Assignments removed when the asset was decommissioned stay removed, and a storage location is kept. Restoring does not record an acquisition; use record an acquisition instead when the asset was reacquired.

A restored asset counts toward your plan’s asset limit again: when the plan is full, the request returns 422 with a plan error and nothing changes. The restore follows the same date rules as other state changes: future timestamps return 422, and a date earlier than a newer acquisition, condition, decommission, or assignment event returns 409. Attachments and comments are not accepted. Retrying with the same key replays the original response.

Errors

401 means the token is missing, expired, revoked, or not a customer API token. 403 means a required permission or administrator access is missing. 404 means the record or child record is unavailable in this organization. 422 identifies invalid or unsupported input; inspect the errors object when present. 409 indicates a conflicting state or concurrent change; inspect the message and refresh the record before deciding how to proceed. Reusing an idempotency key with a different method, path, or body also returns 409. 429 means a rate limit was reached. See error handling and rate limits.