- Returns paginated list of assessments with optional filtering. Only returns current versions - superseded assessments are excluded.
- Create a new assessment from a template, optionally linked to systems. The assessment starts in not_started status. The template must be a Risk Monitor template accessible to the customer. You can optionally attribute the assessment to a creator and invite contributors by email; both fields reference existing active users in your account.
- Returns full assessment detail including the form with current answers, per-question visibility flags, progress, and approval details. Use this endpoint to track an assessment through to approval, including who approval is assigned to and who approved it.
- Atomically submits one or more answers for an assessment. All answers are validated before any are persisted — if any answer is invalid, the entire batch is rejected. Requires a last_updated token for optimistic concurrency control.
- Sets the assessment approver from an email, so a procurement system driving assessments over the API can route sign-off without a user assigning the approver in the app. The email must match an existing active user who is eligible to approve this assessment — one holding an approver role, or a contributor or member of the assessment; otherwise the request is rejected. This only routes approval to the named person — it does not approve the assessment. It cannot be used once the assessment is approved or cancelled.
- Approves an assessment, so a procurement system driving assessments over the API can sign off without a user opening the app. This performs the same status transition as approving in the app: every required question must be answered first, and the same downstream effects fire. This endpoint is a service-level call, and its authorization differs from approving in the app. In the app, the approval is gated on the signed-in user's own permission to approve. Over the API, the gate is the API token's write access — the token is what is authorized to approve. The approved_by_email you supply is used only for attribution: it records who the approval is credited to, both as the sign-off name and as the actor of the change-history entry (which is marked as API-originated). It can name any active user in your account, including one who would not be permitted to approve the assessment in the app. Any caller holding a write-enabled token can therefore approve on behalf of any active user, so treat the token as the trust boundary. The email must still match exactly one active user in your account, or the request is rejected and nothing is approved. It cannot be used once the assessment is approved or cancelled. Supply the optional last_updated token for optimistic concurrency; omitting it skips the concurrency check and approves the latest assessment state at request time.
- Uploads a document to an assessment. The document is attributed to one of your active users, identified by uploader_email — not to the API key that made the request — so the upload is credited to a person. By default the document is attached to the assessment as a whole; supply tags to attach it to specific questions instead. Send the request as multipart/form-data. The assessment must be in an editable status; uploads to an approved or cancelled assessment are rejected.
- Download a completed assessment as a PDF document. Only available for assessments in approved status.
- Returns paginated list of assessment templates available to the customer, including platform defaults.
- Returns full assessment template detail including sections and question schema. Divider-type questions are excluded.
- Returns a list of monthly consent audit log export files. Each export covers one calendar month and is updated nightly. Use the export id with the download endpoint to retrieve the file contents.
- Downloads the contents of a specific monthly audit log export file. The response is a JSON file containing an array of individual consent audit log records, returned as an attachment.
- GET a list of integrations for an authenticated agent.
- GET an RDD integration for an authenticated agent.
- POST RDD integration details for a system to be scanned using an authenticated agent. If successful, the newly created integration's ID will be returned. Note that names are required to be globally unique. Here, any unique identifier like a hostname, ARN, or service name that is easily associated with a unique system can be used.
- UPDATE RDD integration details for a system to be scanned using an authenticated agent. Note that names are required to be globally unique. Here, any unique identifier like a hostname, ARN, or service name that is easily associated with a unique system can be used.
- DELETE an RDD integration for an authenticated agent
- Get a list of opt out integrations
- Update an opt out integration
- Get a list of opt out requests
- Get an opt out request
- Create an opt out request
- Update an opt out request
- Sync remote files to the integration
- Upload files to the integration
- Get a list of privacy request integrations
- Update a privacy request integration
- Get a list of privacy request policies
- Get a list of privacy requests
- Get a privacy request
- Create a privacy request
- Update a privacy request
- POST a cron expression to perform data discovery scans for a given integration. If successful, the newly created schedule's ID will be returned.
- GET a list of schedules for an integration.
- GET a schedule for an integration
- UPDATE the schedule of an integration.
- DELETE an integration schedule and use DataGrail defaults
- Returns login and permission-decision audit log entries for the current customer. With no pagination parameter, up to 1000 records are returned unpaginated; supplying page_size, after, before, or include_total enables pagination (default page size 50). Requires the Login Activity feature.
- Create Detected Objects
No matching actions