For the complete documentation index, see llms.txt. This page is also available as Markdown.

Create Offer

Create Offer

post

The Create Offer endpoint generates product offerings based on your business context and customer information. This endpoint uses a schema-driven approach to validate requests and returns one or more products with detailed pricing, product information, and content for display.

Authorizations
AuthorizationstringRequired

Composite Authentication Scheme (Client Key, Date, and Signature)

This scheme requires the client to provide three mandatory headers in every request:

1. X-Api-Key (Client Key)

  • Purpose: Public identifier for the API consumer.
  • Example: X-Api-Key: a1b2c3d4e5f6g7h8

2. Date (Timestamp)

  • Purpose: Timestamp used for generating the signature and preventing replay attacks.
  • Format: RFC 7231 format (e.g., in GMT).
  • Example: Date: Sun, 09 Nov 2025 04:04:00 GMT

3. Authorization (Computed Signature)

  • Purpose: The cryptographic signature that verifies the request's authenticity and integrity.
  • Format: SIGNATURE [authHeader]

Signature Generation Logic: The authHeader value is derived from a cryptographic hash (e.g., HMAC-SHA256) of canonical request components (HTTP Method, Path, and the contents of the Date header), signed with the private Client Secret.

Path parameters
partner_codestringRequired

Partner code identifier. Client Solutions Engineer (CSE) should provide this value.

Query parameters
active_onlybooleanOptional

When using a test API key, only return active offers

Default: false
include_contentbooleanOptional

Include localized content in the response

Default: true
extra_fieldsstringOptional

Comma-separated list of specific extra fields to include. Available fields: tax, commission, benefits, surcharge

exclude_offer_idsstringOptional

Comma-separated list of Offer Config IDs to exclude from the response

Body
schemastringRequired

Schema identifier for the offer type. If not provided, the default schema for your partner will be used. The Client Solutions Engineer (CSE) will provide the appropriate schema identifier during integration.

Responses
200

OK

application/json
post/partners/{partner_code}/offers/
POST /x/partners/{partner_code}/offers/ HTTP/1.1
Host: api.xcover.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 1794

{
  "schema": "travel-1",
  "customer": {
    "currency": "AUD",
    "country": "AU",
    "region": "TAS",
    "language": "en",
    "ip": "73.188.134.177"
  },
  "partner": {
    "metadata": {
      "trip_id": "Uw0t2+QQwYPnfnZjWaCztryvgCMIbZvLua6YjdNx4+4=",
      "subsidiary_domain": "flights-us.gotogate.com"
    }
  },
  "context": {
    "trip": {
      "start_date": "2026-01-15T22:22:32.851000+00:00",
      "end_date": "2026-02-13T22:22:32.851000+00:00",
      "departure_country": "JP",
      "destination_country": "SG",
      "is_return": true,
      "total_cost": 1650,
      "flights": [
        {
          "legs": [
            {
              "departure_datetime": "2023-11-21T16:40:00-05:00",
              "arrival_datetime": "2023-11-21T19:10:00-05:00",
              "flight_number": "XP504",
              "marketing_airline_iata_code": "XP",
              "marketing_airline_icao_code": "CXP",
              "operating_airline_iata_code": "XP",
              "operating_airline_icao_code": "CXP",
              "departure_airport": "TPA",
              "arrival_airport": "ILG",
              "departure_country": "US",
              "arrival_country": "US"
            }
          ],
          "departure_datetime": "2023-11-21T16:40:00-05:00",
          "arrival_datetime": "2023-11-21T19:10:00-05:00",
          "departure_country": "US",
          "arrival_country": "US",
          "departure_city": "TPA",
          "arrival_city": "ILG"
        },
        {
          "legs": [
            {
              "departure_datetime": "2023-11-28T13:20:00-05:00",
              "arrival_datetime": "2023-11-28T15:55:00-05:00",
              "flight_number": "XP503",
              "marketing_airline_iata_code": "XP",
              "marketing_airline_icao_code": "CXP",
              "operating_airline_iata_code": "XP",
              "operating_airline_icao_code": "CXP",
              "departure_airport": "ILG",
              "arrival_airport": "TPA",
              "departure_country": "US",
              "arrival_country": "US"
            }
          ],
          "departure_datetime": "2023-11-28T13:20:00-05:00",
          "arrival_datetime": "2023-11-28T15:55:00-05:00",
          "departure_country": "US",
          "arrival_country": "US",
          "departure_city": "ILG",
          "arrival_city": "TPA"
        }
      ]
    },
    "travellers": {
      "adults": 1,
      "children": 2,
      "infants": 1,
      "seniors": 1,
      "insured": [
        {
          "first_name": "d41d8cd98f00b204e9800998ecf8427e",
          "last_name": "d41d8cd98f00b204e9800998ecf8427e"
        }
      ]
    },
    "booking": {
      "reservation_number": "PNR"
    }
  }
}
{
  "id": "f91d1759-60ef-4ce9-b8d2-7daec8d9eed6",
  "offer_config_id": "29be4c17-f940-4a06-abdf-a35576569515",
  "offer_schema": "travel_v1",
  "currency": "AUD",
  "products": [
    {
      "id": "755100f6-d7a2-4a8f-a8b8-e054c747a375",
      "product_config_id": "7d28c1c6-6e62-44e6-aa5b-27b06bf17f13",
      "type": "xcover",
      "schema_url": "https://staging.static.xcover.com/media/product-types/schemas/xcover.json",
      "details": {
        "policy_version_id": "7933ab1a-b00a-45fa-bfe6-16adba0a4765",
        "start_date": "2026-01-15T22:22:32.851000+00:00",
        "end_date": "2026-02-13T22:22:32.851000+00:00",
        "duration_days": 29,
        "finance": {
          "price": {
            "total_amount": 454.92,
            "total_amount_without_tax": 430.39,
            "total_amount_formatted": "A$454.92",
            "total_amount_without_tax_formatted": "A$430.39"
          },
          "tax": {
            "total_amount": 24.53,
            "total_amount_formatted": "A$24.53"
          },
          "commission": {
            "total_amount": 206.59,
            "total_amount_formatted": "A$206.59"
          },
          "surcharge": {
            "total_amount": null,
            "total_amount_formatted": "A$0.00"
          }
        },
        "benefits": [
          {
            "benefit_id": "323084c2-c846-41c1-abd4-c42ab9966fbe",
            "name": "Flights",
            "limit": 1650,
            "limit_formatted": "A$1650.00",
            "excess": 0,
            "excess_formatted": "A$0.00"
          },
          {
            "benefit_id": "1bdca8bb-6cb0-4678-bf1b-8158c285e478",
            "name": "Accommodation",
            "limit": 412.5,
            "limit_formatted": "A$412.50",
            "excess_description": "15% of claim cost"
          },
          {
            "benefit_id": "9d53b83e-3421-41ed-901e-902481015e2f",
            "name": "Tours and Experiences",
            "limit": 165,
            "limit_formatted": "A$165.00",
            "excess_description": "15% of claim cost"
          },
          {
            "benefit_id": "b5df9146-7a02-44c0-90b5-b8eafa672a5c",
            "name": "Travel Abandonment",
            "limit": 1000,
            "limit_formatted": "A$1000.00",
            "excess_description": "10% of claim cost"
          },
          {
            "benefit_id": "7ca1f290-108e-4a9a-b01a-e5eeca31caa5",
            "name": "Emergency and Accidental Medical Expenses",
            "limit": 2000000,
            "limit_formatted": "A$2000000.00",
            "excess": 75,
            "excess_formatted": "A$75.00"
          },
          {
            "benefit_id": "a614e645-742c-473f-8226-4290dd8f4278",
            "name": "Medical Repatriation",
            "parent_benefit_id": "7ca1f290-108e-4a9a-b01a-e5eeca31caa5",
            "limit_description": "Included in the limit above",
            "excess": 75,
            "excess_formatted": "A$75.00"
          },
          {
            "benefit_id": "5657a7af-34b4-4591-bfef-633cb0887e98",
            "name": "Additional Accommodation and Travelling Expenses",
            "parent_benefit_id": "7ca1f290-108e-4a9a-b01a-e5eeca31caa5",
            "limit_description": "Included in the limit above",
            "excess": 75,
            "excess_formatted": "A$75.00"
          },
          {
            "benefit_id": "3db0dfde-0cbf-4760-9ee9-5f8c2fc78d82",
            "name": "Emergency Dental Treatment",
            "parent_benefit_id": "7ca1f290-108e-4a9a-b01a-e5eeca31caa5",
            "limit": 350,
            "limit_formatted": "A$350.00",
            "excess": 75,
            "excess_formatted": "A$75.00"
          },
          {
            "benefit_id": "2245e33d-c6ac-403f-b974-c77242e127b2",
            "name": "Hospital Benefit",
            "parent_benefit_id": "7ca1f290-108e-4a9a-b01a-e5eeca31caa5",
            "limit": 500,
            "limit_formatted": "A$500.00",
            "limit_per_unit": 20,
            "limit_per_unit_formatted": "A$20.00 per 24 hours",
            "excess": 0
          },
          {
            "benefit_id": "d338f2cd-07a9-486a-a8b0-0156a78d4171",
            "name": "Funeral Expenses",
            "parent_benefit_id": "7ca1f290-108e-4a9a-b01a-e5eeca31caa5",
            "limit": 1000,
            "limit_formatted": "A$1000.00",
            "excess": 75,
            "excess_formatted": "A$75.00"
          },
          {
            "benefit_id": "ff5a1288-5120-48ed-a9e8-b8faaa82438d",
            "name": "Personal Liability",
            "limit": 1000000,
            "limit_formatted": "A$1000000.00",
            "excess": 0
          },
          {
            "benefit_id": "1fa60b87-1754-4d1e-9c4c-97585a714b25",
            "name": "Legal Expenses",
            "limit": 50000,
            "limit_formatted": "A$50000.00",
            "excess": 0
          },
          {
            "benefit_id": "d8746ffc-15e1-496e-b60d-3959b79068ca",
            "name": "Missed Departure",
            "limit": 1000,
            "limit_formatted": "A$1000.00",
            "excess_description": "10% of claim cost"
          },
          {
            "benefit_id": "cb352f39-f785-4c13-9c66-a75e817661a1",
            "name": "Personal Property",
            "limit": 4000,
            "limit_formatted": "A$4000.00",
            "excess_description": "10% of claim cost"
          },
          {
            "benefit_id": "adc99c44-77de-41d1-8a60-882e4d441d5b",
            "name": "XCover Express Baggage – Lost Luggage Compensation",
            "limit_description": "Helps locate and expedite the return of mishandled baggage within 96 hrs",
            "excess": 0
          }
        ],
        "insured": [
          {
            "id": "8de4531a-4f56-4797-8b5b-b451fcbe4e1a",
            "first_name": "d41d8cd98f00b204e9800998ecf8427e",
            "last_name": "d41d8cd98f00b204e9800998ecf8427e"
          }
        ],
        "underwriter": {
          "name": "Pacific International Insurance Pty Ltd",
          "disclaimer": "This cover is powered by XCover and underwritten by Pacific International Insurance Pty. Ltd."
        },
        "pds_url": "https://www.xcover.com/en/pds/HESDK-NPY2H-INS?policy_type=comprehensive_travel_insurance_v1&quote_id=755100f6-d7a2-4a8f-a8b8-e054c747a375",
        "files": [],
        "extra_fields": {}
      }
    }
  ],
  "product_rules": [
    {
      "slug": "travel_insurance_group",
      "product_ids": [
        "755100f6-d7a2-4a8f-a8b8-e054c747a375"
      ],
      "initial_state": "show",
      "min_select": 0,
      "max_select": 1,
      "events": []
    }
  ],
  "content": {
    "schema_version": "content:1.0",
    "locale": "en-us",
    "slug": "travel-insurance-offer",
    "title": "Travel Insurance",
    "extras": {},
    "heading": "Travel Insurance",
    "disclaimer": "",
    "price_unit": "",
    "description": "",
    "sub_heading": "You and your travel partners are covered in the event of delays, cancellations, medical expenses, baggage loss and more.",
    "negative_cta": "No, don't protect my $1,178.38 ticket purchase",
    "positive_cta": "",
    "disclaimer_html": "",
    "required_message": "*Required. Please complete this selection to continue",
    "credibility_message": "71,730 people on average protected their tickets in the last 7 days",
    "negative_cta_warning": "Are you sure? Your $1,178.38 ticket purchase is non-refundable",
    "products": [
      {
        "id": "7428e36d-30d5-42b9-90f5-469e0c56e974",
        "product_config_id": "7d28c1c6-6e62-44e6-aa5b-27b06bf17f13",
        "slug": "comprehensive-travel-protection",
        "locale": "en-us",
        "title": "Add Comprehensive Travel Protection",
        "benefits": {
          "benefit_1": "Trip cancellation - Get up to 100% of your prepaid trip costs up to $10,000 for covered events that cause you to can cancel your trip.",
          "benefit_2": "Trip interruption - Get reimbursed for covered events that require you to return home during your trip.",
          "benefit_3": "Medical - Get up to $25,000 for emergency medical assistance and transportation per person.",
          "beneit_4": "Baggage loss or theft - Up to $500 for lost or stolen personal items."
        },
        "disclaimer": "This protection is sold by Cover Genius. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmond tempor incididunt ut labore et dolore magna aliqua. Ut nim ad minim veniam, quis. View terms",
        "exclusions": {},
        "inclusions": {},
        "description": "Comprehensive travel protection",
        "terms_cta_html": "<p data-block-key=\"wiifd\"><a href=\"https://www.xcover.com/en/pds/HESDK-NPY2H-INS?policy_type=comprehensive_travel_insurance_v1&quote_id=755100f6-d7a2-4a8f-a8b8-e054c747a375\" target=\"_blank\">View terms</a></p>",
        "disclaimer_html": "<p data-block-key=\"eka49\">This protection is sold by Cover Genius. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmond tempor incididunt ut labore et dolore magna aliqua. Ut nim ad minim veniam, quis. <a href=\"https://www.xcover.com/en/pds/HESDK-NPY2H-INS?policy_type=comprehensive_travel_insurance_v1&quote_id=755100f6-d7a2-4a8f-a8b8-e054c747a375\">View terms</a></p>",
        "credibility_badge": ""
      }
    ]
  },
  "errors": {}
}

Last updated

Was this helpful?