Quick start
- Get an API key from Ailat (keys look like
rpuri_…). - Send
X-Api-Key(or Bearer) on every request. - Call
POST /v1/calculatewithtickeranddividendsReceived.
Base URL
https://purification.ailat.kz
Қолданбаларыңызға арналған скрининг деректері
Өнім
Қаржы ұйымдарына арналған қолжетімділік
Қолжетімділік
Портфель және дивидендтерді тазарту
Өнім
API және тазарту
Жоспарлар
www.ailat.ai сайтындағы компания скринингі
Дивидендтер purification.ailat.kz сайтында
Қосылуға көмек
Purification API
AAOIFI-aligned calculator: send a ticker and dividends received — get the purification amount, compliance status, and a clear recommendation. One product, no tariff tiers.
rpuri_…).X-Api-Key (or Bearer) on every request.POST /v1/calculate with ticker and dividendsReceived.Base URL
https://purification.ailat.kz
The API looks up Shariah financial reports for the ticker (26 000+ companies), applies methodology rules, and returns a status + recommendation:
| Situation | Status | Purification | Recommendation |
|---|---|---|---|
| Company not in DB | NOT_FOUND |
0 | MANUAL_INPUT_REQUIRED |
| Halal — 0% impure income | COMPLIANT_PURE |
0 | NO_ACTION |
| Halal — impure fraction | COMPLIANT_IMPURE |
ceil(dividends × haram %) |
PURIFY_ONLY |
| Haram core business | NON_COMPLIANT_CORE_BUSINESS |
100% of dividends | SELL_IMMEDIATELY |
| Failed financial ratios | NON_COMPLIANT_FINANCIAL_RATIOS |
ceil(dividends × haram %) |
GRACE_PERIOD_2_QUARTERS |
Amounts are rounded up to whole currency units.
Optional manual overrides: impureIncomeRatio (0–1) and isProhibitedBusiness.
Partners authenticate with an API key on every request:
Preferred — header
X-Api-Key: rpuri_YOUR_KEY
Also accepted
Authorization: Bearer rpuri_YOUR_KEY
If the subscription has expired, metered routes return 403.
GET /v1/me still works so you can see why access stopped.
Quota applies only to calculation calls. Account endpoints are free.
| Limit | Default | Notes |
|---|---|---|
| Per minute | 100 | Stops tight retry loops |
| Per day | 5 000 | May be lower per client (rateLimitPerDay) |
| Holdings in portfolio | 20 | Max items in one POST /v1/portfolio |
Metered: POST /v1/calculate, /v1/screen (alias), /v1/portfolio.
Free: GET /v1/me, /v1/usage, /v1/usage/history, /v1/meta.
Over limit → 429.
POST /v1/calculate (alias: POST /v1/screen)
| Field | Required | Description |
|---|---|---|
ticker |
Yes | Trading symbol, e.g. AAPL |
dividendsReceived |
Yes | Number ≥ 0 |
year |
No | Report year (number or string) |
date |
No | ISO date; year is taken from the first 4 chars if year omitted |
currency |
No | Display currency label |
lang |
No | en or ru (default ru). Also: Accept-Language |
impureIncomeRatio |
No | 0–1. Manual fallback if the ticker is not in the DB |
isProhibitedBusiness |
No | Manual fallback: treat core business as haram |
Request
curl -X POST "https://purification.ailat.kz/v1/calculate" \
-H "X-Api-Key: rpuri_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"ticker": "AAPL",
"dividendsReceived": 1000,
"year": 2025,
"lang": "en"
}'
Example response
{
"ticker": "AAPL",
"companyName": "Apple Inc",
"currency": "USD",
"reportYear": "2025",
"quarter": "FY",
"dividendsReceived": 1000,
"purificationAmount": 28,
"appliedHaramRatio": 0.0274,
"status": "COMPLIANT_IMPURE",
"recommendation": "PURIFY_ONLY",
"notes": "Company is Shariah-compliant. … Purify 28 USD. No need to sell shares.",
"lang": "en",
"disclaimer": "Informational estimate aligned with common AAOIFI screening practice. Not a fatwa or investment advice."
}
POST /v1/portfolio — up to 20 holdings in one call.
Request
curl -X POST "https://purification.ailat.kz/v1/portfolio" \
-H "X-Api-Key: rpuri_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"defaultYear": 2025,
"lang": "en",
"holdings": [
{ "ticker": "AAPL", "dividendsReceived": 1000 },
{ "ticker": "MSFT", "dividendsReceived": 500 }
]
}'
Example response (shape)
{
"totalDividendsReceived": 1500,
"totalPurificationAmount": 40,
"securityCount": 2,
"compliantPureCount": 0,
"compliantImpureCount": 2,
"nonCompliantCoreBusinessCount": 0,
"nonCompliantFinancialRatiosCount": 0,
"notFoundCount": 0,
"items": [ /* same shape as /v1/calculate per holding */ ],
"lang": "en",
"disclaimer": "…"
}
| Method | Path | Returns |
|---|---|---|
GET |
/v1/me |
Client identity, plan, subscription, key prefix, limits |
GET |
/v1/usage |
Used / remaining for minute and day |
GET |
/v1/usage/history |
Recent calls (?limit=, ?offset=) |
GET |
/v1/meta |
Methodology thresholds, service limits, disclaimer |
curl
curl "https://purification.ailat.kz/v1/me" -H "X-Api-Key: rpuri_YOUR_KEY" curl "https://purification.ailat.kz/v1/usage" -H "X-Api-Key: rpuri_YOUR_KEY" curl "https://purification.ailat.kz/v1/meta" -H "X-Api-Key: rpuri_YOUR_KEY"
| Code | When |
|---|---|
400 |
Validation error (bad body / missing fields) |
401 |
Missing or invalid API key |
403 |
Subscription expired (except /v1/me) |
429 |
Per-minute or daily quota exceeded |
Keys and onboarding: admin@ailat.kz · Contact form
Also see Enterprise API docs for company screening data.