# Query offers [vendor] Supports complex queries for offers. Endpoint: POST /api/v3/vendor/contracts/{contractId}/offers/query Version: 0.0.7228 Security: BasicAuth, BearerAuth ## Path parameters: - `contractId` (string, required) Unique identifier of the contract Example: "qbcxvb" ## Request fields (application/json): - `filter` (object) This is a placeholder for filter expressions. They are using advanced features and are not covered by openapi. If you need to use filter expressions please contract us. - `pagination` (object, required) - `pagination.limit` (integer) - `pagination.start` (integer, required) - `range` (object, required) - `range.end` (string, required) Timestamp of end of time range, formatted as ISO Date in UTC Example: "2018-04-06T13:46:13Z" - `range.start` (string, required) Timestamp of start of time range, formatted as ISO Date in UTC Example: "2018-04-04T13:46:13Z" - `sort` (object) - `sort.metric` (string, required) Enum: "TotalPrice", "Price" - `sort.order` (string, required) Enum: "asc" ## Response 200 fields (application/json): - `data` (array, required) - `data.positionByTotalPrice` (integer, required) The position of the offer on the domain when sorted by total price. - `data.deliveryCosts` (number, required) The additional charges for delivering the product to the customer's location (shipping costs). - `data.maxDeliveryTime` (integer) Optional maximum time, in hours, it takes for the product to be delivered to the customer. - `data.url` (string, required) The direct link to the product page on the domain where this offer can be found. - `data.vendorDomainId` (string) An identifier of the vendor on the domain. Identifiers are available for certain domains only. - `data.domain` (string, required) The website from which the offer originates. - `data.price` (number, required) The unit price of the offer. - `data.minDeliveryTime` (integer) Optional minimum time, in hours, it takes for the product to be delivered to the customer. - `data.gtin` (number) An optional field for the GTIN / EAN of the product. - `data.positionByUnitPrice` (integer, required) The position of the offer on the domain when sorted by unit price. - `data.availability` (boolean) An optional flag indicating whether the product is currently in stock and available for purchase. - `data.attributes` (array, required) A list of additional offer details. - `data.attributes.name` (string, required) - `data.attributes.value` (string, required) - `data.vendorName` (string, required) The display name of the shop which sells the product. In some cases (e.g. marketplaces) with some additional information about the seller: e.g. Amazon NL - Sold By Amazon NL - `data.retrievalDate` (string) Optional timestamp based on ISO 8601 format, indicating when this offer was fetched from the domain. - `data.creationDate` (string, required) An optional timestamp in ISO 8601 format indicating when this offer was stored in Omnia 2.0. This is not the timestamp when the offer was fetched from the domain; for that, use retrievalDate. - `data.productName` (string, required) The name of the product as listed on the domain. - `data.currency` (string, required) The currency in which the price and delivery costs are expressed. Provided values are ISO 4217 currency codes like "EUR". - `data.productId` (string, required) The internal product ID in Omnia 2.0. - `data.ignored` (boolean, required) A flag indicating whether the offer has been blacklisted or not by the Omnia 2.0 filters. ## Response 400 fields (application/json): - `code` (string, required) Machine-readable error code for programmatic error handling. Typically follows a structured format like 'request.invalid' or 'resource.invalid'. Example: "request.invalid" - `message` (string, required) Human-readable error message providing details about the issue Example: "The provided email address is not in a valid format"