Skip to content
Privacy Assessments
Reference
API Reference

API reference

This feature requires Fides Cloud or Fides Enterprise. For more information, talk to our solutions team. (opens in a new tab)

All privacy assessment endpoints are under the base path /api/v1/plus/privacy-assessments. All requests require a valid Fides authentication token in the Authorization header.


Templates

List templates

GET /api/v1/plus/privacy-assessments/templates

Returns all available assessment templates.

Response fields:

FieldTypeDescription
idstringTemplate identifier (e.g., gdpr_dpia)
namestringHuman-readable template name
descriptionstringTemplate description and regulatory context
question_groupsarrayList of question group objects

Get template

GET /api/v1/plus/privacy-assessments/templates/{template_id}

Returns a single template including all question groups and questions.


Assessments

Create assessments

POST /api/v1/plus/privacy-assessments/

Queues generation jobs for one or more system-template combinations.

Request body:

FieldTypeRequiredDescription
template_idsarray of stringsYesOne or more template keys to generate
system_idsarray of stringsNoScope to specific systems. Omit for all systems.
ai_enabledbooleanNoEnable AI pre-fill. Default: true
high_risk_onlybooleanNoOnly generate for high-risk systems. Default: false

Response: Array of created assessment objects with task IDs.

List assessments

GET /api/v1/plus/privacy-assessments/

Returns all assessments. Supports filtering by status, template_id, and system_id query parameters.

Get assessment

GET /api/v1/plus/privacy-assessments/{assessment_id}

Returns a single assessment with all question groups and their current answers.

Key response fields:

FieldTypeDescription
idstringAssessment ID (prefix: pri_)
statusstringin_progress, completed, or outdated
risk_levelstring or nullhigh if the system matched high-risk triggers, otherwise null
completenessfloatPercentage of questions with complete answers (0–100)
template_idstringThe template this assessment was generated from
system_idstringThe system this assessment covers
question_groupsarrayQuestion groups with their questions and answers

Delete assessment

DELETE /api/v1/plus/privacy-assessments/{assessment_id}

Permanently deletes an assessment and all its answers and evidence. This action cannot be undone.


Re-evaluation

Re-evaluate assessments

POST /api/v1/plus/privacy-assessments/re-evaluate

Queues re-evaluation tasks for one or more outdated assessments.

Request body:

FieldTypeRequiredDescription
assessment_idsarray of stringsNoSpecific assessments to re-evaluate. Omit for all outdated.

Tasks

List tasks

GET /api/v1/plus/privacy-assessments/tasks

Returns all assessment generation and re-evaluation tasks.

Key response fields:

FieldTypeDescription
idstringTask ID
statusstringpending, running, complete, or failed
progressfloatCompletion percentage (0–100)
errorstringError message if status is failed
assessment_idstringID of the assessment created by this task

Get task

GET /api/v1/plus/privacy-assessments/tasks/{task_id}

Returns a single task.

Retry task

POST /api/v1/plus/privacy-assessments/tasks/{task_id}/retry

Retries a failed task. Returns the new task object.


Answers

Update answer

PUT /api/v1/plus/privacy-assessments/{assessment_id}/questions/{question_id}

Updates the answer for a specific question. Creates a new version with source user_input.

Request body:

FieldTypeRequiredDescription
answerstringYesThe new answer text

Get answer history

GET /api/v1/plus/privacy-assessments/{assessment_id}/questions/{question_id}/history

Returns all versions of a question's answer in reverse chronological order.

Key response fields per version:

FieldTypeDescription
idstringVersion ID
answerstringAnswer text at this version
sourcestringsystem, ai_analysis, user_input, or team_input
created_atdatetimeWhen this version was created
created_bystringUser ID or ai_agent

Revert answer

POST /api/v1/plus/privacy-assessments/{assessment_id}/questions/{question_id}/revert

Creates a new answer version that restores the text from a previous version.

Request body:

FieldTypeRequiredDescription
version_idstringYesThe version to restore

Audit log

Get audit log

GET /api/v1/plus/privacy-assessments/{assessment_id}/audit-log

Returns a complete audit log of all changes to an assessment in reverse chronological order.

Key response fields:

FieldTypeDescription
actorstringUser ID or ai_agent
actionstringType of change (e.g., answer_updated, answer_reverted)
question_idstringThe question that was changed
timestampdatetimeWhen the change occurred
detailsobjectAdditional context about the change

Evidence

Get evidence for a question group

GET /api/v1/plus/privacy-assessments/{assessment_id}/question-groups/{group_id}/evidence

Returns all evidence items for a question group, grouped by evidence type.

Key response fields:

FieldTypeDescription
typestringsystem, privacy_declaration, data_use, or dataset
labelstringDisplay label for the evidence item
valuestringThe cited data value
source_idstringID of the Fides record this evidence came from
created_atdatetimeWhen this evidence was recorded

Questionnaire

Send questionnaire

POST /api/v1/plus/privacy-assessments/{assessment_id}/questionnaire

Sends unanswered questions to the configured Slack channel.

Request body:

FieldTypeRequiredDescription
channelstringNoOverride the default Slack channel
question_idsarray of stringsNoSend only specific questions. Omit for all needs_input questions.

Get questionnaire status

GET /api/v1/plus/privacy-assessments/{assessment_id}/questionnaire

Returns the status of each sent question: whether it has a response and when the response was received.

Send reminders

POST /api/v1/plus/privacy-assessments/{assessment_id}/questionnaire/reminders

Sends Slack reminder messages to threads where no response has been received. Takes no request body.


Questionnaire tone

Get tone

GET /api/v1/plus/privacy-assessments/questionnaire/tone

Returns the current questionnaire tone prompt.

Update tone

PUT /api/v1/plus/privacy-assessments/questionnaire/tone

Request body:

FieldTypeRequiredDescription
tone_promptstringYesCustom instructions for how to phrase questions

Reset tone to default

POST /api/v1/plus/privacy-assessments/questionnaire/tone/reset

Resets the tone prompt to the system default.


PDF export

Export PDF

GET /api/v1/plus/privacy-assessments/{assessment_id}/pdf

Query parameters:

ParameterTypeDefaultDescription
modestringinternalExport mode: internal (with evidence) or external (clean Q&A)

Returns the assessment as a PDF file (Content-Type: application/pdf).


Configuration

Get configuration

GET /api/v1/plus/privacy-assessments/config

Returns the current assessment configuration.

Update configuration

PUT /api/v1/plus/privacy-assessments/config

Request body:

FieldTypeDescription
assessment_modelstringAI model identifier for assessment generation
chat_modelstringAI model identifier for questionnaire chat
reassessment_enabledbooleanEnable automatic periodic re-evaluation
reassessment_cronstringCron expression for reassessment schedule

Get configuration defaults

GET /api/v1/plus/privacy-assessments/config/defaults

Returns the default values for all configuration fields.