Privacy
API reference descriptions are provided in English to preserve the exact published contract.
- GETList standing and released legal holds
legalHolds.list - POSTPlace a legal hold
legalHolds.create - POSTRelease a legal hold
legalHolds.release - GETList privacy requests
privacy.requests.list - POSTCreate a data-subject privacy request
privacy.requests.create - GETGet a privacy request
privacy.requests.retrieve - POSTLift the processing restriction a RESTRICTION request placed
privacy.requests.liftRestriction - GETGet the account retention policy
privacy.retentionPolicy.list - PUTSet the account retention policy
privacy.retentionPolicy.update - GETPreview what a retention policy would remove now
privacy.retentionPolicy.preview.list
List standing and released legal holds
GET/v1/accounts/{AC}/legal-holds
legalHolds.listSDK operation getV1AccountsByAcLegalHolds
Parameters
limitinteger (1–100)querycursorstring (max 2048 chars)query
Place a legal hold
POST/v1/accounts/{AC}/legal-holds
legalHolds.createSDK operation postV1AccountsByAcLegalHolds
The account's own compliance role (legal_holds:manage: OWNER, ADMIN, COMPLIANCE_MANAGER) places a hold on the account, a contact, a conversation, a campaign or a date range. While it stands, retention skips the data in scope and erasure requests that touch it are parked. Toutye staff holds need an approvalSid.
Request body
caseRefstring (max 128 chars)RequiredscopeobjectRequiredapprovalSidstring (AP… SID)customerVisibleboolean
Release a legal hold
POST/v1/accounts/{AC}/legal-holds/{holdId}/release
legalHolds.releaseSDK operation postV1AccountsByAcLegalHoldsByHoldidRelease
Releasing lets retention and parked erasures remove the data again. The account's compliance role releases only holds it placed, with a step-up token for LEGAL_HOLD_RELEASE; a hold Toutye placed is released only by Toutye compliance.
Parameters
holdIdstring (uuid)Required
Request body
caseRefstring (max 128 chars)RequiredstepUpTokenstring (max 256 chars)
List privacy requests
GET/v1/accounts/{AC}/privacy/requests
privacy.requests.listSDK operation getV1AccountsByAcPrivacyRequests
Parameters
limitinteger (1–100)querycursorstring (max 2048 chars)query
Create a data-subject privacy request
POST/v1/accounts/{AC}/privacy/requests
privacy.requests.createSDK operation postV1AccountsByAcPrivacyRequests
Request body
kindenumRequiredERASUREACCESSPORTABILITYRECTIFICATIONRESTRICTIONreasonstring (max 2000 chars)RequiredstepUpTokenstring (max 256 chars)RequiredsubjectobjectRequiredchangesobjectShow 4 child attributes
attributesobjectdisplayNamenull | string (max 128 chars)localenull | string (max 16 chars)timezonenull | string (max 64 chars)
Get a privacy request
GET/v1/accounts/{AC}/privacy/requests/{DR}
privacy.requests.retrieveSDK operation getV1AccountsByAcPrivacyRequestsByDr
Parameters
DRstring (DR… SID)Required
Lift the processing restriction a RESTRICTION request placed
POST/v1/accounts/{AC}/privacy/requests/{DR}/lift-restriction
privacy.requests.liftRestrictionSDK operation postV1AccountsByAcPrivacyRequestsByDrLiftRestriction
Parameters
DRstring (DR… SID)Required
Request body
reasonstring (max 2000 chars)RequiredstepUpTokenstring (max 256 chars)Required
Get the account retention policy
GET/v1/accounts/{AC}/privacy/retention-policy
privacy.retentionPolicy.listSDK operation getV1AccountsByAcPrivacyRetentionPolicy
A null window means the data is kept until the customer deletes it, which is the default for an account that never set a policy.
Set the account retention policy
PUT/v1/accounts/{AC}/privacy/retention-policy
privacy.retentionPolicy.updateSDK operation putV1AccountsByAcPrivacyRetentionPolicy
Content is kept 30 to 3650 days and message records 1 to 120 months; null keeps them until deleted. A change that shortens either window removes data and needs a step-up token for RETENTION_POLICY_CHANGE; the response says what the retention job will remove on its next run.
Request body
messageContentDaysinteger (30–3650) | nullRequiredmessageMetadataMonthsinteger (1–120) | nullRequiredanalyticsMonthsinteger (1–36)stepUpTokenstring (max 256 chars)
Preview what a retention policy would remove now
GET/v1/accounts/{AC}/privacy/retention-policy/preview
privacy.retentionPolicy.preview.listSDK operation getV1AccountsByAcPrivacyRetentionPolicyPreview
A dry run with the retention job's own windows and legal-hold rules. Nothing is changed. Omit a window to preview keeping that data until deleted.
Parameters
messageContentDaysinteger (30–3650)querymessageMetadataMonthsinteger (1–120)query