Compliance
Run catalogue-driven regulatory probes against an IVR. Pick test ids from the catalogue, dispatch a batch, then fetch the structured report or render a PDF. Reports are keyed by E.164 phone number.
6 endpoints
Real-time updates
The platform UI subscribes to a WebSocket gateway for live status as runs complete. The WebSocket gateway is Cognito-authenticated and not exposed to API-key callers. Poll GET /testing/mission-tests/{id} or GET /testing/compliance-reports/{phoneNumber} for status from the SDK.
/testing/compliance-catalogueFetch the live regulation and test catalogue, picker limit, available compliance-testing seconds, and tier. Fetch this endpoint to see the live list of regulations and tests.
Request
curl -H "x-api-key: YOUR_API_KEY" \
https://api.nopaque.co.uk/testing/compliance-catalogueResponse
{
"catalogue": {
"version": "2026.05.01",
"regulations": [
{
"key": "gdpr",
"name": "GDPR",
"description": "General Data Protection Regulation"
}
],
"tests": [
{
"id": "gdpr.identity-verification",
"regulationKey": "gdpr",
"name": "Identity verification",
"description": "Verifies the agent confirms identity before disclosing personal data."
}
]
},
"pickerLimit": 10,
"complianceSecondsAvailable": null,
"tier": "team"
}/testing/compliance-runsAtomic batch dispatch from selected testIds. All selected tests are dispatched together or none are. Returns 400 with errorCode BATCH_SIZE_EXCEEDS_TIER if the batch exceeds your tier picker limit.
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| phoneNumber | string | required | Phone number to test in E.164 format (e.g. +441234567890) |
| sector | string | required | Sector key from the catalogue |
| testIds | string[] | required | Array of test ids selected from the catalogue |
Request
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"phoneNumber":"+441234567890","sector":"banking","testIds":["gdpr.identity-verification","gdpr.data-minimisation"]}' \
https://api.nopaque.co.uk/testing/compliance-runsResponse
{
"runs": [
{
"runId": "crun_abc123",
"testId": "gdpr.identity-verification",
"status": "queued"
},
{
"runId": "crun_def456",
"testId": "gdpr.data-minimisation",
"status": "queued"
}
]
}/testing/compliance-reportsList workspace-wide compliance audits, keyed by phone number.
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| limit | number | optional | Maximum items to return (default 50) |
| nextToken | string | optional | Pagination token from previous response |
Request
curl -H "x-api-key: YOUR_API_KEY" \
https://api.nopaque.co.uk/testing/compliance-reportsResponse
{
"items": [
{
"phoneNumber": "+441234567890",
"sector": "banking",
"status": "completed",
"updatedAt": "2026-05-06T12: 05: 00Z"
}
],
"nextToken": null
}/testing/compliance-reports/{phoneNumber}Get the compliance report for a phone number. The path parameter is E.164 with the leading + URL-encoded as %2B.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| phoneNumber | string | required | E.164 phone number with leading + URL-encoded as %2B (e.g. %2B441234567890) |
Request
curl -H "x-api-key: YOUR_API_KEY" \
https://api.nopaque.co.uk/testing/compliance-reports/%2B441234567890Response
{
"phoneNumber": "+441234567890",
"sector": "banking",
"status": "completed",
"runs": [
{
"runId": "crun_abc123",
"testId": "gdpr.identity-verification",
"status": "pass"
},
{
"runId": "crun_def456",
"testId": "gdpr.data-minimisation",
"status": "fail"
}
],
"updatedAt": "2026-05-06T12: 05: 00Z"
}/testing/compliance-reports/{phoneNumber}/pdfGenerate a PDF for a compliance report. Returns a presigned URL pointing at the rendered PDF.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| phoneNumber | string | required | E.164 phone number with leading + URL-encoded as %2B |
Body Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| regulationKey | string | optional | Optional regulation key to scope the PDF to a single regulation |
Request
curl -X POST -H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"regulationKey":"gdpr"}' \
https://api.nopaque.co.uk/testing/compliance-reports/%2B441234567890/pdfResponse
{
"url": "https://nopaque-compliance-pdfs.s3.amazonaws.com/wks_abc/441234567890.pdf?X-Amz-Signature=..."
}/testing/compliance-runs/{runId}/rerunRe-dispatch a single compliance test run. Returns the new run record.
Path Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| runId | string | required | Compliance run id to re-dispatch |
Request
curl -X POST -H "x-api-key: YOUR_API_KEY" \
https://api.nopaque.co.uk/testing/compliance-runs/crun_abc123/rerunResponse
{
"runId": "crun_ghi789",
"testId": "gdpr.identity-verification",
"status": "queued",
"previousRunId": "crun_abc123"
}