United Airlines Booking API

Flight booking and reservation management

OpenAPI Specification

united-airlines-booking-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: United Airlines NDC Booking API
  description: United Airlines NDC (New Distribution Capability) API enables travel agencies, online booking tools, and corporate travel platforms to search, book, and service United flights. The API provides access to continuous pricing, dynamic bundled fares (30+ product combinations), ancillary products, hold bookings, exchanges, refunds, cancellations, automatic waiver application, and ARC/BSP reporting. Compliant with IATA NDC standards.
  version: 1.0.0
  contact:
    name: United Airlines NDC Support
    email: ndcagency@united.com
    url: https://united.business/NDC-corporate
  termsOfService: https://united.business/NDC-corporate
servers:
- url: https://api.united.com/v1
  description: United Airlines NDC Production API
tags:
- name: Booking
  description: Flight booking and reservation management
paths:
  /bookings:
    post:
      operationId: createBooking
      summary: Create Booking
      description: Create a new flight booking using a selected offer. Supports hold bookings (fare-dependent), credit card payment with two-factor authentication, and unused ticket application as payment.
      tags:
      - Booking
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingRequest'
      responses:
        '201':
          description: Booking created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
      security:
      - OAuth2:
        - booking
    get:
      operationId: listBookings
      summary: List Bookings
      description: Retrieve a list of bookings for the agency or traveler account.
      tags:
      - Booking
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - confirmed
          - held
          - cancelled
        description: Filter bookings by status
      - name: departureDate
        in: query
        schema:
          type: string
          format: date
        description: Filter by departure date (YYYY-MM-DD)
      responses:
        '200':
          description: List of bookings returned
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/BookingResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
      - OAuth2:
        - booking
  /bookings/{bookingId}:
    get:
      operationId: getBooking
      summary: Get Booking
      description: Retrieve details of a specific booking by its ID.
      tags:
      - Booking
      parameters:
      - name: bookingId
        in: path
        required: true
        schema:
          type: string
        description: Unique booking identifier (PNR/record locator)
      responses:
        '200':
          description: Booking details returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingResponse'
        '404':
          $ref: '#/components/responses/NotFound'
        '401':
          $ref: '#/components/responses/Unauthorized'
      security:
      - OAuth2:
        - booking
components:
  responses:
    Unauthorized:
      description: Authentication required or failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    UnprocessableEntity:
      description: Request validation failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: array
          items:
            type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://api.united.com/v1/oauth/token
          scopes:
            read: Read-only access to flight data
            booking: Full booking and servicing access