Skip to content

Reports

The Reports API allows you to generate compliance reports for supported regulatory frameworks. Reports are generated asynchronously and can be retrieved once processing is complete.


Generate Compliance Report

POST /v1/reports/compliance

Initiate the generation of a compliance report for a specific regulation and time period.

Headers

Header Required Description
Idempotency-Key Yes Unique UUID to ensure exactly-once semantics.

Request Body

Field Type Required Description
regulation enum Yes Regulatory framework: GDPR · SOX · SOC2 · HIPAA · PCI-DSS
date_range_start datetime Yes Start of the reporting period (ISO 8601).
date_range_end datetime Yes End of the reporting period (ISO 8601).
platforms string[] No Filter to specific platforms (e.g. ["fabric", "snowflake"]). Omit to include all connected platforms.

Example Request

curl -s -X POST "http://localhost:8000/v1/reports/compliance" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: c1d2e3f4-a5b6-7890-cdef-1234567890ab" \
  -H "Content-Type: application/json" \
  -d '{
    "regulation": "SOX",
    "date_range_start": "2025-04-01T00:00:00Z",
    "date_range_end": "2025-06-30T23:59:59Z",
    "platforms": ["snowflake", "fabric"]
  }'

Example Response

{
  "id": "019fb1c2-d3e4-7000-8000-00000000b001",
  "status": "GENERATING",
  "regulation": "SOX",
  "date_range_start": "2025-04-01T00:00:00Z",
  "date_range_end": "2025-06-30T23:59:59Z",
  "platforms": ["snowflake", "fabric"],
  "created_at": "2025-07-15T10:00:00Z",
  "completed_at": null,
  "download_url": null
}

Report Statuses

Status Description
GENERATING Report is being generated asynchronously.
COMPLETED Report is ready for download.
FAILED Report generation failed — check error field.

Get Report Status

GET /v1/reports/{id}

Check the status of a previously submitted report. Once status is COMPLETED, the download_url field contains a pre-signed URL to download the report.

Path Parameters

Parameter Type Description
id UUID The report's UUID.

Example Request

curl -s "http://localhost:8000/v1/reports/019fb1c2-d3e4-7000-8000-00000000b001" \
  -H "Authorization: Bearer $TOKEN"

Example Response — Completed

{
  "id": "019fb1c2-d3e4-7000-8000-00000000b001",
  "status": "COMPLETED",
  "regulation": "SOX",
  "date_range_start": "2025-04-01T00:00:00Z",
  "date_range_end": "2025-06-30T23:59:59Z",
  "platforms": ["snowflake", "fabric"],
  "created_at": "2025-07-15T10:00:00Z",
  "completed_at": "2025-07-15T10:03:45Z",
  "download_url": "https://verity-reports.blob.core.windows.net/reports/019fb1c2-d3e4-7000-8000-00000000b001.pdf?sv=2024-05-04&se=2025-07-15T11%3A00%3A00Z&sig=..."
}

Error Responses

Status Description
400 Invalid request body or unsupported regulation.
401 Missing or invalid Bearer token.
404 Report not found.

Supported Regulations

Regulation Description
GDPR General Data Protection Regulation — EU data privacy.
SOX Sarbanes-Oxley Act — financial controls and audit trail.
SOC2 Service Organization Control 2 — trust service criteria.
HIPAA Health Insurance Portability and Accountability Act.
PCI-DSS Payment Card Industry Data Security Standard.