# Omnia 2.0 API

The Omnia 2.0 API is RESTful and provides access to the backend of Omnia 2.0 and Pricemonitor. It is used to manage products, offers, contracts, and more.

This API supports both public endpoints for customer integration and internal endpoints for platform management.
All endpoints are authenticated using either Basic Authentication or JWT Bearer tokens.


This is the API powering Omnia 2.0 and Pricemonitor, containing operations that can also be used directly by customers from their own systems.

Version: 0.2.1564
License: Omnia Retail API license

## Servers

Production API
```
https://api.patagona.de
```

## Security

### BasicAuth

[object Object],[object Object],[object Object]

Type: http
Scheme: basic

### BearerAuth

[object Object],[object Object],[object Object],[object Object]

Type: http
Scheme: bearer
Bearer Format: JWT

## Download OpenAPI description

 - [Omnia 2.0 API](https://api-docs.omniaretail.dev/_bundle/api/omnia.yaml)

## Overview

 - [Introduction](https://api-docs.omniaretail.dev/api/omnia/overview/introduction.md): # Introduction The Omnia 2.0 API (also known as the Pricemonitor API) gives access to the superpowers behind the Omnia Retail platform. The [Omnia 2.0 app](https://app.omniaretail.com/) and the [Price
 - [Common use cases for Omnia 2.0](https://api-docs.omniaretail.dev/api/omnia/overview/common-use-cases-for-omnia-2.0.md): # Common use cases for Omnia 2.0 These are the common API operations for customers to integrate Omnia with their own systems: - Retrieve market data - Retrieve price recommendations - Manage your prod
 - [Retrieving Data from the API](https://api-docs.omniaretail.dev/api/omnia/overview/retrieving-data-from-the-api.md): # Retrieving Data from the API Omnia supports four patterns for pulling data. Choose the one that best fits your latency and operational needs. | # | Pattern | When to use | | --- | --- | --- | | **1
 - [Retrieve market data via API](https://api-docs.omniaretail.dev/api/omnia/overview/retrieve-market-data-via-api.md): # Retrieve market data via API Use `GET /api/v3/vendor/contracts/{contractId}/offers` to fetch the newest offers in the market as described [here](#operation/getOffersVendorV3).
 - [Retrieve price recommendations via API](https://api-docs.omniaretail.dev/api/omnia/overview/retrieve-price-recommendations-via-api.md): # Retrieve price recommendations via API Use `GET /api/2/v/contracts/{contractId}/result/pricerecommendations` to fetch calculated prices as described [here](#operation/getPriceRecommendation).
 - [Pagination](https://api-docs.omniaretail.dev/api/omnia/overview/pagination.md): # Pagination API endpoints can potentially return a lot of items. Returning all data as one response to one request can overload the server, the database or the client. Returning all items may even be
 - [Authentication](https://api-docs.omniaretail.dev/api/omnia/overview/authentication.md): # Authentication The API supports two authentication methods with distinct use cases: *basic authentication* and *JWT bearer token authentication*. For more details see below. In short: for API integr
 - [Error Handling](https://api-docs.omniaretail.dev/api/omnia/overview/error-handling.md): # Error Handling In rare cases, requests may fail with a `5xx` status code. Omnia recommends implementing retry logic with exponential backoff (e.g. up to 5 retries with wait times of 1s, 2s, 4s, 8s,
## Products Management

 - [Import products](https://api-docs.omniaretail.dev/api/omnia/products/import-products.md): # Import products We have two options: Either you provide the products as [JSON](#operation/postProductsImportVendorV3) or as [CSV](#operation/putProductsImportVendorV3). The product import via [JSON]
 - [Query products](https://api-docs.omniaretail.dev/api/omnia/products/query-products.md): # Query products Use [this operation](#operation/queryProductsVendorV3) to retrieve products via a query you specify in the request. It supports returning paged results. We recommend to retrieve with
 - [Get all products](https://api-docs.omniaretail.dev/api/omnia/products/get-all-products.md): # Get all products Use [the query operation](#operation/queryProductsVendorV3) and just omit the query filter in the request. Results are paginated. A page size of at most 10,000 is recommended.
 - [Determine internal product ids from your product ids](https://api-docs.omniaretail.dev/api/omnia/products/determine-internal-product-ids-from-your-product-ids.md): # Determine internal product ids from your product ids Our system uses internal product ids that are distinct from your products ids. These internal product ids are sometimes referred to as *pricemoni
 - [POST /api/v3/vendor/contracts/{contractId}/products](https://api-docs.omniaretail.dev/api/omnia/products/postproductsimportvendorv3.md): This operation is used to import products into the system from JSON formatted data:<br> Products that are already present will be updated and new products will be added. Identification of the products
 - [PUT /api/v3/vendor/contracts/{contractId}/products](https://api-docs.omniaretail.dev/api/omnia/products/putproductsimportvendorv3.md): This operation is used to import products into the system from CSV formatted data. This process is represented by a task, which is processed asynchronously. In the response you will receive a url whic
 - [DELETE /api/v3/vendor/contracts/{contractId}/products](https://api-docs.omniaretail.dev/api/omnia/products/deleteproducts.md): Delete all products or delete products by a last updated timestamp and/or a tag. **Note:** Avoid any product import requests concurrently with DELETE requests to prevent potential issues.
 - [GET /api/v3/vendor/contracts/{contractId}/products/{productId}/extendedtags](https://api-docs.omniaretail.dev/api/omnia/products/getextendedtags.md)
 - [GET /api/v3/vendor/contracts/{contractId}/products/monitoringstatus](https://api-docs.omniaretail.dev/api/omnia/products/getproductmonitoringstatusvendorv3.md)
 - [GET /api/v3/vendor/contracts/{contractId}/products/{productId}/pricerecommendationhistory](https://api-docs.omniaretail.dev/api/omnia/products/getproductpricerecommendationhistory.md): This endpoint returns all price recommendations for one product within a given time range.
 - [POST /api/v3.1/vendor/contracts/{contractId}/products/query](https://api-docs.omniaretail.dev/api/omnia/products/queryproductsvendorv3.md): This endpoint can be used for querying either all products or certain products by the 'customerProductId' or 'productId'.
 - [GET /api/v3/vendor/contracts/{contractId}/products/amazon/buybox/stats](https://api-docs.omniaretail.dev/api/omnia/products/getamazonbuyboxproductstatsv3.md): Provides latest Amazon Buy Box statistics, i.e., whether a - product is in Amazon Buy Box for Prime users - product is in Amazon Buy Box for Non-Prime users per product per Amazon domain for a given t
 - [GET /api/2/v/contracts/{contractId}/products](https://api-docs.omniaretail.dev/api/omnia/products/getproducts.md): **⚠️ DEPRECATED:** This endpoint is deprecated and should no longer be used. Retrieves all products for a contract without pagination support. This endpoint has performance limitations and lacks prope
## Price Recommendations

 - [Retrieve price recommendations](https://api-docs.omniaretail.dev/api/omnia/pricerecommendations/retrieve-price-recommendations.md): # Retrieve price recommendations
 - [GET /api/2/v/contracts/{contractId}/result/pricerecommendations](https://api-docs.omniaretail.dev/api/omnia/pricerecommendations/getpricerecommendation.md): Retrieves price recommendations for a contract within the specified time range. Only the most recent recommendation per product is returned when multiple exist within the time range.
 - [GET /api/v3/vendor/contracts/{contractId}/products/{productId}/pricerecommendationhistory](https://api-docs.omniaretail.dev/api/omnia/pricerecommendations/getproductpricerecommendationhistory.md): This endpoint returns all price recommendations for one product within a given time range.
## Offers

 - [Provide offers for custom sources](https://api-docs.omniaretail.dev/api/omnia/offers/provide-offers-for-custom-sources.md): # Provide offers for custom sources Use [this operation](#operation/postOffersInABulkVendorV2) to provide external offers for your products to our system. It serves as an alternative to our automatic
 - [Retrieve offers](https://api-docs.omniaretail.dev/api/omnia/offers/retrieve-offers.md): # Retrieve offers Use [this operation](#operation/getOffersVendorV3) to get all offers for a contract. It's a paginated endpoint, so you have to scroll through all offers. It's important that you defi
 - [GET /api/v3/vendor/contracts/{contractId}/offers](https://api-docs.omniaretail.dev/api/omnia/offers/getoffersvendorv3.md): Returns the newest offers for a given time range.
 - [POST /api/v3/vendor/contracts/{contractId}/offers/query](https://api-docs.omniaretail.dev/api/omnia/offers/queryoffersvendorv3.md): Supports complex queries for offers.
 - [POST /api/v3.1/vendor/contracts/{contractId}/offers/stats/query](https://api-docs.omniaretail.dev/api/omnia/offers/queryoffersstatsvendorv31.md): This endpoint can be used to query offer statistics (e.g. offer count, average price) grouped by product. Only the most recent market data is considered per product and domain.
 - [POST /api/2/v/contracts/{contractId}/offers](https://api-docs.omniaretail.dev/api/omnia/offers/postoffersinabulkvendorv2.md): This endpoint can be used to provide external offers to Omnia 2.0. It's a bulk endpoint which accepts an array of individual POST offers requests each based on a "snapshot" - a unique combination of p
## Feeds Management

 - [GET /api/2/v/contracts/{contractId}/feeds](https://api-docs.omniaretail.dev/api/omnia/feeds/getfeeds.md): Feeds can contain offer-related information such as price recommendations. They can be configured to match individual demands.
 - [GET /api/2/v/contracts/{contractId}/feeds/{feedId}](https://api-docs.omniaretail.dev/api/omnia/feeds/getfeed.md): A feed can contain offer-related information such as price recommendations. Feeds can be configured to match individual demands.
 - [DELETE /api/2/v/contracts/{contractId}/feeds/{feedId}/export/delta](https://api-docs.omniaretail.dev/api/omnia/feeds/excludefetchedfeeddata.md): Dismiss already fetched feed-entries, so they will not be part of future responses.
 - [GET /api/2/v/contracts/{contractId}/feeds/{feedId}/export/delta/{fileName}](https://api-docs.omniaretail.dev/api/omnia/feeds/getfeedexportdelta.md): In contrast of normal feeds, feed-deltas return only results, that are new since the last (DELETE-)request.
 - [GET /api/2/v/contracts/{contractId}/feeds/{feedId}/export/{fileName}](https://api-docs.omniaretail.dev/api/omnia/feeds/getfeedexport.md): Downloads a file containing all the data from the specified feed. Feeds are price recommendation centric and can be enriched with offer or product information. The export format (JSON or CSV) is dete
## Logs Management

 - [POST /api/v3/log/messages](https://api-docs.omniaretail.dev/api/omnia/logs/postlogmessages.md): Stores log messages in the platform. This endpoint aims to improve the API integration process.
## Company Management

 - [POST /api/2/companies](https://api-docs.omniaretail.dev/api/omnia/companies/createcompany.md): Allows users without a company to create a new company.
 - [GET /api/2/companies/{companyId}/contracts](https://api-docs.omniaretail.dev/api/omnia/companies/getcompanycontracts.md): Get all contracts for the given company.
 - [POST /api/2/companies/{companyId}/contracts](https://api-docs.omniaretail.dev/api/omnia/companies/addcompanycontract.md): Add a contract for the given company.
## Orders Management

 - [POST /api/2/v/contracts/{contractId}/orders](https://api-docs.omniaretail.dev/api/omnia/orders/postorders.md): Imports multiple orders for a specific contract in a single operation. This endpoint supports bulk order processing to efficiently manage large volumes of order data. All orders in the request are pr
 - [DELETE /api/v3/vendor/contracts/{contractId}/orders](https://api-docs.omniaretail.dev/api/omnia/orders/deleteorders.md): Delete all orders for this contract.
 - [PUT /api/v3/vendor/contracts/{contractId}/orders](https://api-docs.omniaretail.dev/api/omnia/orders/putordersv3.md): Saves orders in bulk. If an orderId was already used by this contract this order and all it's order-items will be overwritten. - the `version` of the request body must be "3" - requests must not conta
 - [GET /api/v3/vendor/contracts/{contractId}/orders](https://api-docs.omniaretail.dev/api/omnia/orders/getordersvendorv3.md): Returns all orders for a given contract.
 - [POST /api/v3/vendor/contracts/{contractId}/orders/stats/query](https://api-docs.omniaretail.dev/api/omnia/orders/queryordersstatsvendorv3.md): This endpoint can be used to query order statistics grouped by product.
 - [POST /api/v3/vendor/contracts/{contractId}/orders/delete/query](https://api-docs.omniaretail.dev/api/omnia/orders/deleteordersbyqueryvendorv3.md): This endpoint can be used to delete customer orders by an order query
## Settings Management

 - [Callbacks](https://api-docs.omniaretail.dev/api/omnia/settings/callbacks.md): # Callbacks You can register HTTP(S) callbacks in Omnia 2.0, which function as webhooks. Callbacks are triggered at the contract level when specific events occur within the system. Please note that mu
 - [PUT /api/2/v/contracts/{contractId}/settings/domains](https://api-docs.omniaretail.dev/api/omnia/settings/putdomains.md)
 - [GET /api/2/v/contracts/{contractId}/settings/callbacks](https://api-docs.omniaretail.dev/api/omnia/settings/getcallbacksvendorv2.md): Retrieve all callbacks for the given contract.
 - [PUT /api/2/v/contracts/{contractId}/settings/callbacks](https://api-docs.omniaretail.dev/api/omnia/settings/putcallbacksvendorv2.md): Create or update callbacks for the given contract. This is used to upsert (insert or update) all callbacks at once. Keep in mind that callbacks can be used by multiple parties (Omnia internal, Omnia P
## Tasks Management

 - [What tasks are](https://api-docs.omniaretail.dev/api/omnia/tasks/what-tasks-are.md): # What tasks are Tasks are asynchronously handled jobs in our system, like price calculation or monitoring jobs. You can use [this operation to find tasks for a contract](#operation/getTasksVendorV2).
 - [Price calculation tasks](https://api-docs.omniaretail.dev/api/omnia/tasks/price-calculation-tasks.md): # Price calculation tasks A use case for the find tasks operation is to get the most recent completed price calculation task to see if it was successful or failed. And if it failed, what the failures
 - [GET /api/2/v/contracts/{contractId}/tasks](https://api-docs.omniaretail.dev/api/omnia/tasks/gettasksvendorv2.md): The search can be narrowed down by providing the IDs of the tasks, separated by comma
 - [GET /api/2/v/contracts/{contractId}/tasks/{taskId}](https://api-docs.omniaretail.dev/api/omnia/tasks/gettaskvendorv2.md): Finds a task with the specified id for the given contract.
## Strategies Management

 - [GET /api/v3/vendor/contracts/{contractId}/settings/pricingstrategies/history](https://api-docs.omniaretail.dev/api/omnia/strategy/getpricingstrategyhistory.md): Retrieves a list of metadata for all pricing strategy versions associated with a specific contract. This endpoint provides version history information including creation dates, modification timestamp
## Domains

 - [GET /api/v3/domains](https://api-docs.omniaretail.dev/api/omnia/domains/getalldomainsv3.md): Retrieves all domains supported by the system for market data collection. Each domain includes: - Available offer sources for market data collection - Configuration parameters **Note:** Only domains
## Plugin Registration

 - [GET /api/v3/vendor/contracts/{contractId}/plugin](https://api-docs.omniaretail.dev/api/omnia/pluginregistration/getpluginregistration.md): Return the plugin registration for the given contract.
 - [PUT /api/v3/vendor/contracts/{contractId}/plugin](https://api-docs.omniaretail.dev/api/omnia/pluginregistration/putpluginregistration.md): Create and/or update the plugin registration for given contract.
 - [DELETE /api/v3/vendor/contracts/{contractId}/plugin](https://api-docs.omniaretail.dev/api/omnia/pluginregistration/deletepluginregistration.md): Delete the plugin registration for the given contract.
