# Create Offer

## Create Offer

> The Create Offer endpoint generates event ticket protection offerings based on the events and tickets being purchased. Multiple events may be quoted in a single request; the response returns one or more protection products with pricing.

```json
{"openapi":"3.0.0","info":{"title":"Offers API - Event Ticket Protection","version":"1.0.0"},"servers":[{"url":"https://api.xcover.com/x"}],"security":[{"CustomAPISignature":[]}],"components":{"securitySchemes":{"CustomAPISignature":{"type":"apiKey","name":"Authorization","in":"header","description":"**Composite Authentication Scheme (Client Key, Date, and Signature)**\n\nRequires three mandatory headers in every request:\n\n### 1. X-Api-Key (Client Key)\n* **Purpose:** Public identifier for the API consumer.\n\n### 2. Date (Timestamp)\n* **Purpose:** Timestamp used for generating the signature and preventing replay attacks.\n* **Format:** RFC 7231 format (e.g., in GMT).\n\n### 3. Authorization (Computed Signature)\n* **Purpose:** Cryptographic signature that verifies the request's authenticity and integrity.\n* **Format:** `SIGNATURE [authHeader]`\n\nThe `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**.\n"}}},"paths":{"/partners/{partner_code}/offers/":{"post":{"summary":"Create Offer","description":"The Create Offer endpoint generates event ticket protection offerings based on the events and tickets being purchased. Multiple events may be quoted in a single request; the response returns one or more protection products with pricing.","tags":["Create Offer"],"parameters":[{"name":"active_only","in":"query","required":false,"description":"When using a test API key, only return active offers","schema":{"type":"boolean","default":false}},{"name":"include_content","in":"query","required":false,"description":"Include localized content in the response","schema":{"type":"boolean","default":true}},{"name":"extra_fields","in":"query","required":false,"description":"Comma-separated list of specific extra fields to include. Available fields: tax, commission, benefits, surcharge","schema":{"type":"string"}},{"name":"exclude_offer_ids","in":"query","required":false,"description":"Comma-separated list of Offer Config IDs to exclude from the response","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"schema":{"type":"string","description":"Schema identifier for the offer type. Optional. If not provided, the default schema for your partner will be used."},"customer":{"type":"object","description":"Customer information","properties":{"currency":{"type":"string","description":"Currency code (e.g., USD, AUD, EUR, GBP)"},"country":{"type":"string","description":"Customer's country code (e.g., US, AU, GB)"},"region":{"type":"string","description":"Customer's region or state"},"postcode":{"type":"string","description":"Customer's postal code"},"language":{"type":"string","description":"Customer's preferred language tag (e.g., en-us)"},"email":{"type":"string","format":"email"},"ip":{"type":"string"}},"required":["currency","country","language"]},"partner":{"type":"object","description":"Partner information","properties":{"transaction_id":{"type":"string","description":"Partner transaction identifier"},"customer_id":{"type":"string","description":"Partner customer identifier"},"subsidiary":{"type":"string","description":"Partner subsidiary identifier (e.g., regional subsidiary, white-label brand)."},"metadata":{"type":"object","description":"Additional partner metadata","additionalProperties":true}}},"context":{"type":"object","description":"Event-ticketing context.","properties":{"events":{"type":"array","description":"Events whose tickets are being protected.","items":{"type":"object","properties":{"id":{"type":"string","description":"Partner's event identifier."},"name":{"type":"string","description":"Event name."},"start_date":{"type":"string","format":"date-time","description":"Event start date and time."},"end_date":{"type":"string","format":"date-time","nullable":true,"description":"Event end date and time. May be omitted for single-day events; for multi-day events this should be set."},"venue":{"type":"string","description":"Venue name."},"city":{"type":"string"},"country":{"type":"string"},"multiday_event":{"type":"boolean","description":"Whether the event spans multiple days."},"duration_days":{"type":"integer","description":"Event duration in days."},"category":{"type":"string","description":"Event category (e.g., Music, Comedy, Sports)."},"total_amount":{"type":"number","description":"Total ticket amount for this event in the customer currency."},"ticket_count":{"type":"integer","description":"Number of tickets being purchased for this event."},"tickets":{"type":"array","description":"Individual tickets being purchased.","items":{"type":"object","properties":{"id":{"type":"string","description":"Partner's ticket identifier."},"type":{"type":"string","description":"Ticket type / tier (e.g., GA, VIP, Meet & Greet)."},"status":{"type":"string","description":"Ticket status (e.g., purchased, layaway, layaway - void)."},"price":{"type":"number","description":"Face value of the ticket."},"total_paid":{"type":"number","description":"Amount the customer has paid so far for this ticket (useful for layaway)."}},"required":["id","price"]}}},"required":["id","name","start_date","country"]}}},"additionalProperties":true}},"required":["customer","context"]}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","description":"Event ticket protection offer responses are wrapped in a top-level `data` object.","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"Offer ID"},"currency":{"type":"string"},"products":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Product (quote) ID"},"product_config_id":{"type":"string"},"type":{"type":"string","nullable":true},"schema_url":{"type":"string","format":"uri","nullable":true},"details":{"type":"object","properties":{"policy_version_id":{"type":"string"},"start_date":{"type":"string","format":"date-time","nullable":true},"end_date":{"type":"string","format":"date-time","nullable":true},"finance":{"type":"object","properties":{"price":{"type":"object","properties":{"total_amount":{"type":"number","nullable":true},"total_amount_without_tax":{"type":"number","nullable":true},"total_amount_formatted":{"type":"string","nullable":true},"total_amount_without_tax_formatted":{"type":"string","nullable":true}}},"tax":{"type":"object","properties":{"total_amount":{"type":"number","nullable":true},"total_amount_formatted":{"type":"string","nullable":true}}},"surcharge":{"type":"object","properties":{"total_amount":{"type":"number","nullable":true},"total_amount_formatted":{"type":"string","nullable":true}}},"commission":{"type":"object","properties":{"total_amount":{"type":"number","nullable":true},"total_amount_formatted":{"type":"string","nullable":true}}}}},"pds_url":{"type":"string","format":"uri"},"files":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string","format":"uri"},"type":{"type":"string"}}}},"extra_fields":{"type":"object","description":"Event-ticketing-specific computed fields about the resulting policy.","properties":{"seller_entity":{"type":"string","description":"Legal selling entity for the insurance product."},"event_datetime":{"type":"string","format":"date-time","nullable":true,"description":"Resolved primary event date and time."},"policy_start_date":{"type":"string","format":"date-time","nullable":true},"policy_start_calculated":{"type":"string","format":"date-time","nullable":true},"event_id":{"type":"string","nullable":true},"customer_id":{"type":"string","nullable":true},"esim_eligible":{"type":"boolean","description":"Whether the customer is eligible for a bundled travel eSIM perk."},"esimid":{"type":"string","nullable":true,"description":"eSIM identifier when provisioned."},"same_day":{"type":"boolean","description":"Whether the offer is being purchased on the same day as the event."}},"additionalProperties":true},"experiment":{"type":"array","description":"Experiment metadata. Returned as an array (may be empty).","items":{"type":"object","additionalProperties":true}},"benefits":{"type":"array","items":{"type":"object","additionalProperties":true}}}}}}},"content":{"type":"object","properties":{"schema_version":{"type":"string"},"locale":{"type":"string"}}},"provider_reference":{"type":"string","description":"Provider reference identifier for downstream tracking and reconciliation."}}}}}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"message":{"type":"string"}}}}}},"422":{"description":"Unprocessable Entity","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string"},"message":{"type":"string"},"errors":{"type":"object","additionalProperties":true}}}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://partner-docs.covergenius.com/offers/vertical-examples/events-tickets/create-offer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
