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
Generated by API Evangelist Written by API Evangelist tooling for Federal Aviation Administration's API. It is a proposal applied on top of the contract, not a document Federal Aviation Administration publishes.
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'