Enterprise API Documentation

Complete API reference for Ailat Enterprise services. Use Authorization: Bearer YOUR_API_KEY header for secure authentication.

Overview

The Enterprise API provides access to Shariah screening data for financial instruments. This API is designed for enterprise users and requires proper authentication and subscription.

Note: All requests require an API key via query parameter apikey. The key must belong to an active user in an Enterprise group and the subscription must be valid.

Authentication

All API requests require authentication using an API key. Use the Authorization header for secure authentication.

GET /api/v1/enterpriseunique/
Authorization: Bearer YOUR_API_KEY

Authentication Methods

Method Usage Security Example
Header (Recommended) Authorization: Bearer High Authorization: Bearer YOUR_API_KEY
Query Parameter ?apikey= Medium ?apikey=YOUR_API_KEY

API Key Requirements

  • Must belong to an active user in an Enterprise group
  • Subscription must be valid and active
  • Group name must start with "Enterprise" (e.g., "Enterprise_X")

HTTP Status Codes

Code Status Description
200 OK Request successful
401 Unauthorized Invalid or missing API key
403 Forbidden Insufficient permissions or expired subscription
429 Too Many Requests Rate limit exceeded
500 Internal Server Error Server error, contact support

Count

Aggregate counts across the ITSX universe. Supports advanced filters.

https://ailatapi.kz/api/v1/enterpriseunique/?count=all&apikey=YOUR_API_KEY

Available count values:

all | country | sector | industry | exchange_short_name | verdict | new

Query Parameter Type Required Example
count string yes all
lng string no en
filters string/number no market_cap_24_gte=1000000000
apikey string yes YOUR_API_KEY
count=all

Total number of unique trading symbols.

https://ailatapi.kz/api/v1/enterpriseunique/?count=all&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "all": 12345
  }
}
count=country

Distinct symbols grouped by country (case-insensitive).

https://ailatapi.kz/api/v1/enterpriseunique/?count=country&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "Countries": [
      {
        "Name": "USA",
        "Count": 8500
      },
      {
        "Name": "Canada",
        "Count": 1200
      }
    ]
  }
}
count=sector

Distinct symbols grouped by sector.

https://ailatapi.kz/api/v1/enterpriseunique/?count=sector&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "Sectors": [
      {
        "Name": "Technology",
        "Count": 2500
      },
      {
        "Name": "Healthcare",
        "Count": 1800
      }
    ]
  }
}
count=industry

Distinct symbols grouped by industry.

https://ailatapi.kz/api/v1/enterpriseunique/?count=industry&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "Industries": [
      {
        "Name": "Consumer Electronics",
        "Count": 1500
      },
      {
        "Name": "Software",
        "Count": 1200
      },
      {
        "Name": "Pharmaceuticals",
        "Count": 800
      }
    ]
  }
}
count=exchange_short_name

Distinct symbols grouped by exchange.

https://ailatapi.kz/api/v1/enterpriseunique/?count=exchange_short_name&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "Exchanges": [
      {
        "Name": "NASDAQ",
        "Count": 4500
      },
      {
        "Name": "NYSE",
        "Count": 3800
      },
      {
        "Name": "TSX",
        "Count": 1200
      }
    ]
  }
}
count=verdict

Distinct symbols grouped by Shariah verdict.

https://ailatapi.kz/api/v1/enterpriseunique/?count=verdict&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "Verdicts": [
      {
        "Name": "permissible",
        "Count": 8500
      },
      {
        "Name": "non_permissible",
        "Count": 3500
      },
      {
        "Name": "unknown",
        "Count": 345
      }
    ]
  }
}
count=new

New companies added within the last ~30 days.

https://ailatapi.kz/api/v1/enterpriseunique/?count=new&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "New companies": [
      {
        "Name": "permissible",
        "Count": 45
      },
      {
        "Name": "non permissible",
        "Count": 12
      }
    ],
    "Total": 57
  }
}

Listing

Retrieve detailed information about financial instruments.

List: all

Returns latest record per symbol. Supports filters, sorting, pagination.

https://ailatapi.kz/api/v1/enterpriseunique/?list=all&apikey=YOUR_API_KEY
{
  "Status": "OK",
  "Result": {
    "Symbols": [
      {
        "trading_symbol": "AAPL",
        "company_name": "Apple Inc.",
        "sector": "Technology",
        "industry": "Consumer Electronics",
        "country": "USA",
        "exchange_short_name": "NASDAQ",
        "shariah_verdict": "Permissible",
        "market_cap": 2940000000000,
        "total_debt": 120000000000,
        "total_cash_and_securities": 65000000000,
        "ratio_total_debt_to_market_cap_24": 0.04,
        "ratio_cash_and_securities_to_market_cap_24": 0.02,
        "period_report_date": "2024-12-31",
        "filled_date": "2025-02-10"
      }
    ],
    "Pagination": {
      "total_count": 1234,
      "start": 0,
      "length": 10
    }
  }
}
List: new

Records within last ~30 days; supports verdict filter and new-style filters.

https://ailatapi.kz/api/v1/enterpriseunique/?list=new&apikey=YOUR_API_KEY
List: availabledates

Requires trading_symbol; returns distinct report dates.

https://ailatapi.kz/api/v1/enterpriseunique/?list=availabledates&trading_symbol=AAPL&apikey=YOUR_API_KEY

Status

pool_status

For user's group pool; no extra params allowed.

https://ailatapi.kz/api/v1/enterpriseunique/?list=pool_status&apikey=YOUR_API_KEY
index_status

For user's personal index; no extra params allowed.

https://ailatapi.kz/api/v1/enterpriseunique/?list=index_status&apikey=YOUR_API_KEY

Symbol

Symbol (latest or range)

Details for a single symbol (with optional date range).

https://ailatapi.kz/api/v1/enterpriseunique/?symbol=AAPL&apikey=YOUR_API_KEY
Symbol history

Full history for a single symbol.

https://ailatapi.kz/api/v1/enterpriseunique/?symbolhistory=AAPL&apikey=YOUR_API_KEY

Controls

Filtering

Use Django-style operators with __: exact, iexact, contains, icontains, lt, lte, gt, gte.

https://ailatapi.kz/api/v1/enterpriseunique/?list=all§or__icontains=technology&market_cap__gte=1000000000&apikey=YOUR_API_KEY

Supported filter fields: country, sector, industry, exchange_short_name, trading_symbol, shariah_verdict, market_cap, total_debt, total_cash_and_securities

Sorting

Allow sorting on list/search results. sort_order is asc or desc.

https://ailatapi.kz/api/v1/enterpriseunique/?list=all&sort_field=market_cap&sort_order=desc&apikey=YOUR_API_KEY
Localization

Language support: en | ru | kk (default en).

https://ailatapi.kz/api/v1/enterpriseunique/?list=all&lng=ru&apikey=YOUR_API_KEY

Localized content: sector names, industry names, shariah verdict descriptions, error messages

Combinations

What can/cannot be mixed in API requests.

Mutually exclusive: only one of count | list | symbol | symbolhistory | search per request.
list=all
  • You may combine multiple new-style filters field__op=value
  • Old-style filters — only one at a time
  • May be combined with sort_field/sort_order and start/length
list=new
  • Only old-style verdict is allowed
  • New __ filters are also supported
availabledates
  • Requires trading_symbol (or symbol)
  • Sorting applies to dates; pagination supported
count
  • Mutually exclusive with other primary parameters
  • Supports lng parameter
  • Supports filters for some count types

Data Formats & Metadata

Date Formats

Field Format Example Description
period_report_date YYYY-MM-DD 2024-12-31 Financial report date
filled_date YYYY-MM-DD 2025-02-10 Data processing date

Currency & Units

Field Currency Unit Example
market_cap USD Dollars 2940000000000
total_debt USD Dollars 120000000000
total_cash_and_securities USD Dollars 65000000000
ratio_* - Decimal (0-1) 0.04 (4%)

Field Naming Convention

All API fields use snake_case naming convention for consistency:

  • trading_symbol (not symbol)
  • company_name (not Name)
  • exchange_short_name (not exchange)
  • shariah_verdict (not verdict)

Rate Limits

Enterprise groups have a per-minute request limit (from your group profile). Exceeding it returns Request limit per minute exceeded.

Rate Limit Response (429)

{
  "Status": "ERROR",
  "Message": "Request limit per minute exceeded",
  "Retry-After": 60
}

Index Management

Manage your personal index via Enterprise Unique API.

Add symbol to index
https://ailatapi.kz/api/v1/enterpriseunique/?apikey=YOUR_API_KEY&indexinsert=AAPL
{
  "Status": "OK",
  "Message": "Symbol AAPL added to index successfully"
}
Remove symbol from index
https://ailatapi.kz/api/v1/enterpriseunique/?apikey=YOUR_API_KEY&indexdel=AAPL
{
  "Status": "OK",
  "Message": "Symbol AAPL removed from index successfully"
}

Support

For full parameter list and response schemas, contact support: admin@ailat.kz