Open Finance

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.

Endpoint:/api/v1/openfinance/ai-ethics/assess
Method:POST
Scope:openfinance:ai-ethics
Tier:Professional & Enterprise

Debugging & 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/standards for framework discovery only.
  • Every response includes rate limit headers plus a request ID for audit trails and support follow-up.

Try it out

POST/api/v1/openfinance/ai-ethics/assess

Parameters

Code

curl
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

bash
# Replace the Authorization header value with a live key that includes openfinance:ai-ethics
curl -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

javascript
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

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.

FieldTypeRequiredDescription
application.namestringOptionalHuman-readable name of the AI application
application.typestringOptionalApplication type. One of: credit_scoring, loan_approval, fraud_detection, risk_assessment, customer_segmentation, pricing, kyc_aml, investment_advice, insurance_underwriting, other
application.riskLevelstringOptionalAssessed risk level: low, medium, high, critical. Affects severity of findings.
application.inputFeaturesstring[]OptionalList of input feature names used by the model. Checked for prohibited characteristics.
application.sensitiveFeaturesstring[]OptionalSensitive features present in the training data (for bias testing scope declaration)
application.fairnessobjectOptionalFairness controls: biasTestingDone, fairnessMetrics, exclusionOfProhibitedFeatures, regularAudit
application.objectivityobjectOptionalObjectivity controls: featureRelevanceDocumented, dataQualityProcesses, conflictOfInterestMitigation
application.consistencyobjectOptionalConsistency controls: versionControl, reproducibilityTested, driftMonitoring
application.transparencyobjectOptionalTransparency controls: explainabilityMethod (shap/lime/rules/counterfactual/attention/other/none), documentationAvailable, customerNotification
application.humanOversightobjectOptionalHuman oversight: available, appealProcess, reviewThreshold (all/high_impact/automated_only)
application.dataGovernanceobjectOptionalData governance: dataResidency (ISO 3166-1 country code), consentManagement, retentionPeriodMonths, auditTrail
application.accountabilityobjectOptionalAccountability: 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

PlanRequests/minMonthly quota
Free101,000
Starter6010,000
Pro300Unlimited
EnterpriseCustomCustom