DEVELOPER DOCS

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.

REST API JSON Bearer Auth v1.0

Quick Start

Get up and running in minutes. Follow these three steps to make your first API call.

1

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_.

2

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"
  }'
3

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:

Endpoints

Base URL: https://api.daleelaero.com

POST /v1/query

Ask a natural language maintenance question. Returns an AI-generated answer grounded in your uploaded technical documentation.

ParameterTypeDescription
query REQUIREDstringThe maintenance question to answer
aircraft_type optionalstringICAO aircraft type designator (e.g., B737-800)
engine_type optionalstringEngine model (e.g., CFM56-7B)
context optionalstringAdditional 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
  }
}
POST /v1/search

Perform a semantic search across all uploaded maintenance documentation. Returns ranked document chunks matching your query.

ParameterTypeDescription
query REQUIREDstringSearch query
limit optionalintegerNumber of results (default 10, max 50)
doc_type optionalstringFilter 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
  }
}
GET /v1/documents

List all documents uploaded to your organization's knowledge base. Supports pagination and filtering.

ParameterTypeDescription
page optionalintegerPage number (default 1)
per_page optionalintegerResults per page (default 20, max 100)
doc_type optionalstringFilter 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
  }
}
POST /v1/documents/upload

Upload a maintenance document (PDF, XML, SGML) for indexing. Documents are processed asynchronously; use the returned document_id to check status.

ParameterTypeDescription
file REQUIREDfileDocument file (max 200MB)
doc_type REQUIREDstringDocument type: AMM, IPC, SB, AD, CMM
aircraft_type optionalstringAssociated 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
  }
}
GET /v1/compliance/ads

Retrieve Airworthiness Directive compliance status for your fleet. Returns ADs applicable to the specified aircraft type with compliance status tracking.

ParameterTypeDescription
aircraft_type REQUIREDstringICAO aircraft type designator
status optionalstringFilter: 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
  }
}
GET /v1/health

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
  }
}
FieldTypeDescription
answerstringAI-generated answer grounded in source documentation
citations[]arraySource references with document, section, page, and relevance
safety_alerts[]arraySafety-critical warnings related to the query
confidencefloatConfidence 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

100
requests / minute

Enterprise

Custom
contact sales

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."
  }
}
CodeTypeDescription
400validation_errorInvalid or missing request parameters
401authentication_errorMissing or invalid API key
403forbiddenAPI key lacks required permissions
404not_foundRequested resource does not exist
413payload_too_largeRequest body or file exceeds size limit
429rate_limit_exceededToo many requests; retry after the period in Retry-After header
500internal_errorUnexpected server error; contact support if persistent
503service_unavailableService temporarily down for maintenance

Changelog

Track API changes and version history.

v1.0.0
March 2026 | Initial Release
  • 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