Maersk Air Booking API

Submit air freight booking requests via Maersk Air Cargo. Supports consolidation, charter, and forwarder bookings with product tiers for General, Express, Pharma, and Perishable cargo.

Maersk Air Booking API is one of 9 APIs that Maersk publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Shipping, Air, Booking, and Cargo. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

maersk-air-booking-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Maersk Air Booking API
  description: >
    Submit air freight booking requests via Maersk Air Cargo. Covers
    consolidation, charter, and forwarder bookings between supported
    origin and destination airports.
  version: '1.0'
  contact:
    name: Maersk Developer Support
    url: https://developer.maersk.com/support

servers:
  - url: https://api.maersk.com
    description: Production Gateway

security:
  - ConsumerKey: []

tags:
  - name: AirBookings
    description: Air freight bookings.

paths:
  /air-booking/v1/bookings:
    post:
      summary: Create Air Booking
      description: Submit a new air freight booking request.
      operationId: createAirBooking
      tags:
        - AirBookings
      parameters:
        - name: Consumer-Key
          in: header
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AirBookingRequest'
      responses:
        '201':
          description: Booking created.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirBooking'

  /air-booking/v1/bookings/{bookingReference}:
    get:
      summary: Get Air Booking
      description: Retrieve an existing air booking by reference.
      operationId: getAirBooking
      tags:
        - AirBookings
      parameters:
        - name: bookingReference
          in: path
          required: true
          schema:
            type: string
        - name: Consumer-Key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Booking returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AirBooking'

components:
  securitySchemes:
    ConsumerKey:
      type: apiKey
      in: header
      name: Consumer-Key
  schemas:
    AirBookingRequest:
      type: object
      required: [origin, destination, departureDate, pieces]
      properties:
        origin:
          type: string
          description: IATA airport code.
        destination:
          type: string
          description: IATA airport code.
        departureDate:
          type: string
          format: date
        productCode:
          type: string
          enum: [GENERAL, EXPRESS, PHARMA, PERISHABLE]
        pieces:
          type: array
          items:
            type: object
            properties:
              count:
                type: integer
              grossWeight:
                type: number
              weightUnit:
                type: string
                enum: [KGM, LBR]
              dimensions:
                type: object
                properties:
                  length:
                    type: number
                  width:
                    type: number
                  height:
                    type: number
                  unit:
                    type: string
                    enum: [CMT, INH]
        shipper:
          $ref: '#/components/schemas/AirParty'
        consignee:
          $ref: '#/components/schemas/AirParty'
    AirBooking:
      allOf:
        - $ref: '#/components/schemas/AirBookingRequest'
        - type: object
          properties:
            bookingReference:
              type: string
            status:
              type: string
              enum: [RECEIVED, CONFIRMED, REJECTED, CANCELLED, COMPLETED]
            createdAt:
              type: string
              format: date-time
    AirParty:
      type: object
      properties:
        name:
          type: string
        accountNumber:
          type: string
        contactEmail:
          type: string