Developer Documentation

Integrate EU AI Act compliance checks into your application in under 10 minutes.

Base URL: https://sentinel-api.sentinel-moxo.workers.dev

Quickstart

Send a POST request with your manifest JSON and API key:

cURL
curl -X POST https://sentinel-api.sentinel-moxo.workers.dev \ -H "Authorization: Bearer sntl_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{ "app_name": "hr-cv-screener", "version": "2.0.0", "risk_category": "High", "declared_flags": [ "human_oversight_enabled", "bias_assessment_performed", "conformity_assessment_completed" ] }'

Authentication

All requests require a Bearer token in the Authorization header.

HTTP
Authorization: Bearer sntl_live_YOUR_API_KEY

Missing key → 401. Rate limit exceeded (60 RPM) → 429.

Data Contract

The request body must be a valid JSON object:

JSON
{ "app_name": string // required "version": string // required — "1.0.0" "risk_category": string // required — "Minimal"|"Limited"|"High"|"Unacceptable" "app_description":string // optional — used by AI fallback "declared_flags": string[] // optional "fallback_ai_verification": boolean // optional }

Declared Flags Reference

Required flags (High-risk AI)

FlagArticleDescription
human_oversight_enabledArt. 14System allows human monitoring
human_interrupt_capabilityArt. 14Human can override/stop the system
bias_assessment_performedArt. 10Training data bias was assessed
data_governance_policy_documentedArt. 10Data management policy documented
user_notification_ai_interactionArt. 13Users informed they interact with AI
transparency_disclosure_providedArt. 13AI capabilities/limitations disclosed
explainability_mechanism_presentArt. 14Decisions can be explained
conformity_assessment_completedArt. 22Third-party conformity assessment done

Forbidden flags (Art. 5 — always blocked)

FlagWhy forbidden
subliminal_techniquesManipulation below conscious awareness
social_scoringScoring citizens based on behavior
realtime_biometric_public_spaceLive biometric ID in public areas
emotion_recognition_workplaceEmotion detection at work
citizen_trustworthiness_rankingEvaluating citizens for state purposes

Verdict Reference

VerdictHTTPMeaningAction
COMPLIANT200Passed all rules✅ Ship it
COMPLIANT_VIA_AI_REVIEW200AI confirmed (≥90%)✅ Ship it
NON_COMPLIANT200Art. 5 violation❌ Block deploy
HUMAN_INTERVENTION_REQUIRED200AI confidence <90%⚠️ Legal review

Node.js

JavaScript
const response = await fetch('https://sentinel-api.sentinel-moxo.workers.dev', { method: 'POST', headers: { 'Authorization': `Bearer ${process.env.SENTINEL_API_KEY}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ app_name: 'my-ai-app', version: '1.0.0', risk_category: 'High', declared_flags: ['human_oversight_enabled'] }) }); const { verdict } = await response.json(); if (verdict === 'NON_COMPLIANT') throw new Error('Compliance check failed');

Python

Python
import requests, os response = requests.post( 'https://sentinel-api.sentinel-moxo.workers.dev', headers={'Authorization': f"Bearer {os.environ['SENTINEL_API_KEY']}"}, json={ 'app_name': 'my-ai-app', 'version': '1.0.0', 'risk_category': 'High', 'declared_flags': ['human_oversight_enabled'] } ) assert response.json()['verdict'] == 'COMPLIANT'

CLI (Offline)

Zero network calls — runs the EU AI Act ruleset locally via WASM:

bash
# Install once npm install -g @radu_api/sentinel-scan # Audit offline sentinel-scan ./manifest.json # CI/CD integration (exit 0 = COMPLIANT, exit 1 = NON_COMPLIANT) sentinel-scan ./manifest.json && kubectl apply -f deployment.yaml
Ready to integrate?Get your API key ($99/month) →