API reference
Requests details
Privacy requests.
Find requests
GET
List the company's privacy requests, with filters.
Query parameters:
| Name | Type | Required | Description |
|---|---|---|---|
property_id |
string | No | Filter by property. |
profile_id |
string | No | Filter by end-user profile. |
country |
string | No | Two-letter country code filed under. |
type |
array | No | Filter by request type code(s). |
channel |
string | No | Submission channel (e.g. WIDGET, COMPLIANCE_CENTER). |
system_request_id |
integer | No | Filter by system DSR request (template) ID. |
system_request_group_id |
integer | No | Filter by system request group ID. |
status |
array | No | Filter by one or more statuses. |
processing_status |
string | No | Derived due-date filter on open requests. |
changed_by_id |
string | No | Filter by account ID that last changed it. |
is_confirmed |
boolean | No | Filter by confirmed state. |
is_closed |
boolean | No | Filter by closed state. |
is_verified |
boolean | No | Filter by end-user profile verified state. |
email |
string | No | Exact end-user email match (hashed lookup). |
created_at_start |
string | No | Created on or after this time. |
created_at_end |
string | No | Created on or before this time. |
received_at_start |
string | No | Received on or after this time (falls back to created time when no received time is set). |
received_at_end |
string | No | Received on or before this time (falls back to created time when no received time is set). |
due_at_start |
string | No | Due on or after this time. |
due_at_end |
string | No | Due on or before this time. |
search |
string | No | Exact match on email (if it contains '@') or request ID; not a content search. |
page |
integer | No | Page number. |
limit |
integer | No | Number of results per page. |
200List of requests.application/json
Pagination metadata for list responses.
Show properties
Present only when more pages exist.
Present only when not the first page.
Show properties
Possible values:
PENDING OPEN IN_PROGRESS CLOSEDThe owning company (when loaded).
The property (when loaded).
Account ID that last changed it (when not loaded).
Account that last changed it (when loaded).
Present only when not loaded.
System DSR request (template) this is based on (when loaded).
Present only when not loaded.
End-user profile that submitted it (when loaded).
Show properties
Request type codes (when loaded).
Associated processes (when loaded).
History entries (when loaded).
Request messages (when loaded).
Show properties
Possible values:
MESSAGE UPDATEThe message body.
True when the body is HTML.
Message author (account or profile), or null.
Present only when loaded with attachments.
get/admin/company/requests
GET /api/admin/company/requests HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Accept: */*
200List of requests.
{
"meta": {
"current_page": 1,
"next_page": 2,
"prev_page": 1
},
"result": [{
"id": "string",
"country": "string",
"state": "string",
"language": "string",
"channel": "string",
"status": "PENDING",
"is_closed": false,
"property_id": "string",
"company_id": "string",
"company": {},
"property": {},
"changed_by_id": "string",
"changed_by": {},
"system_request_id": 0,
"system_request": {},
"profile_id": "string",
"profile": {
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"avatar_url": "string",
"is_verified": false
},
"first_name": "string",
"last_name": "string",
"phone_number": "string",
"due_on": "string",
"received_at": "string",
"extended_due_on": "string",
"confirmed_at": "string",
"created_at": "string",
"updated_at": "string",
"type": ["string"],
"processes": [{}],
"history": [{}],
"messages": [{
"id": {},
"type": {},
"details": {},
"is_html": {},
"user": {},
"attachments": {},
"company_id": {},
"property_id": {},
"created_at": {},
"updated_at": {}
}]
}]
}Create request
POST
Create a privacy request.
Request bodyapplication/json
End-user profile the request is filed for.
System DSR request (template) this is based on.
Two-letter country code; must be a known system country, or `ZZ` (Other) which always gets a 30-day response time.
Region/state for geo-rule matching; overrides `state`.
Two-letter language code; stored upper-cased.
Submission channel (e.g. WIDGET, COMPLIANCE_CENTER).
Initial message body, sent as HTML.
HTML body for the initial message.
Attachment IDs for the initial message.
Send an email verification link to the data subject. When false, the request is created as OPEN and confirmed immediately.
When the DSR was received (not in the future). The response countdown starts from it; defaults to now.
200The created request.application/json
A privacy request.
Show properties
Possible values:
PENDING OPEN IN_PROGRESS CLOSEDThe owning company (when loaded).
The property (when loaded).
Account ID that last changed it (when not loaded).
Account that last changed it (when loaded).
Present only when not loaded.
System DSR request (template) this is based on (when loaded).
Present only when not loaded.
End-user profile that submitted it (when loaded).
Show properties
Request type codes (when loaded).
Associated processes (when loaded).
History entries (when loaded).
Request messages (when loaded).
Show properties
Possible values:
MESSAGE UPDATEThe message body.
True when the body is HTML.
Message author (account or profile), or null.
Present only when loaded with attachments.
post/admin/company/requests
POST /api/admin/company/requests HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Content-Type: application/json Accept: */* { "property_id": "string", "profile_id": "string", "system_request_id": 0, "country": "string", "state": "string", "region": "string", "language": "string", "channel": "string", "first_name": "string", "last_name": "string", "phone_number": "string", "message": "string", "message_html": "string", "attachments": [ "string" ], "verify": false, "received_at": "string" }
200The created request.
{
"result": {
"id": "string",
"country": "string",
"state": "string",
"language": "string",
"channel": "string",
"status": "PENDING",
"is_closed": false,
"property_id": "string",
"company_id": "string",
"company": {},
"property": {},
"changed_by_id": "string",
"changed_by": {},
"system_request_id": 0,
"system_request": {},
"profile_id": "string",
"profile": {
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"avatar_url": "string",
"is_verified": false
},
"first_name": "string",
"last_name": "string",
"phone_number": "string",
"due_on": "string",
"received_at": "string",
"extended_due_on": "string",
"confirmed_at": "string",
"created_at": "string",
"updated_at": "string",
"type": ["string"],
"processes": [{}],
"history": [{}],
"messages": [{
"id": "string",
"type": "MESSAGE",
"details": "string",
"is_html": false,
"user": {},
"attachments": [{}],
"company_id": "string",
"property_id": "string",
"created_at": "string",
"updated_at": "string"
}]
}
}Sign general request attachment
POST
Pre-sign an upload URL for a not-yet-created request's attachment.
Request bodyapplication/json
MIME type of the file to upload.
Property the attachment belongs to.
200Pre-signed attachment upload URL.application/json
Show properties
Pre-signed upload URL.
Attachment ID used on message create.
post/admin/company/requests/sign-attachment
POST /api/admin/company/requests/sign-attachment HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Content-Type: application/json Accept: */* { "mime": "string", "property_id": "string" }
200Pre-signed attachment upload URL.
{
"result": {
"url": "string",
"key": "string"
}
}Export requests
GET
Download matching requests as a JSON file. Requires super permission.
Query parameters:
| Name | Type | Required | Description |
|---|---|---|---|
property_id |
string | No | Filter by property. |
profile_id |
string | No | Filter by end-user profile. |
country |
string | No | Two-letter country code filed under. |
type |
array | No | Filter by request type code(s). |
channel |
string | No | Submission channel (e.g. WIDGET, COMPLIANCE_CENTER). |
status |
array | No | Filter by one or more statuses. |
processing_status |
string | No | Derived due-date filter on open requests. |
is_confirmed |
boolean | No | Filter by confirmed state. |
is_closed |
boolean | No | Filter by closed state. |
is_verified |
boolean | No | Filter by end-user profile verified state. |
email |
string | No | Exact end-user email match (hashed lookup). |
created_at_start |
string | No | Created on or after this time. |
created_at_end |
string | No | Created on or before this time. |
received_at_start |
string | No | Received on or after this time (falls back to created time when no received time is set). |
received_at_end |
string | No | Received on or before this time (falls back to created time when no received time is set). |
due_at_start |
string | No | Due on or after this time. |
due_at_end |
string | No | Due on or before this time. |
200A JSON file download of requests.application/json
Show properties
Possible values:
PENDING OPEN IN_PROGRESS CLOSEDThe owning company (when loaded).
The property (when loaded).
Account ID that last changed it (when not loaded).
Account that last changed it (when loaded).
Present only when not loaded.
System DSR request (template) this is based on (when loaded).
Present only when not loaded.
End-user profile that submitted it (when loaded).
Show properties
Request type codes (when loaded).
Associated processes (when loaded).
History entries (when loaded).
Request messages (when loaded).
Show properties
Possible values:
MESSAGE UPDATEThe message body.
True when the body is HTML.
Message author (account or profile), or null.
Present only when loaded with attachments.
get/admin/company/requests/export
GET /api/admin/company/requests/export HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Accept: */*
200A JSON file download of requests.
[{
"id": "string",
"country": "string",
"state": "string",
"language": "string",
"channel": "string",
"status": "PENDING",
"is_closed": false,
"property_id": "string",
"company_id": "string",
"company": {},
"property": {},
"changed_by_id": "string",
"changed_by": {},
"system_request_id": 0,
"system_request": {},
"profile_id": "string",
"profile": {
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"avatar_url": "string",
"is_verified": false
},
"first_name": "string",
"last_name": "string",
"phone_number": "string",
"due_on": "string",
"received_at": "string",
"extended_due_on": "string",
"confirmed_at": "string",
"created_at": "string",
"updated_at": "string",
"type": ["string"],
"processes": [{}],
"history": [{}],
"messages": [{
"id": "string",
"type": "MESSAGE",
"details": "string",
"is_html": false,
"user": {},
"attachments": [{}],
"company_id": "string",
"property_id": "string",
"created_at": "string",
"updated_at": "string"
}]
}]Read request
GET
Get a single request by ID.
Path parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The request ID. |
200The request.application/json
A privacy request.
Show properties
Possible values:
PENDING OPEN IN_PROGRESS CLOSEDThe owning company (when loaded).
The property (when loaded).
Account ID that last changed it (when not loaded).
Account that last changed it (when loaded).
Present only when not loaded.
System DSR request (template) this is based on (when loaded).
Present only when not loaded.
End-user profile that submitted it (when loaded).
Show properties
Request type codes (when loaded).
Associated processes (when loaded).
History entries (when loaded).
Request messages (when loaded).
Show properties
Possible values:
MESSAGE UPDATEThe message body.
True when the body is HTML.
Message author (account or profile), or null.
Present only when loaded with attachments.
get/admin/company/requests/{id}
GET /api/admin/company/requests/{id} HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Accept: */*
200The request.
{
"result": {
"id": "string",
"country": "string",
"state": "string",
"language": "string",
"channel": "string",
"status": "PENDING",
"is_closed": false,
"property_id": "string",
"company_id": "string",
"company": {},
"property": {},
"changed_by_id": "string",
"changed_by": {},
"system_request_id": 0,
"system_request": {},
"profile_id": "string",
"profile": {
"id": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"avatar_url": "string",
"is_verified": false
},
"first_name": "string",
"last_name": "string",
"phone_number": "string",
"due_on": "string",
"received_at": "string",
"extended_due_on": "string",
"confirmed_at": "string",
"created_at": "string",
"updated_at": "string",
"type": ["string"],
"processes": [{}],
"history": [{}],
"messages": [{
"id": "string",
"type": "MESSAGE",
"details": "string",
"is_html": false,
"user": {},
"attachments": [{}],
"company_id": "string",
"property_id": "string",
"created_at": "string",
"updated_at": "string"
}]
}
}Update request
PUT
Update a request's status, country/state, identity, or email.
Path parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The request ID. |
Request bodyapplication/json
Possible values:
PENDING OPEN IN_PROGRESS CLOSEDApplied only when profile has no email; triggers re-verification.
200Whether anything changed.application/json
Show properties
put/admin/company/requests/{id}
PUT /api/admin/company/requests/{id} HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Content-Type: application/json Accept: */* { "property_id": "string", "status": "PENDING", "country": "string", "state": "string", "email": "string", "first_name": "string", "last_name": "string", "phone_number": "string" }
200Whether anything changed.
{
"result": {
"changed": false
}
}Send request verification
POST
Resend the end-user verification email.
Path parameters:
| Name | Type | Required | Description |
|---|---|---|---|
id |
string | Yes | The request ID. |
```schema response 200 On success returns an empty object {} (no result field). result is false only when the profile has no email.
{"type":"object","properties":{"result":{"type":"boolean","description":"Present and false only when the profile has no email; absent on success."}}}
```http-response 200 On success returns an empty object `{}` (no `result` field). `result` is `false` only when the profile has no email.
{
"result": false
}
post/admin/company/requests/{id}/send-verification
POST /api/admin/company/requests/{id}/send-verification HTTP/1.1 Host: {instance}.clym.io Authorization: Bearer YOUR_SECRET_TOKEN Accept: */*
