**Source URL:** https://limited.veevavault.dev/safety/vault-api/api-reference/26.3/object-lifecycle-workflows/object-record-user-actions/generate-redacted-copy

# Generate or Update Redacted Copy

Create or update a redacted copy on a `redaction__sys` record. This action is equivalent to the *Generate Redacted Copy* action or *Update Redacted Copy* action in the [Vault UI](https://platform.veevavault.help/en/lr/11989741).

Generation runs asynchronously: the call returns when the action starts, the record moves to the *Generating Redacted Copy* state while generation runs, and then Vault sends a notification on completion or failure. To poll for generation status, use [Retrieve Object Record User Actions](/safety/vault-api/api-reference/26.3/object-lifecycle-workflows/object-record-user-actions/retrieve-object-record-user-actions).

You must have a role on the document that includes the *Redact* permission on the original document's current lifecycle state. Learn more about [document redaction permissions](https://platform.veevavault.help/en/lr/11989742) in Vault Help.

<Endpoint path="/api/{version}/vobjects/redaction__sys/{record_id}/actions/Objectlifecyclestateuseraction.redaction__sys.redacting_source__sys.generate_redacted_copy_useraction__sys" method="POST" />

## Headers

| Name | Description |
| --- | --- |
| `Content-Type` | `application/x-www-form-urlencoded` |
| `Accept` | `application/json` (default) or `application/xml` |

## URI Path Parameters

<FieldTable>
| Name | Description |
| --- | --- |
| `record_id` | The ID of the `redaction__sys` record. |
</FieldTable>

## Request

<CodeExample title="">
```bash
curl -X POST -H "Authorization: {AUTH_VALUE}" \
-H "Content-Type: application/x-www-form-urlencoded" \
https://myvault.veevavault.com/api/v26.3/vobjects/redaction__sys/V94000000001001/actions/Objectlifecyclestateuseraction.redaction__sys.redacting_source__sys.generate_redacted_copy_useraction__sys
```
</CodeExample>

## Response

<CodeExample title="">
```json
{
    "responseStatus": "SUCCESS"
}
```
</CodeExample>

## Response Details

On `SUCCESS`, Vault starts the *Generate Redacted Copy* action asynchronously. The redaction record moves to the `generating_redacted_copy__sys` state while generation runs. Use the [Retrieve Object Record](/safety/vault-api/api-reference/26.3/vault-objects/retrieve-object-record) endpoint with `object_name: redaction__sys` to poll the record's `state__v` field until it returns `complete__sys`.

If any redaction annotation has untraceable placement (page-level displacement), the action returns an error without starting generation. Correct or remove the displaced annotation before retrying.

On failure, the record returns to the `redacting_source__sys` state. No partial redacted document is created. Any prior redacted document version remains intact as the current version.

---

**Previous:** [Initiate Object Action on Multiple Records](/safety/vault-api/api-reference/26.3/object-lifecycle-workflows/object-record-user-actions/initiate-object-action-on-multiple-records)  
**Next:** [Multi-Record Workflows](/safety/vault-api/api-reference/26.3/object-lifecycle-workflows/multi-record-workflows)