HaloSync
Production(3.1.0)
  • Sandbox(3.1.0)
  • Production(3.1.0)
HomeLunaAlbus
HomeLunaAlbus
Production(3.1.0)
  • Sandbox(3.1.0)
  • Production(3.1.0)
  1. PolarHub API
  • Overview
  • Release Notes
    • PolarHub Release Note
    • Luna Release Note
    • Albus Release Note
  • Get Started
    • What is HaloSync?
    • Supported Airlines
    • PolarHub Credential
  • Airline Integration Guide
    • Carrier Support Matrix
    • Operational Notes
  • PolarHub API
    • 🔑 Transaction ID Guidelines
    • 🔐 Authentication: HMAC Guide
    • AirShopping
      POST
    • OfferPrice
      POST
    • OrderCreate
      POST
    • OrderRetrieve
      POST
    • ServiceList
      POST
    • SeatAvailability
      POST
    • OrderChange
      POST
    • OrderReshop
      POST
    • OrderQuote
      POST
    • OrderCancel
      POST
  • Support & Contact
    • General FAQ
    • Contact (Integration & Support)
  • PolarHub Errors&Troubleshooting
    • Common Error Codes
  • Schemas
    • PolarHub Schema 2025.6
      • comm
        • RequestOfferItemType
        • RequestOrderItemType
        • OrderServicingDeleteType
        • TravelAgencyType
        • OriginDestType
        • PaxCodeType
        • CriteriaType
        • ResponseParameterType
        • ResultMessageType
        • DataListsType
        • OrderOfferType
        • OfferType
        • OfferItemInfoType
        • PaxType
        • PaymentType
        • ContactInfoType
        • OrderViewOrderType
        • OfferType_Extend
      • AirShoppingRQ
      • AirShoppingRS
      • OfferPriceRQ
      • OfferPriceRS
      • OrderCreateRQ
      • OrderViewRS
      • SeatAvailabilityRQ
      • SeatAvailabilityRS
      • ServiceListRQ
      • ServiceListRS
      • OrderRetrieveRQ
      • OrderReshopRQ
      • OrderQuoteRQ
      • OrderReshopRS
      • OrderCancelRQ
      • OrderCancelRS
      • OrderChangeRQ
    • PolarHub Schema 2025.3
      • comm
        • TravelAgencyType
        • OriginDestType
        • PaxCodeType
        • CriteriaType
        • ResponseParameterType
        • ResultMessageType
        • DataListsType
        • OrderOfferType
        • OfferType
        • OfferItemInfoType
        • PaxType
        • PaymentType
        • ContactInfoType
        • OrderViewOrderType
        • OfferType_Extend
      • OrderChangeRQ
      • AirShoppingRS
      • OrderReshopRS
      • AirShoppingRQ
      • OfferPriceRQ
      • OfferPriceRS
      • OrderCreateRQ
      • OrderViewRS
      • SeatAvailabilityRQ
      • SeatAvailabilityRS
      • ServiceListRQ
      • ServiceListRS
      • OrderRetrieveRQ
      • OrderReshopRQ
      • OrderQuoteRQ
      • OrderCancelRQ
      • OrderCancelRS
    • PolarHub Schema 2025.7
      • comm
        • ResponseParameterType
        • TravelAgencyType
        • OriginDestType
        • PaxCodeType
        • CriteriaType
        • ResultMessageType
        • DataListsType
        • OrderOfferType
        • OfferType
        • OfferItemInfoType
        • PaxType
        • PaymentType
        • ContactInfoType
        • OrderViewOrderType
        • OfferType_Extend
      • OrderChangeRQ
      • AirShoppingRS
      • OfferPriceRS
      • OrderViewRS
      • SeatAvailabilityRS
      • ServiceListRS
      • OrderReshopRS
      • OrderCancelRS
      • OrderCancelRQ
      • OrderQuoteRQ
      • OfferPriceRQ
      • AirShoppingRQ
      • OrderCreateRQ
      • SeatAvailabilityRQ
      • OrderRetrieveRQ
      • OrderReshopRQ
      • ServiceListRQ
  1. PolarHub API

🔐 Authentication: HMAC Guide

💡
This guide explains how to authenticate and call HaloSync APIs using HMAC-based signatures.

1. Purpose#

HaloSync uses HMAC authentication to ensure that each API request is signed securely.
The signature combines a date header, the request body digest, and your secret key.

2. Method Overview#

HMAC Signature and Date + Body Digest must be included in request headers.
Supported algorithm: HMAC-SHA512.

3. Header Construction#

1
Step 1: Date Header
Generate a timestamp in GMT (RFC1123 format).
Example:
Tue, 26 Aug 2025 10:12:34 GMT
2
Step 2: Digest Header
Hash the request body with SHA-512 and encode it in Base64.
SHA-512=${bodyHash}
3
Step 3: Authorization Header
Build the Authorization header string:
hmac username="${keyId}", algorithm="hmac-sha512", headers="x-date digest", signature="${signature}"
keyId → Provided user name
signature → HMAC-SHA512 over (x-date + digest) using your secret key (Base64)
4
Step 4: Final Headers
Example:

4. Constraints#

Clock Skew: Requests are valid within ±120 seconds of the server time.
Make sure client systems sync with NTP to avoid time drift.

5. Sample Codes#

Node.js
Python
Postman / Apidog Script
Java
Modified at 2025-09-08 04:36:57
Previous
🔑 Transaction ID Guidelines
Next
AirShopping
Built with