Change document retention or lifecycle
curl --request POST \
--url https://api.truthlocks.com/v1/vault/documents/{id}/actions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "<string>",
"confirmed": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>', confirmed: true})
};
fetch('https://api.truthlocks.com/v1/vault/documents/{id}/actions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/vault/documents/{id}/actions"
payload = {
"reason": "<string>",
"confirmed": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/vault/documents/{id}/actions"
payload := strings.NewReader("{\n \"reason\": \"<string>\",\n \"confirmed\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"status": "confirmed"
}Workspace document vault
Change document retention or lifecycle
Requires a signed-in workspace member bearer session. API keys are not accepted. Workspace and environment come from the validated session. Changes require the workspace owner or administrator.
POST
/
v1
/
vault
/
documents
/
{id}
/
actions
Change document retention or lifecycle
curl --request POST \
--url https://api.truthlocks.com/v1/vault/documents/{id}/actions \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "<string>",
"confirmed": true
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: '<string>', confirmed: true})
};
fetch('https://api.truthlocks.com/v1/vault/documents/{id}/actions', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.truthlocks.com/v1/vault/documents/{id}/actions"
payload = {
"reason": "<string>",
"confirmed": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.truthlocks.com/v1/vault/documents/{id}/actions"
payload := strings.NewReader("{\n \"reason\": \"<string>\",\n \"confirmed\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"status": "confirmed"
}Use a valid workspace bearer session. An API key cannot authorize this endpoint. The current workspace and environment are derived from that session.
See information handling for file limits, versioning, holds, retention and disposal behavior.
Authorizations
JWT for user-initiated operations
Path Parameters
Document identifier in the current workspace environment.
Body
application/json
Available options:
archive, restore, retention, purge Required string length:
10 - 2000Confirm the reviewed action. Purge permanently removes eligible file contents.
Available options:
true For retention actions. An active hold blocks purge.
For retention actions. Include the existing date when changing a hold. An existing date cannot be shortened or cleared.
Response
Successful response
Available options:
confirmed 
