AI Ethics & Compliance Assessment API
Assess AI applications against CBUAE's ethical guidelines for financial services. Evaluates fairness, objectivity, consistency, transparency, human oversight, data governance, and accountability — returning dimension-level scores, findings, and actionable remediation guidance.
/api/v1/openfinance/ai-ethics/assessopenfinance:ai-ethicsDebugging & Support
Include X-Request-ID when contacting support
Every response from KhaleejiAPI includes an X-Request-ID header — a unique identifier that lets our support team pull the exact log entry for your request within seconds. Always share it when reporting an unexpected error or unexpected result.
How to capture it
JavaScript / fetch
const res = await fetch("https://khaleejiapi.dev/api/v1/...", {
headers: { Authorization: "******" },
});
const requestId = res.headers.get("x-request-id");
console.log("Request ID:", requestId);
// → e.g. "req_01j9xkz4vp8..."cURL
curl -si "https://khaleejiapi.dev/api/v1/..." \ -H "Authorization: ******" | grep -i x-request-id # → x-request-id: req_01j9xkz4vp8...
Browser DevTools
Open DevTools (F12) → Network tab → click the failing request → scroll to the Response Headers section → copy the value next to x-request-id.
For a full list of error codes and guidance on common issues, see the Troubleshooting guide.
Authentication & access
Send your API key in the Authorization header and ensure the key includes the openfinance:ai-ethics scope.
- Method:
POST - Content type:
application/json - Professional and Enterprise keys receive the full Open Finance scope set. Starter and Free plans can use
/api/v1/openfinance/standardsfor framework discovery only. - Every response includes rate limit headers plus a request ID for audit trails and support follow-up.
Try it out
/api/v1/openfinance/ai-ethics/assessParameters
Code
curl -X POST "https://khaleejiapi.dev/api/v1/openfinance/ai-ethics/assess?application=%7B%22name%22%3A%22Credit%20Scoring%20Model%20v2%22%2C%22type%22%3A%22credit_scoring%22%2C%22riskLevel%22%3A%22high%22%2C%22decisionType%22%3A%22binary_classification%22%2C%22inputFeatures%22%3A%5B%22income%22%2C%22employment_history%22%2C%22payment_history%22%5D%2C%22sensitiveFeatures%22%3A%5B%22nationality%22%5D%2C%22fairness%22%3A%7B%22biasTestingDone%22%3Atrue%2C%22fairnessMetrics%22%3A%5B%22demographic_parity%22%5D%2C%22exclusionOfProhibitedFeatures%22%3Atrue%2C%22regularAudit%22%3Afalse%7D%2C%22objectivity%22%3A%7B%22featureRelevanceDocumented%22%3Atrue%2C%22dataQualityProcesses%22%3Atrue%2C%22conflictOfInterestMitigation%22%3Atrue%7D%2C%22consistency%22%3A%7B%22versionControl%22%3Atrue%2C%22reproducibilityTested%22%3Atrue%2C%22driftMonitoring%22%3Atrue%7D%2C%22transparency%22%3A%7B%22explainabilityMethod%22%3A%22shap%22%2C%22documentationAvailable%22%3Atrue%2C%22customerNotification%22%3Atrue%7D%2C%22humanOversight%22%3A%7B%22available%22%3Atrue%2C%22appealProcess%22%3Atrue%2C%22reviewThreshold%22%3A%22high_impact%22%7D%2C%22dataGovernance%22%3A%7B%22dataResidency%22%3A%22AE%22%2C%22consentManagement%22%3Atrue%2C%22retentionPeriodMonths%22%3A36%2C%22auditTrail%22%3Atrue%7D%2C%22accountability%22%3A%7B%22governanceFramework%22%3Atrue%2C%22incidentResponsePlan%22%3Afalse%2C%22modelOwnerDefined%22%3Atrue%7D%7D" \ -H "Authorization: Bearer your_api_key"Usage examples
cURL
# Replace the Authorization header value with a live key that includes openfinance:ai-ethicscurl -X POST "https://khaleejiapi.dev/api/v1/openfinance/ai-ethics/assess" \ -H "Authorization: ******" \ -H "Content-Type: application/json" \ -d '{ "application": { "name": "Credit Scoring Model v2", "type": "credit_scoring", "riskLevel": "high", "decisionType": "binary_classification", "inputFeatures": ["income", "employment_history", "payment_history"], "sensitiveFeatures": ["nationality"], "fairness": { "biasTestingDone": true, "fairnessMetrics": ["demographic_parity"], "exclusionOfProhibitedFeatures": true, "regularAudit": true }, "transparency": { "explainabilityMethod": "shap", "documentationAvailable": true, "customerNotification": true }, "humanOversight": { "available": true, "appealProcess": true, "reviewThreshold": "high_impact" }, "dataGovernance": { "dataResidency": "AE", "consentManagement": true, "retentionPeriodMonths": 36, "auditTrail": true }, "accountability": { "governanceFramework": true, "incidentResponsePlan": true, "modelOwnerDefined": true } } }'JavaScript / TypeScript
import { KhaleejiAPI } from '@khaleejiapi/sdk' const client = new KhaleejiAPI(process.env.KHALEEJI_API_KEY!) const result = await client.request('/api/v1/openfinance/ai-ethics/assess', { method: 'POST', body: { application: { name: 'Credit Scoring Model v2', type: 'credit_scoring', riskLevel: 'high', decisionType: 'binary_classification', fairness: { biasTestingDone: true, fairnessMetrics: ['demographic_parity'], exclusionOfProhibitedFeatures: true, regularAudit: true, }, transparency: { explainabilityMethod: 'shap', documentationAvailable: true, customerNotification: true, }, humanOversight: { available: true, appealProcess: true, reviewThreshold: 'high_impact', }, dataGovernance: { dataResidency: 'AE', consentManagement: true, retentionPeriodMonths: 36, auditTrail: true, }, accountability: { governanceFramework: true, incidentResponsePlan: true, modelOwnerDefined: true, }, }, },}) console.log(result.summary.verdict)console.log(result.dimensionScores.fairness)Python
from khaleejiapi import KhaleejiAPI client = KhaleejiAPI("your_api_key") result = client.request("/api/v1/openfinance/ai-ethics/assess", method="POST", json={ "application": { "name": "Credit Scoring Model v2", "type": "credit_scoring", "riskLevel": "high", "decisionType": "binary_classification", "fairness": { "biasTestingDone": True, "fairnessMetrics": ["demographic_parity"], "exclusionOfProhibitedFeatures": True, "regularAudit": True, }, "humanOversight": { "available": True, "appealProcess": True, "reviewThreshold": "high_impact", }, "dataGovernance": { "dataResidency": "AE", "consentManagement": True, "retentionPeriodMonths": 36, "auditTrail": True, }, "accountability": { "governanceFramework": True, "incidentResponsePlan": True, "modelOwnerDefined": True, }, }}) print(result["summary"]["verdict"])for finding in result["findings"]: print(f"[{finding['severity']}] {finding['dimension']}: {finding['message']}")Request Body
The request body must contain an application object describing the AI system to be assessed. All fields are optional — the API assesses whichever dimensions you provide and flags gaps accordingly.
| Field | Type | Required | Description |
|---|---|---|---|
| application.name | string | Optional | Human-readable name of the AI application |
| application.type | string | Optional | Application type. One of: credit_scoring, loan_approval, fraud_detection, risk_assessment, customer_segmentation, pricing, kyc_aml, investment_advice, insurance_underwriting, other |
| application.riskLevel | string | Optional | Assessed risk level: low, medium, high, critical. Affects severity of findings. |
| application.inputFeatures | string[] | Optional | List of input feature names used by the model. Checked for prohibited characteristics. |
| application.sensitiveFeatures | string[] | Optional | Sensitive features present in the training data (for bias testing scope declaration) |
| application.fairness | object | Optional | Fairness controls: biasTestingDone, fairnessMetrics, exclusionOfProhibitedFeatures, regularAudit |
| application.objectivity | object | Optional | Objectivity controls: featureRelevanceDocumented, dataQualityProcesses, conflictOfInterestMitigation |
| application.consistency | object | Optional | Consistency controls: versionControl, reproducibilityTested, driftMonitoring |
| application.transparency | object | Optional | Transparency controls: explainabilityMethod (shap/lime/rules/counterfactual/attention/other/none), documentationAvailable, customerNotification |
| application.humanOversight | object | Optional | Human oversight: available, appealProcess, reviewThreshold (all/high_impact/automated_only) |
| application.dataGovernance | object | Optional | Data governance: dataResidency (ISO 3166-1 country code), consentManagement, retentionPeriodMonths, auditTrail |
| application.accountability | object | Optional | Accountability: governanceFramework, incidentResponsePlan, modelOwnerDefined |
Response Fields
compliant
Boolean — true when there are zero error-severity findings across all dimensions.
overallScore
0–100 composite score. Calculated as the average of all seven dimension scores. Each error deducts 25 points and each warning deducts 10 points from the relevant dimension score.
summary
total_findings, errors, warnings counts with a verdict string (FULLY_COMPLIANT / COMPLIANT_WITH_WARNINGS / NON_COMPLIANT) and Arabic equivalent.
dimensionScores
Per-dimension scores (0–100) for: fairness, objectivity, consistency, transparency, human_oversight, data_governance, accountability.
findings[]
Array of compliance findings. Each item includes dimension, field, severity (error/warning), principle and principleAr, requirement and requirementAr, message, and remediation guidance.
regulation
Regulatory context: framework name, authority, guiding principles list, source URL, and related regulations (UAE PDPL, CBUAE Open Finance Regulation).
Assessment Dimensions
Fairness
العدالةNon-discrimination, bias testing, exclusion of prohibited features, and regular auditing.
Objectivity
الموضوعيةFeature justification, data quality processes, and conflict of interest mitigation.
Consistency
الاتساقVersion control, reproducibility testing, and drift monitoring.
Transparency
الشفافيةExplainability method, model documentation, and customer disclosure.
Human Oversight
الرقابة البشريةOversight availability, appeal process, and automated decision limits.
Data Governance
حوكمة البياناتData residency, consent management, retention period, and audit trail.
Accountability
المساءلةGovernance framework, incident response plan, and named model ownership.
CBUAE compliance notes
High-risk use cases trigger stricter controls
Credit scoring, loan approval, insurance underwriting, investment advice, and KYC/AML assessments are treated as high-risk. Expect stricter findings around fairness audits, human oversight, explainability, and drift monitoring when you assess these application types.
Protected features must stay out of decision logic
The API raises error findings when input features reference protected characteristics such as religion, race, ethnicity, nationality, tribe, sect, gender, political opinion, sexual orientation, or disability status. Use the assessment as a pre-launch gate before models reach production.
PDPL-aligned data governance checks
UAE data residency is recommended for customer financial data, consent management is mandatory, and retention above 84 months (7 years) is flagged for review. Cross-border processing is permitted only when you have the right transfer controls and regulatory justification.
Customers need review and appeal paths
For impactful automated decisions, CBUAE-aligned operation requires human oversight, documented appeal handling, incident response planning, and a named model owner. These are surfaced directly in thefindings[] remediation guidance.
Rate Limits
| Plan | Requests/min | Monthly quota |
|---|---|---|
| Free | 10 | 1,000 |
| Starter | 60 | 10,000 |
| Pro | 300 | Unlimited |
| Enterprise | Custom | Custom |