Public REST/JSON reference
GDPR Responder API
GDPR / CCPA / DPDP DSAR fulfillment in one API. Receive a Data Subject Access Request, fan out queries across every source where you store data about the subject (DB, warehouse, support tickets, marketing platforms), compile the personal data into an exportable package (Access / Portability), or generate the erasure plan and execute it (Erasure / Right-to-be-Forgotten). Track the 30-day SLA and pull a compliance report for the regulator. Part of the Logic Igniter Developer & DevOps bundle.
Access boundary
These examples describe public API calls only. Use the service output to review, score, summarize, analyze, or recommend; do not treat the API reference as permission for an assistant to write, send, publish, charge, schedule, notify, delete, or modify records.
Base URL
https://api.logicigniter.comAuth
Authorization: Bearer YOUR_API_KEYVersion
OpenAPI 3.0.3 · 1.0.0Operations rendered
9
Response models rendered
17
/api/v1/gdprresponder/requestsList DSARs
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
page_size | query | integer | |
page_token | query | string |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/gdprresponder/requests" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
Page of DSARs
401ErrorMissing or invalid API key.
/api/v1/gdprresponder/requestsCreate a DSAR
Register a new Data Subject Access Request. The 30-day deadline_at is computed from received_at automatically. Status starts as RECEIVED.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request body (required)
Schema: CreateRequest
Sample JSON payload for evaluation.
{
"subject_email": "[email protected]",
"request_type": "DSAR_REQUEST_TYPE_ACCESS",
"source": "[email protected] inbox"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/gdprresponder/requests" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"subject_email":"[email protected]","request_type":"DSAR_REQUEST_TYPE_ACCESS","source":"[email protected] inbox"}'/api/v1/gdprresponder/requests/{id}Get DSAR detail with per-source query state
Returns the DSAR plus its DataQuery records — one per data source — so you can see which sources have completed, which are pending, and which failed.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/gdprresponder/requests/:id" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
/api/v1/gdprresponder/requests/{id}/processKick off processing pipeline
Runs the full pipeline async: classify → query-sources → compile (or erasure-plan, depending on request_type). Returns immediately with success=true if the pipeline started.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/gdprresponder/requests/:id/process" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/gdprresponder/requests/{id}/query-sourcesRe-query data sources
Fan out a fresh query to every connected data source. Returns the count of sources queried and total records found across them. Useful when a new source is connected mid-DSAR.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/gdprresponder/requests/:id/query-sources" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
200QueryResultQuery result
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. Free tier covers DSAR receipt + listing; paid plans unlock processing pipeline, erasure plans, and compliance reports.
404ErrorDSAR not found
/api/v1/gdprresponder/requests/{id}/compile-packageCompile the data package (Access / Portability)
Render every record found in queries into an exportable package. Format options: `json`, `csv`, `pdf`. Returns the file_path for download.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request body (required)
Schema: CompileRequest
Sample JSON payload for evaluation.
{
"format": "json"
}Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/gdprresponder/requests/:id/compile-package" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"format":"json"}'Responses
201DataPackageData package compiled
400ErrorUnsupported format or DSAR not yet queried
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. Free tier covers DSAR receipt + listing; paid plans unlock processing pipeline, erasure plans, and compliance reports.
404ErrorDSAR not found
/api/v1/gdprresponder/requests/{id}/erasure-planGenerate the erasure plan (Right-to-be-Forgotten)
Produce the per-source erasure plan listing each data source where the subject's data lives. Status starts as GENERATED; flips to EXECUTED once the plan has been run by your data team.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
idrequired | path | string (uuid) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X POST "https://api.logicigniter.com/api/v1/gdprresponder/requests/:id/erasure-plan" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Responses
201ErasurePlanErasure plan
400ErrorWrong request_type — only DSAR_REQUEST_TYPE_ERASURE generates an erasure plan
401ErrorMissing or invalid API key.
402ErrorEndpoint requires an active subscription. Free tier covers DSAR receipt + listing; paid plans unlock processing pipeline, erasure plans, and compliance reports.
404ErrorDSAR not found
/api/v1/gdprresponder/compliance/slaSLA status across open DSARs
Aggregate counts: total_open, within_sla (deadline > 7d away), approaching_deadline (≤7d), breached (past deadline_at). The standard view for the privacy team's daily standup.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/gdprresponder/compliance/sla" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
/api/v1/gdprresponder/compliance/reportCompliance report for a date range
Aggregate metrics across requests received in the date window: total count, average response time in days, completion rate, count of SLA breaches. Suitable for handing to a regulator.
Public REST/JSON operation
This operation is documented for direct API evaluation. It describes the public payload and response contract only; assistant/MCP usage remains read only and is covered in the MCP guide.
Parameters
| Name | In | Type | Notes |
|---|---|---|---|
start_date | query | string (date-time) | |
end_date | query | string (date-time) |
Request example
Replace placeholders with your confirmed access key and your own business data.
curl -X GET "https://api.logicigniter.com/api/v1/gdprresponder/compliance/report" \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Accept: application/json"
Data models
Error
| Field | Type | Notes |
|---|---|---|
errorrequired | string |
DSARRequestType
DSARStatus
QueryStatus
PlanStatus
CreateRequest
| Field | Type | Notes |
|---|---|---|
subject_emailrequired | string (email) | |
request_typerequired | DSARRequestType | |
source | string |
DSAR
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
subject_email | string (email) | |
request_type | DSARRequestType | |
source | string | |
status | DSARStatus | |
received_at | string (date-time) | |
deadline_at | string (date-time) |
DSARsResponse
| Field | Type | Notes |
|---|---|---|
items | array<DSAR> | |
next_page_token | string | |
total_count | integer |
DataQuery
| Field | Type | Notes |
|---|---|---|
source_id | string | |
source_name | string | |
query_status | QueryStatus | |
records_found | integer |
DSARDetail
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
subject_email | string (email) | |
request_type | DSARRequestType | |
status | DSARStatus | |
queries | array<DataQuery> | |
received_at | string (date-time) | |
deadline_at | string (date-time) |
ProcessResult
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
success | boolean | |
sources_queried | integer |
QueryResult
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
sources_queried | integer | |
total_records | integer |
CompileRequest
| Field | Type | Notes |
|---|---|---|
formatrequired | string |
DataPackage
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
dsar_id | string (uuid) | |
format | string | |
file_path | string | |
compiled_at | string (date-time) |
ErasurePlan
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
dsar_id | string (uuid) | |
sources | array<string> | |
status | PlanStatus |
SLAStatus
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
total_open | integer | |
within_sla | integer | |
approaching_deadline | integer | |
breached | integer |
ComplianceReport
| Field | Type | Notes |
|---|---|---|
id | string (uuid) | |
total_requests | integer | |
avg_response_days | number (double) | |
completion_rate | number (double) | |
sla_breaches | integer |

