Daleel MRO API
Integrate aviation maintenance intelligence into your systems. Query maintenance manuals, track compliance, and surface safety-critical information with a single API call.
Quick Start
Get up and running in minutes. Follow these three steps to make your first API call.
Get Your API Key
Sign up at dashboard.daleelaero.com and generate an API key from the Developer Settings panel. Your key starts with dk_.
Make Your First Request
Send a POST request to the query endpoint with your maintenance question.
# Ask a maintenance question curl -X POST https://api.daleelaero.com/v1/query \ -H "Authorization: Bearer dk_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "query": "What is the torque spec for CFM56-7B fan blade bolts?", "aircraft_type": "B737-800" }'
Parse the Response
The API returns a structured JSON response with an answer, source citations, safety alerts, and a confidence score. See the Response Format section for details.
Authentication
All API requests require authentication via a Bearer token included in the Authorization header.
Authorization: Bearer dk_your_api_key
API Key Management
API keys can be created, rotated, and revoked from your Daleel MRO dashboard. We recommend the following best practices:
- Use separate keys for development and production environments
- Rotate keys every 90 days
- Never expose keys in client-side code or version control
- Set IP allowlists for production keys
Endpoints
Base URL: https://api.daleelaero.com
Ask a natural language maintenance question. Returns an AI-generated answer grounded in your uploaded technical documentation.
| Parameter | Type | Description |
|---|---|---|
| query REQUIRED | string | The maintenance question to answer |
| aircraft_type optional | string | ICAO aircraft type designator (e.g., B737-800) |
| engine_type optional | string | Engine model (e.g., CFM56-7B) |
| context optional | string | Additional context for better answers |
curl -X POST https://api.daleelaero.com/v1/query \ -H "Authorization: Bearer dk_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "query": "Landing gear retraction check interval for A320", "aircraft_type": "A320" }'
{
"success": true,
"data": {
"answer": "The landing gear retraction test must be performed every 750 flight hours per AMM 32-30-00...",
"citations": [
{
"source": "AMM 32-30-00",
"section": "4.2.1",
"page": 142
}
],
"safety_alerts": [],
"confidence": 0.94
}
}
Perform a semantic search across all uploaded maintenance documentation. Returns ranked document chunks matching your query.
| Parameter | Type | Description |
|---|---|---|
| query REQUIRED | string | Search query |
| limit optional | integer | Number of results (default 10, max 50) |
| doc_type optional | string | Filter by document type: AMM, IPC, SB, AD, CMM |
curl -X POST https://api.daleelaero.com/v1/search \ -H "Authorization: Bearer dk_your_api_key" \ -H "Content-Type: application/json" \ -d '{ "query": "hydraulic pump seal replacement", "limit": 5, "doc_type": "CMM" }'
{
"success": true,
"data": {
"results": [
{
"content": "Remove hydraulic pump assembly per CMM 29-10-01...",
"source": "CMM 29-10-01",
"relevance": 0.97
}
],
"total": 23
}
}
List all documents uploaded to your organization's knowledge base. Supports pagination and filtering.
| Parameter | Type | Description |
|---|---|---|
| page optional | integer | Page number (default 1) |
| per_page optional | integer | Results per page (default 20, max 100) |
| doc_type optional | string | Filter by document type |
curl https://api.daleelaero.com/v1/documents?page=1&per_page=10 \ -H "Authorization: Bearer dk_your_api_key"
{
"success": true,
"data": {
"documents": [
{
"id": "doc_8f3a2b1c",
"name": "B737-800 AMM Rev.42",
"type": "AMM",
"pages": 3842,
"status": "indexed"
}
],
"total": 47,
"page": 1
}
}
Upload a maintenance document (PDF, XML, SGML) for indexing. Documents are processed asynchronously; use the returned document_id to check status.
| Parameter | Type | Description |
|---|---|---|
| file REQUIRED | file | Document file (max 200MB) |
| doc_type REQUIRED | string | Document type: AMM, IPC, SB, AD, CMM |
| aircraft_type optional | string | Associated aircraft type |
curl -X POST https://api.daleelaero.com/v1/documents/upload \ -H "Authorization: Bearer dk_your_api_key" \ -F "file=@B737-AMM-Rev42.pdf" \ -F "doc_type=AMM" \ -F "aircraft_type=B737-800"
{
"success": true,
"data": {
"document_id": "doc_9c4e7d2f",
"status": "processing",
"estimated_time": 120
}
}
Retrieve Airworthiness Directive compliance status for your fleet. Returns ADs applicable to the specified aircraft type with compliance status tracking.
| Parameter | Type | Description |
|---|---|---|
| aircraft_type REQUIRED | string | ICAO aircraft type designator |
| status optional | string | Filter: open, complied, not_applicable |
curl https://api.daleelaero.com/v1/compliance/ads?aircraft_type=A320&status=open \ -H "Authorization: Bearer dk_your_api_key"
{
"success": true,
"data": {
"aircraft_type": "A320",
"directives": [
{
"ad_number": "2024-0156",
"title": "Wing Spar Inspection",
"status": "open",
"compliance_date": "2026-06-15"
}
],
"total": 12
}
}
Check API service health and current status. This endpoint does not require authentication.
curl https://api.daleelaero.com/v1/health
{
"status": "healthy",
"version": "1.0.0",
"uptime": 99.98
}
Response Format
All successful API responses follow a consistent JSON structure. The /v1/query endpoint returns the richest response with answers, citations, safety alerts, and confidence scoring.
{
"success": true,
"data": {
"answer": "The torque specification for CFM56-7B fan blade bolts is 45-50 ft-lbs as per EMM 72-00-00, Section 6.3.2. Apply anti-seize compound before installation.",
"citations": [
{
"source": "EMM 72-00-00",
"section": "6.3.2",
"page": 287,
"relevance": 0.98
},
{
"source": "SB CFM56-72-0834",
"section": "3.1",
"page": 12,
"relevance": 0.91
}
],
"safety_alerts": [
{
"level": "WARNING",
"message": "Ensure engine is cold before fan blade removal. Refer to safety procedure SP-72-001."
}
],
"confidence": 0.94
},
"meta": {
"request_id": "req_7f8a9b2c3d4e",
"processing_time_ms": 832
}
}
| Field | Type | Description |
|---|---|---|
| answer | string | AI-generated answer grounded in source documentation |
| citations[] | array | Source references with document, section, page, and relevance |
| safety_alerts[] | array | Safety-critical warnings related to the query |
| confidence | float | Confidence score from 0.0 to 1.0 |
Rate Limits
Rate limits are applied per API key. Exceeding your limit returns a 429 Too Many Requests response with a Retry-After header.
Starter
Professional
Enterprise
SDKs
Official client libraries for popular languages. Install via your preferred package manager.
Python
Async-ready Python client with type hints and Pydantic models.
pip install daleel-mro
# Usage from daleel import DaleelClient client = DaleelClient("dk_your_api_key") result = client.query("Torque spec for CFM56 fan blade bolts") print(result.answer)Coming Soon
JavaScript / TypeScript
Fully typed SDK for Node.js and edge runtimes. ESM and CJS support.
npm install @daleel-aero/sdk
// Usage import { DaleelClient } from '@daleel-aero/sdk'; const client = new DaleelClient('dk_your_api_key'); const result = await client.query('Torque spec for CFM56 fan blade bolts'); console.log(result.answer);Coming Soon
Error Codes
When an error occurs, the API returns an appropriate HTTP status code and a JSON body with details.
{
"success": false,
"error": {
"code": 400,
"type": "validation_error",
"message": "The 'query' field is required."
}
}
| Code | Type | Description |
|---|---|---|
| 400 | validation_error | Invalid or missing request parameters |
| 401 | authentication_error | Missing or invalid API key |
| 403 | forbidden | API key lacks required permissions |
| 404 | not_found | Requested resource does not exist |
| 413 | payload_too_large | Request body or file exceeds size limit |
| 429 | rate_limit_exceeded | Too many requests; retry after the period in Retry-After header |
| 500 | internal_error | Unexpected server error; contact support if persistent |
| 503 | service_unavailable | Service temporarily down for maintenance |
Changelog
Track API changes and version history.
- Natural language maintenance query endpoint
- Semantic search across technical documentation
- Document upload and indexing pipeline
- Airworthiness Directive compliance tracking
- Bearer token authentication
- Rate limiting with tiered plans
- Comprehensive error handling and response format
Ready to Integrate?
Get your API key today and start building aviation maintenance intelligence into your applications.
Contact Sales