openapi: 3.2.0 info: title: tariff Products API version: '2.1' servers: - url: https://apis.supplierxm.salsify.com/public/v1/tariffs security: - sec0: [] tags: - name: Products paths: /{uuid}/products: get: summary: Products list description: '' operationId: products-list parameters: - name: limit in: query description: Limit the results fetched. Cannot be greater than 100. schema: type: integer format: int32 default: 20 - name: offset in: query description: Offset the results fetched. schema: type: integer format: int32 default: 0 - name: uuid in: path description: The UUID of the tariff for which you are querying the products. It is found in the output of the tariffs list. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"totalResults\": 1,\n \"offset\": 0,\n \"data\": [{\n \"gtin\": \"01234567891231\",\n \"uuid\": \"12345678-aaaa-bbbb-cccc-1234567890ab\",\n \"supplierId\": \"123456\",\n \"data\": {\n \"contractNumber\": \"1234-12345-12\",\n \"hierarchyProduct\": {\n \"gtin\": \"11234567891238\",\n \"uuid\": \"12345678-aaaa-bbbb-cccc-abcdefabcdef\"\n },\n\n \"priceWaterfalls\": [{\n\n \"brackets\": [{\n \"min\": 1\n }, {\n \"min\": 10\n }],\n \"levels\": [{\n \"items\": [{\n \"values\": [{\n \"value\": \"10\"\n }, {\n \"value\": \"9\"\n }]\n }]\n }]\n }]\n }\n }]\n}" schema: type: object properties: totalResults: type: integer example: 1 default: 0 offset: type: integer example: 0 default: 0 data: type: array items: type: object properties: gtin: type: string example: 01234567891231 uuid: type: string example: 12345678-aaaa-bbbb-cccc-1234567890ab supplierId: type: string example: '123456' data: type: object properties: contractNumber: type: string example: 1234-12345-12 hierarchyProduct: type: object properties: gtin: type: string example: '11234567891238' uuid: type: string example: 12345678-aaaa-bbbb-cccc-abcdefabcdef priceWaterfalls: type: array items: type: object properties: brackets: type: array items: type: object properties: min: type: integer example: 1 default: 0 levels: type: array items: type: object properties: items: type: array items: type: object properties: values: type: array items: type: object properties: value: type: string example: '10' '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Products post: summary: Products upsert description: '' operationId: tariff-product-upsert parameters: - name: uuid in: path description: The UUID of the tariff for which you are querying the products. It is found in the output of the tariffs list. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"tracking\": 123456\n}" schema: type: object properties: tracking: type: integer example: 123456 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: curl code: "curl -H 'Authorization: Bearer SALSIFY_TOKEN' -XPOST 'https://apis.supplierxm.salsify.com/public/v1/tariffs' -H 'Content-Type: application/json' -d '{\n \"data\": [\n {\n \"data\": {\n \"contractNumber\": \"\",\n \"hierarchyProduct\": {\"gtin\": \"01234567891234\"},\n \"priceWaterfalls\": [\n {\n \"bracketUnit\": null,\n \"brackets\": [\n {\n \"min\": 1\n },\n {\n \"min\": 10\n }\n ],\n \"levels\": [\n {\n \"items\": [\n {\n \"description\": \"Prix brut\",\n \"type\": {\n \"code\": \"grossPrice\"\n },\n \"unit\": {\n \"code\": \"$\"\n },\n \"values\": [\n {\n \"value\": \"12\"\n },\n {\n \"value\": \"10\"\n }\n ]\n }\n ],\n \"type\": {\n \"code\": \"price\",\n \"description\": \"Price level type\",\n \"label\": \"HT Tariff\"\n }\n }\n ],\n \"product\": {\n \"gtin\": \"12345678901234\"\n },\n \"taxes\": []\n }\n ]\n },\n \"gtin\": \"23456789012345\",\n \"supplierId\": null\n },\n {\n \"data\": {\n \"contractNumber\": \"\",\n \"priceWaterfalls\": [\n {\n \"bracketUnit\": null,\n \"brackets\": [\n {\n \"min\": 1\n },\n {\n \"min\": 10\n }\n ],\n \"levels\": [\n {\n \"items\": [\n {\n \"description\": \"Prix brut\",\n \"type\": {\n \"code\": \"grossPrice\",\n \"key\": \"grossPrice\",\n \"label\": \"Gross price\"\n },\n \"unit\": {\n \"code\": \"$\",\n \"description\": \"Absolute unit type\",\n \"label\": \"Amount\"\n },\n \"values\": [\n {\n \"value\": \"abc\"\n },\n {\n \"value\": \"def\"\n }\n ]\n }\n ],\n \"type\": {\n \"code\": \"price\",\n \"description\": \"Price level type\",\n \"label\": \"HT Tariff\"\n }\n }\n ],\n \"product\": {\n \"gtin\": \"34567890123456\"\n },\n \"taxes\": []\n }\n ]\n },\n \"gtin\": \"34567890123456\",\n \"supplierId\": null\n }\n ]\n}'" samples-languages: - curl tags: - Products components: securitySchemes: sec0: type: apiKey in: header name: Authorization x-bearer-format: bearer x-default: SALSIFY_TOKEN x-readme-fauxas: true x-provenance: method: searched source: https://docs.supplierxm.salsify.com/reference harvested: '2026-10-14' tool: harvest-readme-openapi.py note: Assembled verbatim from the OpenAPI definition ReadMe embeds in each operation page of the provider's developer portal; paths and components merged by API title, nothing authored. assembled_from: - https://docs.supplierxm.salsify.com/reference/products-list.md - https://docs.supplierxm.salsify.com/reference/tariff-list.md - https://docs.supplierxm.salsify.com/reference/tariff-product-upsert.md - https://docs.supplierxm.salsify.com/reference/tariff-publish.md - https://docs.supplierxm.salsify.com/reference/tariff-upsert.md merge: pages: 5 deduped: 4 conflicts_kept_first: 0