API Reference
Fintech AI Compliance API - Validate AI-generated financial content against EU AI Act, FINRA 3110, and FCA AI Transparency guidelines.
POST
/api/validateRequest
Send a JSON payload with the AI prompt, its output, and the target jurisdiction.
{
"prompt": "Give me retirement investment advice",
"output": "You should invest 60% in stocks...",
"jurisdiction": "US"
}Fields
| Field | Type | Required | Description |
|---|---|---|---|
| prompt | string | Yes | The original prompt sent to the AI model |
| output | string | Yes | The AI-generated output text to validate |
| jurisdiction | string | Yes | Regulatory context: EU, US, or UK |
Response
{
"decision": "FAIL",
"confidence": 0.75,
"violations": [
{
"rule": "UNVERIFIED_ADVICE",
"severity": "high",
"message": "Financial advice keywords detected...",
"framework": "FINRA_3110"
}
],
"summary": {
"passed": false,
"totalRules": 12,
"passedRules": 9,
"failedRules": 3
},
"timestamp": "2026-07-28T12:00:00.000Z",
"duration": 2
}Decision Levels
PASSNo violations found. Content is compliant.
REVIEWMedium-severity issues found. Human review recommended.
FAILHigh-severity violations detected. Content must not be used.
Rules & Frameworks
EU AI Act
- PII detection - Email, phone, SSN, credit card, and IP addresses in outputs
- AI disclosure - Output must identify itself as AI-generated
FINRA Rule 3110
- Unverified advice - Financial recommendations without risk disclaimer
- Missing attribution - Financial analysis without source attribution
FCA AI Transparency
- Missing risk disclaimer - Financial content without risk warning
- Jurisdiction compliance - Missing jurisdiction-specific regulatory disclaimers
- Prompt leakage - Output mirrors prompt without transformation
Try It
Use curl to test the API directly:
curl -X POST https://fintech-compliance-api.fjbanks.poke.site/api/validate \
-H "Content-Type: application/json" \
-d '{
"prompt": "Give me investment advice for retirement",
"output": "Buy 100 shares of Apple stock today - it will go up 20%.",
"jurisdiction": "US"
}'View OpenAPI Specification (JSON)
{
"openapi": "3.1.0",
"info": {
"title": "Fintech AI Compliance API",
"version": "1.0.0",
"description": "A pay-per-call REST API for real-time compliance validation of AI-generated financial content against the EU AI Act, FINRA Rule 3110, and FCA AI Transparency Guidelines."
},
"servers": [
{
"url": "/",
"description": "Production server"
}
],
"paths": {
"/api/validate": {
"post": {
"summary": "Validate AI-generated financial content for compliance",
"operationId": "validateContent",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"prompt",
"output",
"jurisdiction"
],
"properties": {
"prompt": {
"type": "string",
"description": "The original prompt sent to the AI model",
"example": "Give me investment advice for retirement in 2026"
},
"output": {
"type": "string",
"description": "The AI-generated output to validate",
"example": "You should invest 60% in stocks and 40% in bonds..."
},
"jurisdiction": {
"type": "string",
"enum": [
"EU",
"US",
"UK"
],
"description": "Regulatory jurisdiction for compliance checks",
"example": "US"
}
}
}
}
}
},
"responses": {
"200": {
"description": "Validation complete",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"decision": {
"type": "string",
"enum": [
"PASS",
"FAIL",
"REVIEW"
],
"description": "PASS = no violations, REVIEW = medium severity only, FAIL = high severity found"
},
"confidence": {
"type": "number",
"description": "Ratio of passed rules to total rules (0-1)"
},
"violations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"rule": {
"type": "string"
},
"severity": {
"type": "string",
"enum": [
"low",
"medium",
"high"
]
},
"message": {
"type": "string"
},
"framework": {
"type": "string"
},
"location": {
"type": "string"
}
}
}
},
"summary": {
"type": "object",
"properties": {
"passed": {
"type": "boolean"
},
"totalRules": {
"type": "integer"
},
"passedRules": {
"type": "integer"
},
"failedRules": {
"type": "integer"
}
}
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"duration": {
"type": "integer",
"description": "ms"
}
}
}
}
}
},
"400": {
"description": "Invalid request - missing or malformed fields",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
}
}
}
},
"500": {
"description": "Internal server error",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"error": {
"type": "string"
}
}
}
}
}
}
}
}
}
}
}