• Solutions
  • Glossary
  • Blog
  • Documentation
  • Pricing
  • FAQ

Doana - AI customs agents for aviation, freight and supply chain teams.

From your inbox to export-ready data, without changing how your team works.

About
  • About
  • Blog
  • Glossary
  • Contact
Product
  • Solutions
  • AOG email triage
  • CARM automation
  • How it works
  • AI agents
  • Developers
Legal
  • Terms of Service
  • Privacy Policy
  • Cookie Policy
  • llms.txt

© Copyright 2026 Doana. All Rights Reserved.

Doana
Developers / For developers and aviation integrators

For developers and aviation integrators

EASA Form 1 Extraction API

Cover Image for EASA Form 1 Extraction API

There is no public REST POST /extract that turns an EASA Form 1 into JSON. The contract is Streamable HTTP MCP with OAuth at https://doana.ca/api/mcp.

Map the fields, finish OAuth, and learn the job envelope and weekly quota before the first tools/call. Assisted extraction is for human review, not airworthiness, authenticity, or customs clearance.

Extract your first EASA Form 1Inspect OpenAPI

Public catalog as of 12 September 2026: extract_easa_form1 only.

EASA Form 1 API (MCP, not REST)

Initialize a session at https://doana.ca/api/mcp, complete OAuth, list tools, and call extract_easa_form1. OpenAPI is discovery. The /mcp marketing page is not the protocol endpoint.

EASA describes Form 1 as an Authorised Release Certificate for production and maintenance. The API returns those sections as structured fields. It does not certify authenticity, part airworthiness, or regulatory compliance. Start with one representative certificate before any batch loop.

  • Doana OpenAPI contract
  • MCP specification: Streamable HTTP transport
  • EASA: What is an EASA Form 1?

Fields on a succeeded job

When status is succeeded and documentType is easa_form_1, the result uses schemaVersion easa-form-1-v1. Headers cover box1Authority, box3TrackingNumber, organisation name and address, and box5WorkOrder. Each item has box6Item through box12Remarks. Serial numbers are box10SerialNumbers, an array of value, confidence and page objects rather than a comma-joined string.

release13 and release14 stay separate objects with fields A–E. An empty production block beside a filled maintenance block is expected on many maintenance certificates. Each scalar field has value, confidence and page. uncertainFields lists paths that need a human, using a 0.7 confidence threshold on non-empty values.

  • Header: authority, tracking number, organisation, work order.
  • Items: item number, description, part number, quantity, serial array, status, remarks.
  • Release: section 13 and section 14 as separate A–E objects.
  • EASA: What is an EASA Form 1?
  • Doana public tool catalog

Authenticate and upload

Create a Doana personal account, add the remote server URL, and finish OAuth. Call get_usage. PDF files may be 50 MB and 20 pages; JPEG and PNG may be 20 MB. TIFF is rejected as UNSUPPORTED_FILE_TYPE. TOO_MANY_PAGES applies above 20 PDF pages.

Outside ChatGPT, send lossless content_base64 for an original file up to 64 KiB. Larger files, or files that cannot fit in a tool call, need create_mcp_upload. PUT raw bytes to upload_url with every required_headers entry before expires_at, or open browser_upload_url while signed in. Then call extract_easa_form1 with upload_id.

  1. Create the personal account and complete OAuth on https://doana.ca/api/mcp.
  2. List tools and confirm extract_easa_form1, get_extraction_result, create_mcp_upload and get_usage.
  3. Choose file, content_base64 or upload_id — never a local path or arbitrary https URL.
  4. Poll get_extraction_result with job_id while status is dispatch_pending, queued, running or outcome_unknown.
  • Doana OpenAPI contract
  • EASA Form 1 MCP walkthrough
  • MCP specification: Streamable HTTP transport

Succeeded job envelope

The first extract_easa_form1 envelope returns job_id, status, poll_after_seconds, replayed, quota and an optional result. Status can already be succeeded, failed_refundable or failed_charged, or still dispatch_pending, queued, running or outcome_unknown. Retrieval through get_extraction_result is the payload you import. Re-sending the same file within 24 hours can replay the existing job instead of consuming another weekly unit.

The excerpt below is synthetic. The fictional source line is “Block 8 — Part No.: DEMO-PN-001”. It is not a complete response and not a real certificate. Import only when status is succeeded, documentType is easa_form_1 and result is present. documentType unknown is usually a succeeded job with no Form 1 — not a status named unknown.

{
  "status": "succeeded",
  "documentType": "easa_form_1",
  "result": {
    "schemaVersion": "easa-form-1-v1",
    "items": [
      {
        "box8PartNumber": {
          "value": "DEMO-PN-001",
          "confidence": 0.98,
          "page": 1
        }
      }
    ]
  },
  "uncertainFields": []
}
  • Doana public tool catalog

Quota and review

The base allowance is five EASA Form 1 files per personal account per UTC week. MCP_QUOTA_EXHAUSTED means the weekly quota is used and the account holds no paid credits. The period resets Monday 00:00 UTC. Failed or out-of-scope jobs refund the unit. On failed_refundable or failed_charged, show lastError.

Confidence is a model estimate, not a measured accuracy guarantee. Assisted extraction does not certify document authenticity, part airworthiness or regulatory compliance. Compare part numbers, serial arrays and remarks with the source PDF before any inventory or customs mapping.

  • DOWNLOAD_URL_EXPIRED: attach the ChatGPT file again in the same turn.
  • FILE_TOO_LARGE / TOO_MANY_PAGES: do not retry the same bytes; send a smaller Form 1 PDF.
  • UNSUPPORTED_FILE_TYPE: TIFF and other non-PDF/JPEG/PNG uploads are rejected.
  • Unknown documentType: report the outcome; do not reconstruct a certificate in chat.
  • Doana public tool catalog
  • EASA Form 1 MCP walkthrough

On this page

  1. EASA Form 1 API (MCP, not REST)
  2. Fields on a succeeded job
  3. Authenticate and upload
  4. Succeeded job envelope
  5. Quota and review

Related guides

  • Agent workflow for EASA Form 1
  • What an EASA Form 1 means
  • FAA 8130-3 API availability
Extract your first EASA Form 1 →