API document

API Endpoint

Endpoint (Staging)

https://gw-dev.saladin.vn/api/v1/flight-insurance

Endpoint (Production)

​https://gw.saladin.vn/api/v1/flight-insurance

API Key & Authentication

External Authentication

API Versions

The latest version of the API is v2. Please always use the latest version with every API call

We strongly encourage our longtime customers to upgrade to the current version of the API. Which is qualitatively different from the older versions.

However, you can access the previous versions here.

API Details

API #1 - get insurance products

  • Purpose: This API allows the partner to retrieve available insurance products for the user's current flight booking.

  • Trigger when: We recommend calling this API when

    • Customers are booking flights to retrieve the insurance premium and advise them accordingly.

    • Recalculate the insurance premium after the booker issues the flight ticket.

post
Header parameters
X-Sld-TimestampnumberRequired

Timestamp when calling request in second, cannot be more than 10 minutes before the present time

X-Sld-ClientKeystringRequired

Client Key which is given to partner

X-Sld-SignaturestringRequired

Signature which is calculated by Saladin guide

Body
Responses
200
A successful response.
application/json
post
POST /vendor/v2/get-insurance-products HTTP/1.1
Host: 
X-Sld-Timestamp: 1
X-Sld-ClientKey: text
X-Sld-Signature: text
Content-Type: application/json
Accept: */*
Content-Length: 544

{
  "itinerary": {
    "type": "ONEWAY",
    "routes": [
      {
        "depart_at": "text",
        "arrive_at": "text",
        "departure_station_code": "text",
        "destination_station_code": "text",
        "type": "departing",
        "flights": [
          {
            "depart_at": "text",
            "arrive_at": "text",
            "departure_station_code": "text",
            "destination_station_code": "text",
            "airline_code": "text",
            "flight_number": "text"
          }
        ]
      }
    ]
  },
  "passengers": [
    {
      "full_name": "text",
      "dob": "text",
      "nationality": "text",
      "civil_id": "text",
      "email": "text",
      "phone_no": "text",
      "pax_group": "adult"
    }
  ],
  "passenger_stat": {
    "total_adults": 1,
    "total_children": 1,
    "total_infants": 1
  }
}
{
  "code": 1,
  "message": "text",
  "data": {
    "products": [
      {
        "code": "text",
        "name": "text",
        "premium_amount": 1,
        "link_detail_info": "text",
        "insurance_terms_url": "text",
        "insurer": "text",
        "opt": "opt_in"
      }
    ]
  }
}

API #2 - update policy

  • Purpose: his API allows the partner to update certain insurance contract details, such as passenger and flight information. Changes are accepted only up to 3 hours before the departure time.

    • The partner can also call the API API #5 - Check Update Policy to verify update rules, calculate the new premium, and enable the customer to confirm policy updates.

  • Body:

put
Path parameters
policy_idstringRequired

Policy ID will be responded when calling the API 'create policy'

Header parameters
X-Sld-TimestampnumberRequired

Timestamp when calling request in second, cannot be more than 10 minutes before the present time

X-Sld-ClientKeystringRequired

Client Key which is given to partner

X-Sld-SignaturestringRequired

Signature which is calculated by Saladin guide

Body
order_idstringRequired

The unique ID of the booking or transaction from the partner's system. For reconcilliation purpose.

Responses
200
A successful response.
application/json
put
PUT /vendor/v2/policies/{policy_id} HTTP/1.1
Host: 
X-Sld-Timestamp: 1
X-Sld-ClientKey: text
X-Sld-Signature: text
Content-Type: application/json
Accept: */*
Content-Length: 633

{
  "itinerary": {
    "type": "ONEWAY",
    "routes": [
      {
        "type": "departing",
        "depart_at": "text",
        "arrive_at": "text",
        "departure_station_code": "text",
        "destination_station_code": "text",
        "pnr": "text",
        "flights": [
          {
            "depart_at": "text",
            "arrive_at": "text",
            "departure_station_code": "text",
            "destination_station_code": "text",
            "airline_code": "text",
            "flight_number": "text"
          }
        ]
      }
    ]
  },
  "buyer": {
    "full_name": "text",
    "email": "text",
    "phone_no": "text",
    "dob": "text",
    "nationality": "text",
    "civil_id": "text",
    "address": "text"
  },
  "passengers": [
    {
      "full_name": "text",
      "dob": "text",
      "nationality": "text",
      "civil_id": "text",
      "email": "text",
      "phone_no": "text",
      "pax_group": "adult"
    }
  ],
  "order_id": "text"
}
{
  "code": 1,
  "message": "text",
  "data": {
    "policy_id": "text",
    "policy_number": "text",
    "new_premium_amount": 1,
    "payment_amount": 1,
    "claim_url": "text"
  }
}

API #3 - Create policy

  • Purpose: This API enables the partner to send flight information to create a policy in the Saladin system.

  • Body:

post
Header parameters
X-Sld-TimestampnumberRequired

Timestamp when calling request in second, cannot be more than 10 minutes before the present time

X-Sld-ClientKeystringRequired

Client Key which is given to partner

X-Sld-SignaturestringRequired

Signature which is calculated by Saladin guide

Body
product_codestringRequired

Product code was got from the api 'get insurance product'.

premium_amountnumber · int64Required

Product premium amount was got from the api 'get insurance product'.

order_idstringRequired

The unique ID of the booking or transaction from the partner's system. For reconcilliation purpose.

Responses
200
A successful response.
application/json
post
POST /vendor/v2/policies HTTP/1.1
Host: 
X-Sld-Timestamp: 1
X-Sld-ClientKey: text
X-Sld-Signature: text
Content-Type: application/json
Accept: */*
Content-Length: 674

{
  "product_code": "text",
  "premium_amount": 1,
  "itinerary": {
    "type": "ONEWAY",
    "routes": [
      {
        "type": "departing",
        "depart_at": "text",
        "arrive_at": "text",
        "departure_station_code": "text",
        "destination_station_code": "text",
        "pnr": "text",
        "flights": [
          {
            "depart_at": "text",
            "arrive_at": "text",
            "departure_station_code": "text",
            "destination_station_code": "text",
            "airline_code": "text",
            "flight_number": "text"
          }
        ]
      }
    ]
  },
  "buyer": {
    "full_name": "text",
    "email": "text",
    "phone_no": "text",
    "dob": "text",
    "nationality": "text",
    "civil_id": "text",
    "address": "text"
  },
  "passengers": [
    {
      "full_name": "text",
      "dob": "text",
      "nationality": "text",
      "civil_id": "text",
      "email": "text",
      "phone_no": "text",
      "pax_group": "adult"
    }
  ],
  "order_id": "text"
}
{
  "code": 1,
  "message": "text",
  "data": {
    "policy_id": "text",
    "policy_number": "text",
    "claim_url": "text",
    "link_detail_info": "text",
    "insurance_terms_url": "text"
  }
}

API #4 - Get policy info

Purpose: This API returns the most up-to-date policy data.

get
Query parameters
order_idstringOptional
policy_idstringOptional
Header parameters
X-Sld-TimestampnumberRequired

Timestamp when calling request in second, cannot be more than 10 minutes before the present time

X-Sld-ClientKeystringRequired

Client Key which is given to partner

X-Sld-SignaturestringRequired

Signature which is calculated by Saladin guide

Responses
200
A successful response.
application/json
get
GET /vendor/v2/policies HTTP/1.1
Host: 
X-Sld-Timestamp: 1
X-Sld-ClientKey: text
X-Sld-Signature: text
Accept: */*
{
  "code": 1,
  "message": "text",
  "data": {
    "policies": [
      {
        "id": "text",
        "policy_number": "text",
        "product_code": "text",
        "issued_at": "2025-06-26T13:06:40.506Z",
        "premium_amount": 1,
        "status": "text",
        "insurer": "text",
        "product_name": "text",
        "ecert_url": "text",
        "claim_url": "text",
        "product_detail_url": "text",
        "insurance_term_url": "text",
        "order_id": "text"
      }
    ]
  }
}

API #5 - Check Update Policy

Purpose: This API is used to validate rules and retrieve the updated insurance premium before policy modification.

post
Path parameters
policy_idstringRequired

Policy ID will be responded when calling the API 'create policy'

Header parameters
X-Sld-TimestampnumberRequired

Timestamp when calling request in second, cannot be more than 10 minutes before the present time

X-Sld-ClientKeystringRequired

Client Key which is given to partner

X-Sld-SignaturestringRequired

Signature which is calculated by Saladin guide

Body
order_idstringRequired

The unique ID of the booking or transaction from the partner's system. For reconcilliation purpose.

Responses
200
A successful response.
application/json
post
POST /vendor/v2/check-update-policy/{policy_id} HTTP/1.1
Host: 
X-Sld-Timestamp: 1
X-Sld-ClientKey: text
X-Sld-Signature: text
Content-Type: application/json
Accept: */*
Content-Length: 633

{
  "itinerary": {
    "type": "ONEWAY",
    "routes": [
      {
        "type": "departing",
        "depart_at": "text",
        "arrive_at": "text",
        "departure_station_code": "text",
        "destination_station_code": "text",
        "pnr": "text",
        "flights": [
          {
            "depart_at": "text",
            "arrive_at": "text",
            "departure_station_code": "text",
            "destination_station_code": "text",
            "airline_code": "text",
            "flight_number": "text"
          }
        ]
      }
    ]
  },
  "buyer": {
    "full_name": "text",
    "email": "text",
    "phone_no": "text",
    "dob": "text",
    "nationality": "text",
    "civil_id": "text",
    "address": "text"
  },
  "passengers": [
    {
      "full_name": "text",
      "dob": "text",
      "nationality": "text",
      "civil_id": "text",
      "email": "text",
      "phone_no": "text",
      "pax_group": "adult"
    }
  ],
  "order_id": "text"
}
{
  "code": 1,
  "message": "text",
  "data": {
    "policy_id": "text",
    "policy_number": "text",
    "new_premium_amount": 1,
    "payment_amount": 1,
    "claim_url": "text"
  }
}

Last updated