---
title: "PATCH /api/admin/company-documents/bulk-restore"
method: PATCH
path: "/api/admin/company-documents/bulk-restore"
tags: ["Administration/Company Documents"]
---

# PATCH /api/admin/company-documents/bulk-restore

`PATCH /api/admin/company-documents/bulk-restore`

## Request

- Base URL: `https://api.retraced.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.retraced.com/api/admin/company-documents/bulk-restore`
- Auth: none declared

Takes documents out of the archive. Archiving is per company, so each item names the `(documentId, companyId)` archive row to remove; another company that archived the same document keeps it archived. Any company may be named — the caller is Retraced staff. A pair with no archive row is skipped, so the call is idempotent. Records a RESTORED entry in the change log per restored pair and responds with the pairs this call restored. Migrated from the legacy api-service PATCH /v3/admin/company-documents/bulk-restore, which answered an empty 200.

## Request body

- object[]
  - `documentId` string, required
  - `companyId` string, required

## Response `200`

Default Response

- object
  - `metadata` object, required
    - `success` boolean, required: True when the request succeeded.
  - `data` object, required
    - `restored` object[], required
      - `documentId` string, required
      - `companyId` string, required

## Other responses

- `400`: Default Response
- `401`: Default Response
- `403`: Default Response

## Changes

> 108 revisions in range; 2 not diffed.

- **2026-10-14** `9ab01fbac88c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/retraced/apis/api-reference/changes/api/admin/company-documents/bulk-restore/patch.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) - [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) - [OpenAPI document](https://skmtc.dev/retraced/apis/api-reference/revisions/83309c4abd20?raw)
