Air Canada

Air Canada is Canada's flag carrier and largest airline, headquartered in Montreal, operating scheduled passenger service under the AC designator along with Air Canada Rouge, Air Canada Express and the Aeroplan loyalty programme. Its home market is Canada, where it forms a duopoly with WestJet. Air Canada sits at the supply end of the travel distribution chain: it is the sole source of its own seat inventory, reached either through the legacy GDS EDIFACT channel (Amadeus, Sabre, Travelport), through certified NDC aggregators, or directly through its own NDC API. Its API posture is unusual for a carrier in that the distribution surface is genuinely well documented in public: the ndc.aircanada.com developer portal publishes complete IATA NDC 17.2 (EDIST) message documentation, request/response element tables, error catalogues, use cases and downloadable sample XML with no login. What is not public is access itself - production credentials require a commercial agreement with Air Canada's distribution team, accredited IATA/ARC codes passed on every request, and passing Air Canada display certification test cases. There is no consumer API (no public flight status, booking or Aeroplan endpoint), no OpenAPI or machine-readable contract, no bulk export operation, and Air Canada publishes that it may revoke NDC programme access at its sole discretion. Public docs, gated access, no exit path.

Air Canada publishes 10 APIs on the APIs.io network. Tagged areas include Travel, Canada, Aviation, Airline, and NDC.

The Air Canada catalog on APIs.io includes 1 event-driven AsyncAPI specification.

Air Canada’s developer surface includes authentication, sandbox, changelog, code examples, documentation, API reference, getting-started guide, and 37 more developer resources.

43.2/100 thin Agent 49/100 agent ready Full breakdown ↓
scored 2026-07-28 · rubric v0.5
10 APIs
TravelCanadaAviationAirlineNDCDistributionBookingAirlinesLoyalty

Kin Score

Kin Score Kin Score How this is scored →
scored 2026-07-28 · rubric v0.5
Composite quality — 43.2/100 · thin
Contract Quality 5.7 / 25
Developer Ergonomics 12.6 / 20
Commercial Clarity 6.8 / 20
Operational Transparency 6.5 / 13
Governance 1.6 / 12
Discoverability 10.0 / 10
Agent readiness — 49/100 · agent ready
Machine-Readable Contract 0 / 18
Agentic Access Contract 15 / 15
MCP Server 0 / 12
Machine-Readable Auth 10 / 10
Idempotency 0 / 9
Stable Error Semantics 8 / 8
Request/Response Examples 7 / 7
Rate-Limit Signaling 0 / 7
Typed Event Surface 6 / 6
Agent Skills 5 / 5
Well-Known Catalog 0 / 4
Consent & Bot Identity 0 / 3
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. This rating is computed from github.com/api-evangelist/air-canada: open an issue to ask a question, or submit a pull request to add artifacts. Want it done for you? Prioritized profiling — $2,500 →

APIs 10

Individual APIs this provider publishes, each with its own machine-readable definition.

Air Canada NDC AirShopping API

IATA NDC 17.2 AirShopping message pair (AirShoppingRQ / AirShoppingRS). Shops one-way, round-trip and North America multicity itineraries and returns branded fare-family offers ...

Air Canada NDC OfferPrice API

IATA NDC 17.2 OfferPrice message pair (OfferPriceRQ / OfferPriceRS). Returns detailed and comprehensive pricing for a selected offer, including base fare, tax breakdown, surchar...

Air Canada NDC ServiceList API

IATA NDC 17.2 ServiceList message pair (ServiceListRQ / ServiceListRS). Returns the optional and ancillary services purchasable against an offer or order, such as Maple Leaf Lou...

Air Canada NDC SeatAvailability API

IATA NDC 17.2 SeatAvailability message pair (SeatAvailabilityRQ / SeatAvailabilityRS). Returns seat maps with advance and preferred seat pricing, either during a booking flow ag...

Air Canada NDC OrderCreate API

IATA NDC 17.2 OrderCreate message pair (OrderCreateRQ / OrderViewRS). Creates an actual reservation and returns an airline-assigned OrderID plus an Air Canada record locator and...

Air Canada NDC OrderRetrieve API

IATA NDC 17.2 OrderRetrieve message pair (OrderRetrieveRQ / OrderViewRS). Retrieves a single Order by mandatory OrderID and Owner. Air Canada documents that retrieving a cancell...

Air Canada NDC OrderChange API

IATA NDC 17.2 OrderChange message pair (OrderChangeRQ / OrderViewRS). Applies servicing changes to an existing Order, including seat and ancillary servicing with or without itin...

Air Canada NDC OrderReshop API

IATA NDC 17.2 OrderReshop message pair (OrderReshopRQ / OrderReshopRS). Reshops an existing Order to produce change offers, including partially flown itineraries and origin/dest...

Air Canada NDC OrderCancel API

IATA NDC 17.2 OrderCancel message pair (OrderCancelRQ / OrderCancelRS). Cancels an existing Order held by Air Canada, referenced by OrderID and Owner.

Air Canada NDC OrderChangeNotification API

IATA NDC 17.2 OrderChangeNotif message. Air Canada-initiated notification of changes made to an Order outside the seller's own request, such as schedule change or involuntary di...

Scroll for all 10

Event Specifications 1

AsyncAPI definitions for this provider's event-driven and streaming APIs.

Security Posture 2

Authentication, domain security, vulnerability disclosure, and trust-center signals.

Air Canada Authentication

apiKey · 2 schemes

SECURITY

Air Canada Domain Security

TLSv1.3 · HSTS · DMARC

SECURITY

Agentic Access 1

Recommended x-agentic-access execution contracts for AI agents.

Air Canada Agentic Access

10 operations · 6 acting

10 operations · 6 acting

AGENTIC

Resources

Get Started 5

Portal, sign-up, and the first successful call

Documentation 11

Reference material describing how the API behaves

Scroll for all 11

Agent Surfaces 3

MCP servers, agent skills, and machine-readable catalogs

Design & Contract 7

Pagination, idempotency, versioning, errors, and events

Scroll for all 7

Build 5

SDKs, sample code, and the tooling you integrate with

Access & Security 2

Authentication, authorization, and security posture

Operate 6

Status, limits, changes, and where to get help

Commercial 2

Pricing, plans, and the legal terms of use

Company 3

The organization behind the API

Source (apis.yml)

apis.yml Raw ↑
aid: air-canada
url: https://raw.githubusercontent.com/api-evangelist/air-canada/refs/heads/main/apis.yml
name: Air Canada
kind: company
description: 'Air Canada is Canada''s flag carrier and largest airline, headquartered in Montreal, operating scheduled passenger
  service under the AC designator along with Air Canada Rouge, Air Canada Express and the Aeroplan loyalty programme. Its
  home market is Canada, where it forms a duopoly with WestJet. Air Canada sits at the supply end of the travel distribution
  chain: it is the sole source of its own seat inventory, reached either through the legacy GDS EDIFACT channel (Amadeus,
  Sabre, Travelport), through certified NDC aggregators, or directly through its own NDC API. Its API posture is unusual for
  a carrier in that the distribution surface is genuinely well documented in public: the ndc.aircanada.com developer portal
  publishes complete IATA NDC 17.2 (EDIST) message documentation, request/response element tables, error catalogues, use cases
  and downloadable sample XML with no login. What is not public is access itself - production credentials require a commercial
  agreement with Air Canada''s distribution team, accredited IATA/ARC codes passed on every request, and passing Air Canada
  display certification test cases. There is no consumer API (no public flight status, booking or Aeroplan endpoint), no OpenAPI
  or machine-readable contract, no bulk export operation, and Air Canada publishes that it may revoke NDC programme access
  at its sole discretion. Public docs, gated access, no exit path.'
image: https://www.aircanada.com/favicon.ico
tags:
- Travel
- Canada
- Aviation
- Airline
- NDC
- Distribution
- Booking
- Airlines
- Loyalty
created: '2026-07-28'
modified: '2026-07-28'
specificationVersion: '0.19'
apis:
- aid: air-canada:air-canada-ndc-airshopping-api
  name: Air Canada NDC AirShopping API
  description: IATA NDC 17.2 AirShopping message pair (AirShoppingRQ / AirShoppingRS). Shops one-way, round-trip and North
    America multicity itineraries and returns branded fare-family offers with per-passenger price breakdowns, calendar offers
    and flight details. Requires agent IATA number and Agency ID for agency flows, or Point of Sale for direct consumer flows.
  humanURL: https://ndc.aircanada.com/api/documentation/airshopping
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Shopping
  - Offers
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/airshopping
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
  - type: GettingStarted
    url: https://ndc.aircanada.com/api/gettingstarted/gettingstarted
  - type: Specification
    url: https://www.iata.org/en/programs/airline-distribution/retailing/ndc/
- aid: air-canada:air-canada-ndc-offerprice-api
  name: Air Canada NDC OfferPrice API
  description: IATA NDC 17.2 OfferPrice message pair (OfferPriceRQ / OfferPriceRS). Returns detailed and comprehensive pricing
    for a selected offer, including base fare, tax breakdown, surcharges and fare rules, for presentation on the review page
    required by Air Canada's display requirements.
  humanURL: https://ndc.aircanada.com/api/documentation/offerprice
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Pricing
  - Offers
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/offerprice
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
- aid: air-canada:air-canada-ndc-servicelist-api
  name: Air Canada NDC ServiceList API
  description: IATA NDC 17.2 ServiceList message pair (ServiceListRQ / ServiceListRS). Returns the optional and ancillary
    services purchasable against an offer or order, such as Maple Leaf Lounge access and Air Canada Bistro meal vouchers.
  humanURL: https://ndc.aircanada.com/api/documentation/servicelist
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Ancillaries
  - Services
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/servicelist
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
- aid: air-canada:air-canada-ndc-seatavailability-api
  name: Air Canada NDC SeatAvailability API
  description: IATA NDC 17.2 SeatAvailability message pair (SeatAvailabilityRQ / SeatAvailabilityRS). Returns seat maps with
    advance and preferred seat pricing, either during a booking flow against an OfferID or after an Order has been created
    against an OrderID.
  humanURL: https://ndc.aircanada.com/api/documentation/seatavailability
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Seats
  - Ancillaries
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/seatavailability
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
- aid: air-canada:air-canada-ndc-ordercreate-api
  name: Air Canada NDC OrderCreate API
  description: IATA NDC 17.2 OrderCreate message pair (OrderCreateRQ / OrderViewRS). Creates an actual reservation and returns
    an airline-assigned OrderID plus an Air Canada record locator and associated reservation details. Payment, passenger and
    form-of-payment detail is carried on the request.
  humanURL: https://ndc.aircanada.com/api/documentation/ordercreate
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Orders
  - Booking
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/ordercreate
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
- aid: air-canada:air-canada-ndc-orderretrieve-api
  name: Air Canada NDC OrderRetrieve API
  description: IATA NDC 17.2 OrderRetrieve message pair (OrderRetrieveRQ / OrderViewRS). Retrieves a single Order by mandatory
    OrderID and Owner. Air Canada documents that retrieving a cancelled Order, a GDS booking, a redemption booking, or the
    modification history of an Order is not supported, and that filtering to specific sections of Order data is not supported.
  humanURL: https://ndc.aircanada.com/api/documentation/orderretrieve
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Orders
  - Servicing
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/orderretrieve
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
- aid: air-canada:air-canada-ndc-orderchange-api
  name: Air Canada NDC OrderChange API
  description: IATA NDC 17.2 OrderChange message pair (OrderChangeRQ / OrderViewRS). Applies servicing changes to an existing
    Order, including seat and ancillary servicing with or without itinerary change, passenger servicing and frequent-flyer
    updates.
  humanURL: https://ndc.aircanada.com/api/documentation/orderchange
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Orders
  - Servicing
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/orderchange
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
  - type: Examples
    url: https://ndc.aircanada.com/xml/UC03-UC06_SeatServicing_withoutITIN.zip
  - type: Examples
    url: https://ndc.aircanada.com/xml/UC07-UC10_SeatServicing_withITIN.zip
  - type: Examples
    url: https://ndc.aircanada.com/xml/UC11-UC12_AncilServicing_withoutITIN.zip
  - type: Examples
    url: https://ndc.aircanada.com/xml/UC13-UC16_AncilServicing_withITIN.zip
  - type: Examples
    url: https://ndc.aircanada.com/xml/UC29_PaxServicing_FQTVonly.zip
- aid: air-canada:air-canada-ndc-orderreshop-api
  name: Air Canada NDC OrderReshop API
  description: IATA NDC 17.2 OrderReshop message pair (OrderReshopRQ / OrderReshopRS). Reshops an existing Order to produce
    change offers, including partially flown itineraries and origin/destination replacement.
  humanURL: https://ndc.aircanada.com/api/documentation/orderreshop
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Orders
  - Reshop
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/orderreshop
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
  - type: Examples
    url: https://ndc.aircanada.com/xml/UC02_PartiallyFlown-ReplaceOD.zip
- aid: air-canada:air-canada-ndc-ordercancel-api
  name: Air Canada NDC OrderCancel API
  description: IATA NDC 17.2 OrderCancel message pair (OrderCancelRQ / OrderCancelRS). Cancels an existing Order held by Air
    Canada, referenced by OrderID and Owner.
  humanURL: https://ndc.aircanada.com/api/documentation/ordercancel
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Orders
  - Cancellation
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/ordercancel
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
- aid: air-canada:air-canada-ndc-orderchangenotification-api
  name: Air Canada NDC OrderChangeNotification API
  description: IATA NDC 17.2 OrderChangeNotif message. Air Canada-initiated notification of changes made to an Order outside
    the seller's own request, such as schedule change or involuntary disruption handling.
  humanURL: https://ndc.aircanada.com/api/documentation/orderchangenotification
  baseURL: https://ndcpartners.aircanada.com
  tags:
  - NDC
  - Orders
  - Notifications
  properties:
  - type: Documentation
    url: https://ndc.aircanada.com/api/documentation/orderchangenotification
  - type: APIReference
    url: https://ndc.aircanada.com/api/documentation/ndcapis
  - type: Webhooks
    url: asyncapi/air-canada-ocn-webhooks.yml
common:
- type: DomainSecurity
  url: security/air-canada-domain-security.yml
- type: Authentication
  url: authentication/air-canada-authentication.yml
- type: Conventions
  url: conventions/air-canada-conventions.yml
- type: ErrorCatalog
  url: errors/air-canada-error-codes.yml
- type: DeclineCodes
  url: errors/air-canada-decline-codes.yml
- type: Webhooks
  url: asyncapi/air-canada-ocn-webhooks.yml
- type: Sandbox
  url: sandbox/air-canada-sandbox.yml
- type: Lifecycle
  url: lifecycle/air-canada-lifecycle.yml
- type: ChangeLog
  url: changelog/air-canada-changelog.yml
- type: Conformance
  url: conformance/air-canada-conformance.yml
- type: DataModel
  url: data-model/air-canada-data-model.yml
- type: Vocabulary
  url: vocabulary/air-canada-vocabulary.yml
- type: AgenticAccess
  url: agentic-access/air-canada-agentic-access.yml
- type: Packages
  url: packages/air-canada-packages.yml
- type: Examples
  url: examples/_index.yml
- type: AgentSkill
  url: skills/_index.yml
- type: LLMsTxt
  url: llms/air-canada-llms.txt
- type: Website
  url: https://www.aircanada.com/
- type: DeveloperPortal
  url: https://ndc.aircanada.com/
- type: Documentation
  url: https://ndc.aircanada.com/api/documentation/ndcapis
- type: APIReference
  url: https://ndc.aircanada.com/api/documentation/ndcapis
- type: GettingStarted
  url: https://ndc.aircanada.com/api/gettingstarted/gettingstarted
- type: Documentation
  url: https://ndc.aircanada.com/api/gettingstarted/apisetup
- type: Documentation
  url: https://ndc.aircanada.com/api/gettingstarted/sellersetup
- type: Documentation
  url: https://ndc.aircanada.com/api/gettingstarted/apisorchestration
- type: Examples
  url: https://ndc.aircanada.com/api/gettingstarted/testdata
- type: Documentation
  url: https://ndc.aircanada.com/api/documentation/scenario
- type: SignUp
  url: https://ndc.aircanada.com/seller-registration-form
- type: Documentation
  url: https://ndc.aircanada.com/ndc-program/registration
- type: Partners
  url: https://ndc.aircanada.com/ndc-program/connection-options
- type: Documentation
  url: https://ndc.aircanada.com/ndc-program/ndc-capabilities
- type: Sandbox
  url: https://gold-ndc-sandbox.aircanada.com/login
- type: Support
  url: https://ndc.aircanada.com/support
- type: FAQ
  url: https://ndc.aircanada.com/support/faq
- type: Documentation
  url: https://ndc.aircanada.com/support/knownissues
- type: GitHubOrganization
  url: https://github.com/aircanada
- type: StatusPage
  url: https://ndc.aircanada.com/support/statusMonitoring
- type: ChangeLog
  url: https://ndc.aircanada.com/api/releasenotes/latestrelease
- type: Roadmap
  url: https://ndc.aircanada.com/api/roadmap
- type: Documentation
  url: https://www.aircanada.com/ca/en/aco/home/ndc.html
- type: Documentation
  url: https://www.aircanada.com/content/dam/aircanada/portal/documents/PDF/ndc-displayRequirements-en.pdf
- type: TermsOfService
  url: https://www.aircanada.com/ca/en/aco/home/legal/terms-of-use.html
- type: PrivacyPolicy
  url: https://www.aircanada.com/ca/en/aco/home/legal/privacy-policy.html
- type: LinkedIn
  url: https://www.linkedin.com/company/air-canada
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com