Skip to content

Getting Started with Standard API

🔗 Interactive API Explorer → — Try endpoints directly in your browser

Standard is a compliance assessment API that automates security framework evaluations (SOC 2, ISO 27001, HIPAA, NIST, and 231+ frameworks). You upload your security documents, and Standard’s AI agents analyze them against the Secure Controls Framework to produce gap analyses, maturity scores, remediation plans, and audit-ready reports.

Your application calls the API — Standard does the compliance intelligence.

  • GRC SaaS products that need compliance data in their apps
  • Security consultancies automating assessment workflows
  • Enterprise security teams building custom compliance dashboards
I want to…EndpointI get back…
See all compliance frameworks (ISO 27001, SOC 2, HIPAA…)GET /api/v1/scf/frameworks231 frameworks with requirement counts
Get controls for a frameworkGET /api/v1/scf/frameworks/{id}/requirementsEvery requirement mapped to SCF controls
Look up a specific control (e.g. GOV-01)GET /api/v1/scf/controls/by-code/GOV-01Control description, methods, domain
See cross-framework mappingsGET /api/v1/scf/controls/{id}/mappingsWhich ISO/NIST/SOC 2 requirements map to this control
Compare two frameworksGET /api/v1/scf/cross-mapping/{fwA}/{fwB}Overlap %, shared controls, interpretation
Get framework coverageGET /api/v1/scf/frameworks/{id}/coverageSCF control coverage summary
Start a compliance assessmentPOST /api/v1/assessmentsAssessment ID + lifecycle state
Upload security docs for analysisPOST /api/v1/assessments/{id}/documentsDocument registered for AI ingestion
Check assessment progressGET /api/v1/assessments/{id}/statusCurrent lifecycle state (1 of 25)
See what I can do nextGET /api/v1/assessments/{id}/available-transitionsList of valid next states
Generate a Statement of ApplicabilityPOST /api/v1/assessments/{id}/soa/draftSoA version with controls in/out of scope
Get gap analysis findingsGET /api/v1/assessments/{id}/gap-analysisFindings with severity, evidence refs, remediation
Get maturity scoresGET /api/v1/assessments/{id}/maturityPer-domain maturity levels (1-5 scale)
🎯 Project compliance against ANY frameworkGET /api/v1/assessments/{id}/projection/{fwId}Compliance %, per-requirement status, zero re-assessment
Generate remediation plan (PoA&M)GET /api/v1/assessments/{id}/poamPrioritized remediation items with deadlines
Generate audit-ready reportPOST /api/v1/assessments/{id}/reports/draftDOCX/JSON report with full traceability
Search evidence by meaningPOST /api/v1/assessments/{id}/kb/searchSemantically matched document chunks
View full audit trailGET /api/v1/audit-eventsEvery action taken, by whom, when
List privacy regulations (LGPD, GDPR, HIPAA)GET /api/v1/regulationsRegulations with right counts, penalties
Get legal bases for a regulationGET /api/v1/regulations/{id}/legal-basesLegal bases with LIA requirements
Get data subject rightsGET /api/v1/regulations/{id}/rightsRights with SLA deadlines
Get breach notification rulesGET /api/v1/regulations/{id}/breach-rulesAuthority deadlines, required fields
Get international transfer mechanismsGET /api/v1/regulations/{id}/transfer-mechanismsMechanisms + DPA requirements
List risk methodologiesGET /api/v1/risk/methodologiesISO 31000, NIST 800-30
Get full risk methodologyGET /api/v1/risk/methodologies/{id}Scales, matrix, treatment options
Browse risk taxonomyGET /api/v1/risk/taxonomyCategories, subcategories, control mappings
Get KRI libraryGET /api/v1/risk/kri-libraryKRI templates with thresholds and formulas
Use CaseRecipe
Upload docs → Gap Analysis against ISO 27001iso27001-gap-analysis.md
Compare two frameworks (e.g. ISO 27001 vs SOC 2)cross-framework-comparison.md
Automate privacy compliance (LGPD/GDPR)privacy-compliance-automation.md
Set up risk assessment with KRI monitoringrisk-assessment-setup.md

All API calls require authentication. Standard supports two methods:

Option A: Bearer Token (Interactive Users)

Section titled “Option A: Bearer Token (Interactive Users)”
Terminal window
# After onboarding, your users authenticate via the web UI
# The session token is returned in the cookie/header
Authorization: Bearer <session-token>
Terminal window
# API keys are provisioned during onboarding
# Use the X-Standard-Api-Key header or Authorization: ApiKey
Authorization: ApiKey sk-your-api-key-here

Note: API keys are always scoped to a single tenant. Contact support to provision keys for your organization.

Production: https://standard-api.bekaa.eu

All endpoints are prefixed with /api/v1.

Terminal window
curl https://standard-api.bekaa.eu/health

Response:

{
"status": "ok",
"timestamp": "2026-05-14T17:00:00.000Z",
"services": {
"database": "ok",
"r2": "ok",
"vectorize": "ok"
}
}

See what compliance frameworks are available:

Terminal window
curl -H "Authorization: ApiKey sk-your-key" \
https://standard-api.bekaa.eu/api/v1/scf/frameworks

Response (abbreviated):

{
"data": [
{ "id": "...", "name": "ISO 27001:2022", "requirement_count": 142 },
{ "id": "...", "name": "SOC 2 Type II", "requirement_count": 64 },
{ "id": "...", "name": "NIST CSF 2.0", "requirement_count": 108 },
{ "id": "...", "name": "HIPAA Security Rule", "requirement_count": 75 }
],
"page": { "limit": 50, "has_more": true },
"trace_id": "trace-abc123"
}

Here’s the full happy path from start to finished report:

1. Create Assessment ──→ draft
2. Upload Documents ──→ documents_uploaded
3. Select Framework ──→ framework_selected
4. Draft SoA ──→ soa_drafted
5. Approve SoA ──→ soa_approved
6. Run Evidence Analysis ──→ evidence_analyzed
7. Generate Gap Analysis ──→ gap_analysis_complete
8. Run Maturity Scoring ──→ maturity_scored
9. Generate PoA&M ──→ poam_generated
10. Generate Report ──→ report_generated → closed
Terminal window
curl -X POST \
-H "Authorization: ApiKey sk-your-key" \
-H "Content-Type: application/json" \
-d '{
"organization_id": "your-org-id",
"name": "Q2 2026 ISO 27001 Assessment",
"scf_version_id": "your-scf-version-id"
}' \
https://standard-api.bekaa.eu/api/v1/assessments

Response:

{
"assessment_id": "assess-uuid-here",
"state": "draft",
"name": "Q2 2026 ISO 27001 Assessment",
"trace_id": "trace-xyz789"
}
Terminal window
curl -X POST \
-H "Authorization: ApiKey sk-your-key" \
-F "file=@./information-security-policy.pdf" \
-F "description=Corporate InfoSec Policy v3.1" \
https://standard-api.bekaa.eu/api/v1/assessments/{assessmentId}/documents
Terminal window
curl -X POST \
-H "Authorization: ApiKey sk-your-key" \
-H "Content-Type: application/json" \
-d '{ "next_state": "documents_uploaded" }' \
https://standard-api.bekaa.eu/api/v1/assessments/{assessmentId}/transitions

Tip: Call GET /api/v1/assessments/{id}/available-transitions to see what states you can transition to.

Each step follows the same pattern:

  1. Perform the action (draft SoA, run analysis, etc.)
  2. Submit for review where required
  3. Approve via the approvals endpoint
  4. Transition to the next state

All errors follow a consistent format:

{
"error": {
"code": "VALIDATION_ERROR",
"message": "Assessment name is required.",
"details": ["field 'name' is missing"],
"trace_id": "trace-error-001"
}
}
Status CodeMeaning
400Invalid request body or parameters
401Missing or invalid authentication
403Insufficient permissions for this action
404Resource not found (or tenant boundary)
409State conflict (e.g., wrong lifecycle state)
429Rate limit exceeded
500Internal server error (include trace_id in support ticket)
TierRequests/minute
Free30
Starter100
Business500
Enterprise2,000

Rate limit headers are included in every response:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 97
X-RateLimit-Reset: 1715680000

Building your integration with Cursor, Claude Code, Antigravity, GitHub Copilot, or similar? Standard is built for AI-first development workflows.

Section titled “Option 1: Drop-in Context File (Recommended)”

Copy examples/ai-context/STANDARD_API.md into your project:

Terminal window
# For Cursor
cp STANDARD_API.md your-project/.cursor/rules/standard-api.md
# For Claude Code
cp STANDARD_API.md your-project/.claude/standard-api.md
# For Antigravity / generic agents
cp STANDARD_API.md your-project/.agents/skills/standard-api/SKILL.md

Your AI assistant will now understand the full API — endpoints, auth, lifecycle, error formats — and generate correct integration code without you reading a single doc page.

Point your AI tool at these URLs for live, always-current API context:

URLPurpose
/llms.txtCompact summary for AI assistants
/llms-full.txtComplete API context in a single file
/docs/openapi.jsonMachine-readable OpenAPI 3.1 spec

If your AI tool supports Context7, the Standard API documentation is available as a resolvable library for automatic context fetching.

Option 4: Model Context Protocol (MCP) Server

Section titled “Option 4: Model Context Protocol (MCP) Server”

Connect your AI assistants (like Claude Desktop or Cursor) directly to the Standard GRC platform using our native MCP server. See the MCP Server Setup Guide for installation and configuration instructions.