Federal Aviation Administration · OpenAPI Overlay 1.0.0

API Evangelist enhancements for FAA Air Carrier PRD API

7 actions 7 updates update extends openapi/faa-air-carrier-prd-api-openapi.yml
Derived by API Evangelist Built from the contracts Federal Aviation Administration publishes. Federal Aviation Administration did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-agentic-accessx-idempotencyx-apievangelist-slugx-apievangelist-apix-apievangelist-artifactsx-regulatory-basisx-eligibilityx-plan

Targets 7

$.info
$.components.securitySchemes
$.paths['/AirCarrierApi/Pilot'].post
$.paths['/AirCarrierApi/Pilot'].put
$.paths['/AirCarrierApi/Pilot'].delete
$.paths['/AirCarrierApi/PilotDataTracking'].delete
$.servers

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements for FAA Air Carrier PRD API
  version: 1.0.0
x-generated: '2026-07-28'
x-method: generated
x-source: openapi/faa-air-carrier-prd-api-openapi.yml
x-note: >-
  Non-destructive enhancements only. The harvested FAA spec is never mutated. This
  overlay records the credential model, the published rate limit and the regulatory
  eligibility gate, none of which the spec itself carries.
extends: openapi/faa-air-carrier-prd-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-slug: faa
    x-apievangelist-api: faa:faa-air-carrier-prd-api
    x-apievangelist-artifacts:
      authentication: authentication/faa-authentication.yml
      conventions: conventions/faa-conventions.yml
      errors: errors/faa-problem-types.yml
      lifecycle: lifecycle/faa-lifecycle.yml
      plans: plans/faa-plans.yml
      rate_limits: rate-limits/faa-rate-limits.yml
      data_model: data-model/faa-data-model.yml
    x-regulatory-basis: 14 CFR Part 111 — Pilot Records Database
    x-eligibility: >-
      Verbatim from the FAA portal catalog record — "Access is restricted to
      operators under Part 121, 135, 125, 91K, Air Tour, Public Aircraft, or 91
      Corporate. Requests for access from any other public or private entities will
      not be authorized."
    x-plan:
      name: API Key Plan
      security: API_KEY
      validation: MANUAL
      comment_required: true
    x-rate-limit:
      limit: 1
      period: 10 seconds
      scope: per subscription
      source: FAA Gravitee portal plan usage_configuration
    x-pii: true
    x-pii-note: >-
      Carries pilot identity, employment, training, drug/alcohol and disciplinary
      records.
- target: $.components.securitySchemes
  update:
    clientId:
      type: apiKey
      in: header
      name: client_id
      description: >-
        RECOMMENDED. The spec declares client_id as a required header PARAMETER on
        every operation rather than as a security scheme, so generated clients treat
        the credential as an ordinary parameter and no tooling recognises this API as
        authenticated. Modelling it as a scheme fixes that.
    clientSecret:
      type: apiKey
      in: header
      name: client_secret
      description: >-
        RECOMMENDED. Same issue as client_id. Note that carrying a secret as a plain
        request header with no token exchange is the weakest credential model in the
        FAA estate, and it guards the most sensitive data in it.
- target: $.paths['/AirCarrierApi/Pilot'].post
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required
      human-in-the-loop: required
    x-idempotency: >-
      NONE. No idempotency key is accepted. A retry after a timeout may create
      duplicate pilot records with no documented de-duplication.
    x-missing-error-responses: >-
      Only 200 is declared. No 400, 401, 403, 429 or 5xx contract exists for a write
      operation carrying regulated pilot records.
- target: $.paths['/AirCarrierApi/Pilot'].put
  update:
    x-agentic-access:
      action-class: acting
      consequence: write
      audit: required
      human-in-the-loop: required
    x-idempotency: NONE
- target: $.paths['/AirCarrierApi/Pilot'].delete
  update:
    x-agentic-access:
      action-class: acting
      consequence: safety-critical
      audit: required
      human-in-the-loop: required
    x-note: >-
      Destructive operation against a federally mandated record set, declaring no
      path or query parameter identifying WHAT is deleted and no error response.
- target: $.paths['/AirCarrierApi/PilotDataTracking'].delete
  update:
    x-agentic-access:
      action-class: acting
      consequence: safety-critical
      audit: required
      human-in-the-loop: required
- target: $.servers
  update:
  - url: https://external.apic4e.faa.gov
    description: Production environment.
  - url: https://external-api.faa.gov/AirCarrierApi
    description: >-
      Production deprecated url. Still advertised as a live entrypoint in the FAA
      Gravitee portal catalog record for this API — see lifecycle/faa-lifecycle.yml.
    x-deprecated: true
  - url: https://dev-external.apic4e.faa.gov/Test/AirCarrierApi
    description: >-
      Staging environment. Did NOT resolve when probed on 2026-07-28 (HTTP 000), so
      there is no reachable sandbox for external developers.
    x-unreachable: '2026-07-28'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/faa-air-carrier-prd-api-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.