### GET /products/history/{upi} Source: https://docs.priceshape.io/get-product-history-4217045e0 Retrieves the history for a specific product identified by its UPI. ```APIDOC ## GET /products/history/{upi} ### Description Retrieves the historical data for a product identified by the provided UPI. ### Method GET ### Endpoint /products/history/{upi} ### Parameters #### Path Parameters - **upi** (string) - Required - The unique product identifier. #### Query Parameters - **offset** (number) - Optional - The pagination offset, defaults to 0. - **max** (number) - Optional - Maximum number of items to return (1-1000), defaults to 100. - **from** (string) - Optional - The start date of the period, defaults to '2026-05-07'. - **to** (string) - Optional - The end date of the period, defaults to '2026-08-05'. - **timezone** (string) - Optional - The timezone of the period. - **priceshapeFeedId** (string) - Required - ID set by PriceShape, unique on the platform. ### Response #### Success Response (200) - **pagination** (object) - Pagination details including total, max, offset, and navigation links. ``` -------------------------------- ### GET /products/history Source: https://docs.priceshape.io/ Retrieves the historical data for products. ```APIDOC ## GET /products/history ### Description Retrieves historical data associated with products. ### Method GET ### Endpoint /products/history ``` -------------------------------- ### OpenAPI Specification for Get Product History Source: https://docs.priceshape.io/get-product-history-4217045e0 Defines the endpoint structure, parameters, and response schema for retrieving product history. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /products/history/{upi}: get: summary: Get product history deprecated: false description: '' operationId: GET-products/products/history/:upi tags: - products/history - products parameters: - name: upi in: path description: '' required: true example: '' schema: type: string - name: offset in: query description: '' required: false example: 0 schema: type: number minimum: 0 default: 0 nullable: true - name: max in: query description: Maximum number of items to return. Must be between 1 and 1000. required: false example: 0 schema: type: number default: 100 nullable: true - name: from in: query description: The start date of the period. required: false example: '' schema: type: string default: '2026-05-07' nullable: true - name: to in: query description: The end date of the period. required: false example: '' schema: type: string default: '2026-08-05' nullable: true - name: timezone in: query description: >- The timezone of the period. Defaults to account timezone otherwise UTC. required: false example: '' schema: type: string - name: priceshapeFeedId in: query description: >- ID set by PriceShape, unique on the platform, can be fetched through GET-feeds/feeds required: true example: '' schema: type: string responses: '200': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-3' headers: {} x-apidog-name: '' security: - bearerAuth: [] x-apidog: schemeGroups: - id: sA0k0sVtwbhXqcn5cs14G schemeIds: - bearerAuth required: true use: id: sA0k0sVtwbhXqcn5cs14G scopes: sA0k0sVtwbhXqcn5cs14G: bearerAuth: [] x-apidog-permission: - products:read x-apidog-folder: products/history x-apidog-status: developing x-run-in-apidog: https://app.eu.apidog.com/web/project/361080/apis/api-4217045-run components: schemas: def-3: type: object properties: pagination: type: object properties: total: type: number max: type: number offset: type: number links: type: object properties: previous: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-ignore-properties: [] self: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-ignore-properties: [] next: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH ``` -------------------------------- ### Example JWT Payload Source: https://docs.priceshape.io/api-authentication-357969m0 Decoded JWT structure containing account information, expiration, and resource permissions. ```json { "id": "4069107995a84350b48b3cd079cb4d98", "account": "6201ab9c3e2348ae8072c608cab91e29", "iss": "priceshape", "aud": "priceshape-api", "iat": 1769601807, "exp": 1800955000, "permissions": { "feeds": "read", "products": "write" } } ``` -------------------------------- ### GET /feeds Source: https://docs.priceshape.io/ Retrieves a list of all available feeds. ```APIDOC ## GET /feeds ### Description Retrieves a list of all available feeds in the system. ### Method GET ### Endpoint /feeds ``` -------------------------------- ### OpenAPI Specification for Get a feed Source: https://docs.priceshape.io/get-a-feed-4180403e0 Defines the GET endpoint for retrieving feed details using a priceshapeId and outlines the expected response schema. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /feeds/{priceshapeId}: get: summary: Get a feed deprecated: false description: '' operationId: GET-feeds/feeds/:priceshapeId tags: - feeds - feeds parameters: - name: priceshapeId in: path description: '' required: true example: '' schema: type: string responses: '200': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-2' headers: {} x-apidog-name: '' security: - bearerAuth: [] x-apidog: schemeGroups: - id: dZ8YfOQmas-o-EGrsUKeY schemeIds: - bearerAuth required: true use: id: dZ8YfOQmas-o-EGrsUKeY scopes: dZ8YfOQmas-o-EGrsUKeY: bearerAuth: [] x-apidog-permission: - feeds:read x-apidog-folder: feeds x-apidog-status: developing x-run-in-apidog: https://app.eu.apidog.com/web/project/361080/apis/api-4180403-run components: schemas: def-2: type: object properties: links: type: object properties: self: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-ignore-properties: [] x-apidog-orders: - self x-apidog-ignore-properties: [] feed: type: object properties: name: type: string description: Given feed name source: type: string description: Source location of the feed type: type: string description: Which type of file is the feed - only relevant for http and ftp url: type: string description: Given http url for source feed location costPriceVatIncluded: type: boolean description: Is cost price including VAT? priceVatIncluded: type: boolean description: Is price including VAT? salesPriceVatIncluded: type: boolean description: Is sales price including VAT? fixedVatPercent: type: number description: >- Fixed VAT percent for feed. This value is overridden for individual products, if a value is mapped as VAT. apiSettings: type: object properties: enabled: type: boolean description: Whether API access is enabled for the feed. fields: type: array items: type: string description: Fields that are allowed to be modified through the API. description: API settings for the feed. x-apidog-orders: - enabled - fields x-apidog-ignore-properties: [] priceshapeId: type: string description: ID set by PriceShape, unique on the platform. upiType: type: string enum: - gtin - sku - mpn - id - url description: >- The UPI type set for the feed. UPI is the Unique Product Identifier used to tell your products apart in PriceShape. nullable: true region: type: string maxLength: 2 description: Selected region/country. ISO 3166 code currency: type: string maxLength: 3 description: Selected currency. Set by the region by default. marketplace: type: string description: >- When this is set, the feed is a marketplace feed, meaning all matches come from the selected marketplace. decimalSeparator: type: string enum: - auto - period - comma description: >- ``` -------------------------------- ### Pagination Response Structure Source: https://docs.priceshape.io/ Example of the pagination metadata included in collection responses, providing navigation links and page information. ```json { "pagination": { "total": 400, "max": 100, "offset": 200, "links": { "previous": { "href": "https://api.priceshape.com/products/history/{upi}?feed={feedId}&offset=100&max=100", "method": "GET" }, "self": { "href": "https://api.priceshape.com/products/history/{upi}?feed={feedId}&offset=200&max=100", "method": "GET" }, "next": { "href": "https://api.priceshape.com/products/history/{upi}?feed={feedId}&offset=300&max=100", "method": "GET" } }, "history": [ { ... } ] } ``` -------------------------------- ### GET /feeds/{id} Source: https://docs.priceshape.io/ Retrieves details for a specific feed by its ID. ```APIDOC ## GET /feeds/{id} ### Description Retrieves the details of a specific feed identified by the provided ID. ### Method GET ### Endpoint /feeds/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the feed. ``` -------------------------------- ### GET /feeds/{priceshapeId} Source: https://docs.priceshape.io/get-a-feed-4180403e0 Retrieves the details of a specific feed identified by its priceshapeId. ```APIDOC ## GET /feeds/{priceshapeId} ### Description Retrieves the details of a specific feed identified by its priceshapeId. ### Method GET ### Endpoint /feeds/{priceshapeId} ### Parameters #### Path Parameters - **priceshapeId** (string) - Required - The unique ID set by PriceShape for the feed. ### Response #### Success Response (200) - **links** (object) - HATEOAS links for the resource. - **feed** (object) - The feed object containing details like name, source, type, url, and VAT settings. ``` -------------------------------- ### OpenAPI Specification for List feeds Source: https://docs.priceshape.io/list-feeds-4131303e0 Defines the GET /feeds endpoint, including query parameters for offset, max results, and draft status, along with the response schema. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /feeds: get: summary: List feeds deprecated: false description: '' operationId: GET-feeds/feeds tags: - feeds - feeds parameters: - name: offset in: query description: '' required: false example: 0 schema: type: number minimum: 0 default: 0 nullable: true - name: max in: query description: Maximum number of items to return. Must be between 1 and 100. required: false example: 0 schema: type: number default: 10 nullable: true - name: draft in: query description: '' required: false example: '' schema: anyOf: - type: boolean - type: string enum: - 'true' - 'false' default: false responses: '200': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-0' headers: {} x-apidog-name: '' security: - bearerAuth: [] x-apidog: schemeGroups: - id: oARid7CpIycswZb9OBBr_ schemeIds: - bearerAuth required: true use: id: oARid7CpIycswZb9OBBr_ scopes: oARid7CpIycswZb9OBBr_: bearerAuth: [] x-apidog-permission: - feeds:read x-apidog-folder: feeds x-apidog-status: developing x-run-in-apidog: https://app.eu.apidog.com/web/project/361080/apis/api-4131303-run components: schemas: def-0: type: object properties: pagination: type: object properties: total: type: number max: type: number offset: type: number links: type: object properties: previous: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-ignore-properties: [] self: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-ignore-properties: [] next: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-ignore-properties: [] x-apidog-orders: - previous - self - next x-apidog-ignore-properties: [] required: - total - max - offset x-apidog-orders: - total - max - offset - links x-apidog-ignore-properties: [] feeds: type: array items: type: object properties: links: type: object properties: self: type: object properties: href: type: string format: uri ``` -------------------------------- ### Error Response Structure Source: https://docs.priceshape.io/ Example of a JSON error response body returned when a request fails validation. ```json { "errors": [ { code: "invalid_type", path: "/fields/category", received: "number", expected: "string", context: "body", message: "[body] '/fields/category' must be a string (got number)" } ] } ``` -------------------------------- ### UnauthorizedError OpenAPI Schema Definition Source: https://docs.priceshape.io/unauthorizederror-726320d0 Defines the UnauthorizedError object schema with a message property and example value. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: {} components: schemas: UnauthorizedError: type: object properties: message: type: string examples: - Unauthorized x-apidog-orders: - message x-apidog-folder: '' securitySchemes: {} servers: - url: https://api.priceshape.io description: Prod Env security: [] ``` -------------------------------- ### OpenAPI Specification for product-history-query Source: https://docs.priceshape.io/product-history-query-804533d0 Defines the schema for querying product history, including pagination and date range parameters. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: {} components: schemas: def-4: type: object properties: offset: type: number minimum: 0 default: 0 nullable: true max: type: number default: 100 description: Maximum number of items to return. Must be between 1 and 1000. nullable: true from: type: string default: '2026-05-07' description: The start date of the period. nullable: true to: type: string default: '2026-08-05' description: The end date of the period. nullable: true timezone: type: string description: >- The timezone of the period. Defaults to account timezone otherwise UTC. priceshapeFeedId: type: string description: >- ID set by PriceShape, unique on the platform, can be fetched through GET-feeds/feeds required: - priceshapeFeedId title: product-history-query x-apidog-orders: - offset - max - from - to - timezone - priceshapeFeedId x-apidog-folder: '' securitySchemes: {} servers: - url: https://api.priceshape.io description: Prod Env security: [] ``` -------------------------------- ### Product Resource Endpoints Source: https://docs.priceshape.io/api-authentication-357969m0 Endpoints accessible with write permission to the products resource. ```text /feeds/{feedId}/products/ /feeds/{feedId}/products/{upi} /products ``` -------------------------------- ### OpenAPI Schema for Product Update Fields Source: https://docs.priceshape.io/product-update-fields-918925d0 Defines the structure for updating sales prices and standard prices, including VAT inclusion options. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: {} components: schemas: def-6: type: object properties: update: type: object properties: salesPrice: type: number minimum: 0 maximum: 90071992547409.9 description: The sales price of the product. nullable: true price: type: number minimum: 0 maximum: 90071992547409.9 description: The price of the product. nullable: true x-apidog-orders: - salesPrice - price options: type: object properties: salesPriceVatIncluded: type: boolean description: >- Whether the supplied sales price includes VAT. Defaults to the feed's setting. priceVatIncluded: type: boolean description: >- Whether the supplied price includes VAT. Defaults to the feed's setting. description: Options controlling how the supplied prices are interpreted. x-apidog-orders: - salesPriceVatIncluded - priceVatIncluded required: - update title: product-update-fields x-apidog-orders: - update - options x-apidog-folder: '' securitySchemes: {} servers: - url: https://api.priceshape.io description: Prod Env security: [] ``` -------------------------------- ### OpenAPI Schema for Product History Source: https://docs.priceshape.io/product-history-804532d0 Defines the structure for product history data, including pagination links and detailed product attributes like GTIN, SKU, and vendor pricing. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: {} components: schemas: def-3: type: object properties: pagination: type: object properties: total: type: number max: type: number offset: type: number links: type: object properties: previous: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method self: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method next: type: object properties: href: type: string format: uri method: type: string enum: - GET - PUT - OPTIONS - PATCH - POST - DELETE required: - href - method x-apidog-orders: - href - method x-apidog-orders: - previous - self - next required: - total - max - offset x-apidog-orders: - total - max - offset - links history: type: array items: type: object properties: date: type: string description: The date of the event. id: type: string description: ID set in the input feed. priceshapeId: type: string description: ID set by PriceShape, unique on the platform. gtin: type: string description: GTIN as added in the input feed. mpn: type: string description: MPN as added in the input feed. sku: type: string description: SKU as added in the input feed. url: type: string description: URL for own product page, as added in the input feed. upi: type: string description: >- The Unique Product Identifier for the product. The UPI type can be fetched through the 'Get a feed' endpoint currency: type: string description: Currency for own price. pricePosition: type: number description: >- Price position for own product. When no vendor matches are present, price position returns NULL. nullable: true salesPriceInclVat: type: number description: Sales price including VAT. salesPriceExclVat: type: number description: Sales price excluding VAT. vendors: type: array items: type: object properties: domain: type: string description: Vendor domain. price: type: number description: Scraped price from vendor. stockStatus: type: string description: Scraped vendor stock status, translated to English. currency: type: string ``` -------------------------------- ### OpenAPI Specification for updating product fields Source: https://docs.priceshape.io/update-product-fields-4457024e0 Defines the PATCH endpoint for updating product prices and includes the schema for request bodies and responses. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: /products/{upi}: patch: summary: Update product fields deprecated: false description: '' operationId: PATCH-products/products/:upi tags: - products - products parameters: - name: upi in: path description: '' required: true example: '' schema: type: string - name: priceshapeFeedId in: query description: >- ID set by PriceShape, unique on the platform, can be fetched through GET-feeds/feeds required: true example: '' schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/def-6' responses: '200': description: Default Response content: application/json: schema: $ref: '#/components/schemas/def-5' headers: {} x-apidog-name: '' security: - bearerAuth: [] x-apidog: schemeGroups: - id: bO6lYEm4nBbHDT5dvn1jr schemeIds: - bearerAuth required: true use: id: bO6lYEm4nBbHDT5dvn1jr scopes: bO6lYEm4nBbHDT5dvn1jr: bearerAuth: [] x-apidog-permission: - products:write x-apidog-folder: products x-apidog-status: developing x-run-in-apidog: https://app.eu.apidog.com/web/project/361080/apis/api-4457024-run components: schemas: def-6: type: object properties: update: type: object properties: salesPrice: type: number minimum: 0 maximum: 90071992547409.9 description: The sales price of the product. nullable: true price: type: number minimum: 0 maximum: 90071992547409.9 description: The price of the product. nullable: true x-apidog-orders: - salesPrice - price x-apidog-ignore-properties: [] options: type: object properties: salesPriceVatIncluded: type: boolean description: >- Whether the supplied sales price includes VAT. Defaults to the feed's setting. priceVatIncluded: type: boolean description: >- Whether the supplied price includes VAT. Defaults to the feed's setting. description: Options controlling how the supplied prices are interpreted. x-apidog-orders: - salesPriceVatIncluded - priceVatIncluded x-apidog-ignore-properties: [] required: - update title: product-update-fields x-apidog-orders: - update - options x-apidog-ignore-properties: [] x-apidog-folder: '' def-5: type: object properties: success: type: string description: Message indicating the operation was successful. required: - success title: product-update-response x-apidog-orders: - success x-apidog-ignore-properties: [] x-apidog-folder: '' securitySchemes: bearerAuth: type: jwt scheme: bearer bearerFormat: JWT description: Enter your API token from PriceShape account api settings servers: - url: https://api.priceshape.io description: Prod Env security: - bearerAuth: [] x-apidog: schemeGroups: - id: 6m9ljqCtd_EFWGNDBs1Y1 schemeIds: - bearerAuth required: true use: id: 6m9ljqCtd_EFWGNDBs1Y1 scopes: 6m9ljqCtd_EFWGNDBs1Y1: bearerAuth: [] ``` -------------------------------- ### Specify API version via HTTP header Source: https://docs.priceshape.io/api-versioning-357968m0 Use the X-API-Version header to define the desired API version for your request. ```bash curl --header "X-API-Version: 2026-02" https://api.priceshape.io/ ``` -------------------------------- ### Authenticate with cURL Source: https://docs.priceshape.io/api-authentication-357969m0 Include the API token in the Authorization header for all API requests. ```bash curl --header "Authorization: Bearer " https://api.priceshape.io/ ``` -------------------------------- ### Define Feed API Settings and Variant Options Source: https://docs.priceshape.io/list-feeds-4131303e0 Schema definitions for configuring API access permissions and master product variant aggregation logic. ```yaml type: boolean description: Is price including VAT? salesPriceVatIncluded: type: boolean description: Is sales price including VAT? fixedVatPercent: type: number description: >- Fixed VAT percent for feed. This value is overridden for individual products, if a value is mapped as VAT. apiSettings: type: object properties: enabled: type: boolean description: Whether API access is enabled for the feed. fields: type: array items: type: string description: >- Fields that are allowed to be modified through the API. description: API settings for the feed. x-apidog-orders: - enabled - fields x-apidog-ignore-properties: [] x-apidog-orders: - name - source - type - url - costPriceVatIncluded - priceVatIncluded - salesPriceVatIncluded - fixedVatPercent - apiSettings x-apidog-ignore-properties: [] description: A list of sub feeds added for the feed. variantOptions: type: object properties: type: type: string enum: - master - single description: >- Is the item group ID grouping the products around a master product or does it stay as a single product. productPriceSummary: type: string enum: - cheapest - most_expensive - first_in_feed description: >- How to pick the representative price when summarizing variants into a master product. productStockSummary: type: number description: >- Percentage of variants that must be in stock for the master product to be considered in stock (0–100). vendorPriceSummary: type: string enum: - cheapest - most_expensive description: >- How to pick the representative vendor price shown on the master product, across variant matches. vendorShippingPriceSummary: type: string enum: - cheapest - most_expensive description: >- How to pick the representative vendor shipping price shown on the master product, across variant matches. vendorStockSummary: type: number description: >- Percentage of vendor matches that must be in stock for a vendor to be considered in stock (0–100). description: >- Attributes in this object are only set if Item group ID is mapped and type is "master". x-apidog-orders: - type - productPriceSummary - productStockSummary - vendorPriceSummary - vendorShippingPriceSummary - vendorStockSummary x-apidog-ignore-properties: [] salesDataIntegration: type: object properties: priceshapeId: type: string description: >- ID of the sales data integration connected to the feed, if one exists. name: type: string description: >- Name of the sales data integration connected to the feed, if one exists. x-apidog-orders: - priceshapeId - name x-apidog-ignore-properties: [] updatedAt: type: string ``` -------------------------------- ### OpenAPI Schema for product-update-fields-query Source: https://docs.priceshape.io/product-update-fields-query-918926d0 Defines the structure of the product-update-fields-query object, requiring a unique priceshapeFeedId. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: {} components: schemas: def-7: type: object properties: priceshapeFeedId: type: string description: >- ID set by PriceShape, unique on the platform, can be fetched through GET-feeds/feeds required: - priceshapeFeedId title: product-update-fields-query x-apidog-orders: - priceshapeFeedId x-apidog-folder: '' securitySchemes: {} servers: - url: https://api.priceshape.io description: Prod Env security: [] ``` -------------------------------- ### PATCH /products Source: https://docs.priceshape.io/ Updates specific fields for products. ```APIDOC ## PATCH /products ### Description Updates specific fields for products based on the provided request data. ### Method PATCH ### Endpoint /products ``` -------------------------------- ### API Security and Server Configuration Source: https://docs.priceshape.io/list-feeds-4131303e0 Configures the production API server and JWT bearer authentication requirements. ```yaml securitySchemes: bearerAuth: type: jwt scheme: bearer bearerFormat: JWT description: Enter your API token from PriceShape account api settings servers: - url: https://api.priceshape.io description: Prod Env security: - bearerAuth: [] x-apidog: schemeGroups: - id: 6m9ljqCtd_EFWGNDBs1Y1 schemeIds: - bearerAuth required: true use: id: 6m9ljqCtd_EFWGNDBs1Y1 scopes: 6m9ljqCtd_EFWGNDBs1Y1: bearerAuth: [] ``` -------------------------------- ### Authentication Header Source: https://docs.priceshape.io/api-authentication-357969m0 All API requests require an Authorization header containing a Bearer token and an X-API-Version header. ```APIDOC ## Authentication ### Description To authenticate with the API, include your generated API token in the Authorization header of every request. ### Headers - **Authorization** (string) - Required - "Bearer " - **X-API-Version** (string) - Required - The version of the API to use - **Content-Type** (string) - Optional - Required for requests with bodies ### Request Example curl --header "Authorization: Bearer " --header "X-API-Version: " https://api.priceshape.io/ ``` -------------------------------- ### OpenAPI Schema Definition Source: https://docs.priceshape.io/product-history-804532d0 Defines the required fields and structure for product history and vendor information within the API. ```yaml description: Vendor currency for the scraped price. lastChangedAt: type: string description: >- The timestamp of when the vendor had its price or stock status last changed. required: - domain - price - stockStatus - currency - lastChangedAt x-apidog-orders: - domain - price - stockStatus - currency - lastChangedAt required: - date - priceshapeId - upi - currency - vendors x-apidog-orders: - date - id - priceshapeId - gtin - mpn - sku - url - upi - currency - pricePosition - salesPriceInclVat - salesPriceExclVat - vendors required: - pagination - history title: product-history x-apidog-orders: - pagination - history x-apidog-folder: '' securitySchemes: {} servers: - url: https://api.priceshape.io description: Prod Env security: [] ``` -------------------------------- ### PATCH /products/{upi} Source: https://docs.priceshape.io/update-product-fields-4457024e0 Updates specific fields for a product identified by its UPI. Requires a bearer token for authentication. ```APIDOC ## PATCH /products/{upi} ### Description Updates the sales price and standard price for a specific product. Options can be provided to define whether these prices include VAT. ### Method PATCH ### Endpoint /products/{upi} ### Parameters #### Path Parameters - **upi** (string) - Required - The unique product identifier. #### Query Parameters - **priceshapeFeedId** (string) - Required - ID set by PriceShape, unique on the platform. #### Request Body - **update** (object) - Required - Contains the fields to update. - **salesPrice** (number) - Optional - The sales price of the product. - **price** (number) - Optional - The price of the product. - **options** (object) - Optional - Options controlling how the supplied prices are interpreted. - **salesPriceVatIncluded** (boolean) - Optional - Whether the supplied sales price includes VAT. - **priceVatIncluded** (boolean) - Optional - Whether the supplied price includes VAT. ### Response #### Success Response (200) - **success** (string) - Message indicating the operation was successful. ``` -------------------------------- ### OpenAPI Schema Definition for product-update-response Source: https://docs.priceshape.io/product-update-response-918924d0 Defines the structure of the product update response object including the required success field. ```yaml openapi: 3.0.1 info: title: '' description: '' version: 1.0.0 paths: {} components: schemas: def-5: type: object properties: success: type: string description: Message indicating the operation was successful. required: - success title: product-update-response x-apidog-orders: - success x-apidog-folder: '' securitySchemes: {} servers: - url: https://api.priceshape.io description: Prod Env security: [] ``` -------------------------------- ### Feed Configuration Schema Source: https://docs.priceshape.io/get-a-feed-4180403e0 Defines the structure for feed drafts, sub-feeds, and variant options within the OpenAPI specification. ```yaml draft: type: boolean description: >- Is this feed a draft? Drafts are inactive and don't get any products/updates imported to PriceShape. subFeeds: type: array items: type: object properties: name: type: string description: Given feed name source: type: string description: Source location of the feed type: type: string description: >- Which type of file is the feed - only relevant for http and ftp url: type: string description: Given http url for source feed location costPriceVatIncluded: type: boolean description: Is cost price including VAT? priceVatIncluded: type: boolean description: Is price including VAT? salesPriceVatIncluded: type: boolean description: Is sales price including VAT? fixedVatPercent: type: number description: >- Fixed VAT percent for feed. This value is overridden for individual products, if a value is mapped as VAT. apiSettings: type: object properties: enabled: type: boolean description: Whether API access is enabled for the feed. fields: type: array items: type: string description: >- Fields that are allowed to be modified through the API. description: API settings for the feed. x-apidog-orders: - enabled - fields x-apidog-ignore-properties: [] x-apidog-orders: - name - source - type - url - costPriceVatIncluded - priceVatIncluded - salesPriceVatIncluded - fixedVatPercent - apiSettings x-apidog-ignore-properties: [] description: A list of sub feeds added for the feed. variantOptions: type: object properties: type: type: string enum: - master - single description: >- Is the item group ID grouping the products around a master product or does it stay as a single product. productPriceSummary: type: string enum: - cheapest - most_expensive - first_in_feed description: >- How to pick the representative price when summarizing variants into a master product. productStockSummary: type: number description: >- Percentage of variants that must be in stock for the master product to be considered in stock (0–100). vendorPriceSummary: type: string enum: - cheapest - most_expensive description: >- How to pick the representative vendor price shown on the master product, across variant matches. vendorShippingPriceSummary: type: string enum: - cheapest - most_expensive description: >- How to pick the representative vendor shipping price shown on the master product, across variant matches. vendorStockSummary: type: number description: >- Percentage of vendor matches that must be in stock for a vendor to be considered in stock (0–100). description: >- Attributes in this object are only set if Item group ID is mapped and type is "master". x-apidog-orders: - type ```