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: YOUR_API_KEY_HERE

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
schemastringOptional

Schema identifier for the offer type. If omitted, the default schema will be used (if one is configured). If no default schema is configured and this field is omitted, the request will fail with a validation error. Contact your Client Solutions Engineer (CSE) to confirm your schema configuration.

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: 313

{
  "schema": "text",
  "customer": {
    "currency": "text",
    "language": "text",
    "country": "text",
    "region": "text",
    "email": "[email protected]",
    "ip": "text",
    "postcode": "text"
  },
  "context": {
    "ANY_ADDITIONAL_PROPERTY": "anything"
  },
  "partner": {
    "subsidiary": "text",
    "transaction_id": "text",
    "customer_id": "text",
    "metadata": {
      "session_id": "text"
    }
  }
}
{
  "id": "text",
  "session_id": "text",
  "offer_config_id": "text",
  "offer_schema": "text",
  "currency": "text",
  "products": [
    {
      "id": "text",
      "product_config_id": "text",
      "type": "text",
      "schema_url": "text",
      "details": {
        "policy_version_id": "text",
        "start_date": "2026-01-01T00:00:00.000Z",
        "end_date": "2026-01-01T00:00:00.000Z",
        "finance": {
          "price": {
            "total_amount": 1,
            "total_amount_without_tax": 1,
            "total_amount_formatted": "text",
            "total_amount_without_tax_formatted": "text"
          },
          "tax": {
            "total_amount": 1,
            "total_amount_formatted": "text",
            "breakdown": [
              {
                "tax_code": "GST",
                "tax_amount": 0.23,
                "tax_amount_formatted": "A$0.23"
              }
            ]
          },
          "surcharge": {
            "total_amount": null,
            "total_amount_formatted": null
          },
          "commission": {
            "total_amount": 1,
            "total_amount_formatted": "text"
          }
        },
        "pds_url": "https://example.com",
        "files": [],
        "extra_fields": {},
        "experiment": {}
      }
    }
  ],
  "product_rules": [
    {
      "slug": "text",
      "product_ids": [
        "text"
      ],
      "initial_state": "show",
      "min_select": 1,
      "max_select": 1,
      "events": []
    }
  ],
  "content": {
    "schema_version": "text",
    "locale": "text",
    "slug": "text",
    "title": "text",
    "heading": "text",
    "sub_heading": "text",
    "disclaimer": "text",
    "disclaimer_html": "text",
    "price_unit": "text",
    "description": "text",
    "positive_cta": "text",
    "negative_cta": "text",
    "negative_cta_warning": "text",
    "required_message": "text",
    "credibility_message": "text",
    "credibility": "text",
    "credibility_sales_count": 1,
    "products": [
      {
        "id": "text",
        "product_config_id": "text",
        "slug": "text",
        "locale": "text",
        "title": "text",
        "description": "text",
        "benefits": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "exclusions": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "inclusions": {
          "ANY_ADDITIONAL_PROPERTY": "text"
        },
        "disclaimer": "text",
        "disclaimer_html": "text",
        "credibility_badge": "text"
      }
    ]
  },
  "errors": {}
}

Last updated

Was this helpful?