Skip to content

API Reference

Welcome to the Islamic Open Finance™ API Reference. This documentation covers all available endpoints across our 144 specialized rails with 900+ endpoints.

All API requests should be made to:

EnvironmentBase URL
Productionhttps://api.islamicopenfinance.com/api/v1
Sandboxhttps://sandbox.islamicopenfinance.com/api/v1
UAThttps://uat.islamicopenfinance.com/api/v1

All API requests require authentication using an API key:

Terminal window
curl https://api.islamicopenfinance.com/api/v1/contracts \
-H "Authorization: Bearer sk_live_..." \
-H "Content-Type: application/json" \
-H "X-Tenant-ID: tenant_123" \
-H "X-Workspace-ID: ws_456"

See Authentication for more details including OAuth 2.0 and SAML flows.

  • All requests must use HTTPS
  • Request bodies should be JSON encoded
  • Include Content-Type: application/json header
  • Include tenant and workspace headers for multi-tenant operations
HeaderDescriptionRequired
AuthorizationBearer token or API keyYes
Content-Typeapplication/jsonYes
X-Tenant-IDTenant identifierYes
X-Workspace-IDWorkspace identifierContext-dependent
X-Idempotency-KeyIdempotency key for writesRecommended
X-Request-IDRequest tracking IDOptional

All responses are JSON encoded with consistent structure:

{
"data": { ... },
"meta": {
"requestId": "req_abc123def456",
"timestamp": "2025-01-15T10:30:00Z",
"rail": "contracts",
"version": "v1"
}
}

For list endpoints with pagination:

{
"data": [ ... ],
"meta": {
"requestId": "req_abc123def456",
"timestamp": "2025-01-15T10:30:00Z"
},
"pagination": {
"page": 1,
"perPage": 20,
"total": 150,
"totalPages": 8,
"hasMore": true
}
}
RailDescriptionEndpointsStatus
ContractsIslamic financial contracts lifecycle25+Stable
KYCCustomer verification & identity18+Stable
ComplianceRegulatory compliance & policy enforcement15+Stable
AMLAnti-money laundering & sanctions screening12+Stable
ZakatZakat calculation & distribution10+Stable
RailDescriptionEndpointsStatus
TreasuryPosition & liquidity management20+Stable
ClearingSettlement & clearing operations15+Stable
PortfolioPortfolio management & NAV14+Stable
RiskRisk assessment & management12+Stable
LimitsFinancial limits & transaction controls10+Stable
UnderwritingRisk underwriting & evaluation12+Stable
RailDescriptionEndpointsStatus
RoutingPayment routing & rules10+Stable
MessagesISO 20022, SWIFT messaging15+Stable
ReconciliationTransaction reconciliation12+Stable
RailDescriptionEndpointsStatus
GovernanceShariah board & governance12+Stable
LegalLegal document management10+Stable
DisputesDispute resolution10+Stable
CasesCase management & workflows12+Stable
RailDescriptionEndpointsStatus
AuthAuthentication & sessions15+Stable
OAuth2OAuth 2.0 / OpenID Connect12+Stable
SAMLEnterprise SAML 2.0 SSO8+Stable
ConsentPrivacy & consent management10+Stable
API KeysAPI key management8+Stable
RailDescriptionEndpointsStatus
WebhooksEvent notifications & delivery10+Stable
EventsEvent distribution & replay8+Stable
NotificationsMulti-channel notifications10+Stable
IntegrationsExternal connectors & sync12+Stable
RailDescriptionEndpointsStatus
AnalyticsReal-time analytics & dashboards12+Stable
ReportingRegulatory & custom reports10+Stable
SearchFull-text search6+Stable
BillingUsage metering & invoicing12+Stable
AuditAudit trails & compliance logs8+Stable
ObservabilitySLO tracking & monitoring10+Stable

Islamic Open Finance™ offers seven pricing tiers for different organizational needs. See SKU Tiers for complete comparison and features.

TierMonthlyAnnualAPI CallsUsersSLA
Starter$499$4,99010K1099.5%
Analytics Only$799$7,99025K1599.5%
Fintech$999$9,99050K2599.9%
Growth$1,999$19,990100K5099.9%
Compliance Plus$2,999$29,99075K3099.9%
Enterprise$9,999$99,990UnlimitedUnlimited99.99%
Core Banking$24,999$249,990UnlimitedUnlimited99.999%

API requests are rate limited based on your SKU:

SKURequests/minuteRequests/monthBurst
Starter16710,000500
Fintech83450,0001,000
Growth1,667100,0002,500
Compliance Plus1,25075,0001,875
Enterprise10,000Unlimited20,000
Core Banking20,000Unlimited50,000

Rate limit headers are included in every response:

X-RateLimit-Limit: 1200
X-RateLimit-Remaining: 1198
X-RateLimit-Reset: 1705312800
X-RateLimit-Policy: growth

All errors follow a consistent format:

{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request parameters",
"details": [
{
"field": "amount",
"message": "Amount must be positive",
"code": "INVALID_VALUE"
}
],
"rail": "contracts",
"requestId": "req_abc123"
},
"meta": {
"requestId": "req_abc123",
"timestamp": "2025-01-15T10:30:00Z"
}
}
CodeHTTP StatusDescription
VALIDATION_ERROR400Invalid request parameters
AUTHENTICATION_ERROR401Invalid or missing credentials
AUTHORIZATION_ERROR403Insufficient permissions
NOT_FOUND404Resource not found
CONFLICT409Resource conflict
RATE_LIMITED429Too many requests
INTERNAL_ERROR500Server error
SHARIAH_VIOLATION422Shariah compliance check failed

See Errors for the complete error code reference.

The API is versioned via the URL path. The current version is v1:

https://api.islamicopenfinance.com/api/v1/contracts

API changes follow semantic versioning:

  • Breaking changes require new version (v2, v3)
  • New features are additive within version
  • Deprecations announced 6 months in advance

For POST/PUT/PATCH requests, include an idempotency key:

Terminal window
curl -X POST https://api.islamicopenfinance.com/api/v1/contracts \
-H "Authorization: Bearer sk_live_..." \
-H "X-Idempotency-Key: unique-request-id-123" \
-d '{"type": "murabaha", ...}'

Idempotency keys are valid for 24 hours.

Subscribe to events via webhooks for real-time notifications:

// Event types available
contract.created;
contract.activated;
contract.terminated;
kyc.completed;
kyc.expired;
compliance.check.passed;
compliance.check.failed;
payment.completed;
payment.failed;

See Webhooks for setup and event catalog.

Official SDKs are available for:

SDKVersionStatus
TypeScript/JavaScript2.0.0Stable
Python2.0.0Stable
Go1.0.0Preview

OpenAPI Specification & Interactive Documentation

Section titled “OpenAPI Specification & Interactive Documentation”

The complete OpenAPI 3.1 specification is served directly from the Rail API:

EnvironmentOpenAPI Spec URLSwagger UI
ProductionGET /api/v1/docs/openapi.json/api/v1/docs/
SandboxGET /api/v1/docs/openapi.json/api/v1/docs/

For interactive API exploration and testing, use our dedicated tools:

::: tip API Explorer Features The API Explorer provides environment switching (sandbox/UAT/production), request history, rate limit monitoring, and automatic code generation for all 800+ endpoints across 80 rails. :::