Product · External Risk API

The full ComplianceLayer scoring engine — via API

Use ComplianceLayer as an infrastructure-grade assessment service inside underwriting queues, compliance workflows, and platform integrations.

ProcessingAsync — submit, poll, retrieve
ResponseScores, findings, mappings
DeliveryAPI, dashboard, webhooks
Primary UsersUnderwriting & product teams
4-8s
Typical scan completion
300/min
Requests on Pro plan
8
Core endpoints
5
Webhook endpoints on Pro
Workflow

How teams use it

Three calls from domain to structured assessment.

Step 01
Submit a domain

POST a public domain to /v1/scan/ and receive a job_id back immediately (202 Accepted). No blocking, no long-lived connections.

POST /v1/scan/job_id202
Step 02
Poll or subscribe

Poll GET /v1/scan/jobs/{id} until status transitions from 'queued' to 'completed' — typically 4-8 seconds. Or configure webhooks to receive results automatically without polling.

GET status4-8sWebhooks
Step 03
Retrieve & integrate

Fetch the full report via GET /v1/scan/jobs/{id}/report — scores, findings, and compliance mappings — then push the result into analyst review, portfolio monitoring, or downstream systems.

ScoresFindingsMappings
Capabilities

What the platform is built to do

Commercial-grade posture data without rebuilding scoring logic yourself.

Async job processing
Submit scans via POST, receive a job_id, then poll for completion. Scans typically complete in 4-8 seconds with results stored for retrieval.
Authoritative stored assessments
Every API response is aligned to the same persisted assessment model used by the dashboard and report layer.
Webhook integrations
Push scan results, alerts, and compliance updates to your systems in real-time via webhooks. Available on every plan — five endpoints on Pro and above.
Workflow-safe integrations
Use the API to feed intake queues, recurring reviews, or customer-facing evidence flows without rebuilding scoring logic yourself.
Commercial-grade output
Return structured, decision-useful posture data instead of a raw scanner transcript that still needs manual interpretation.
Plan-based rate limiting
Free: 120 requests/min, 1,200/hour, 5,000/day. Pro: 300/min, 10,000/hour, 50,000/day. Enterprise: 600/min, 30,000/hour, 200,000/day. Clearly communicated via response headers.
Integration

Submit a scan in one call

Authenticate with a Bearer token, POST a domain, and poll for the stored assessment. One integration gives you consistent, structured risk data across human and machine surfaces.

cURLPythonNode.js
POST /v1/scan

curl https://api.compliancelayer.net/v1/scan \
  -H "Authorization: Bearer cl_..." \
  -H "Content-Type: application/json" \
  -d '{
    "domain": "acme-payments.com"
  }'
Response · 202 Accepted
{
  "job_id": 12847,
  "domain": "acme-payments.com",
  "status": "queued",
  "source": "api",
  "queued_at": "2026-03-17T10:30:00Z"
}

# Poll for completion:
GET /v1/scan/jobs/12847/report
API Reference

Core endpoints

All API calls use the /v1/ prefix with Bearer token authentication. Scans are async — submit, poll, retrieve.

POST/v1/scan/Submit a domain for scanning (returns job_id)
GET/v1/scan/jobs/{id}Poll scan job status
GET/v1/scan/jobs/{id}/reportGet full scan report when complete
GET/v1/scan/historyList recent scans
GET/v1/domains/List monitored domains
POST/v1/domains/Add domain for monitoring
POST/v1/domains/{id}/scanTrigger scan for monitored domain
GET/v1/auth/meGet current user info

Start building today

Submit a scan, poll for results. Scores, findings, compliance mappings, and webhooks included.

API access included on Pro ($99/mo) and above. View pricing →