openapi: 3.2.0 info: title: Product API version: '2.1' servers: - url: https://apis.supplierxm.salsify.com/public/v1/products security: - sec0: [] tags: - name: Product paths: /: get: summary: List Products description: This method lists all the products you have access to. operationId: list-products parameters: - name: status_shared_from in: query description: Filters the shared status of the source products. (DRAFT=2 / PENDING=3 / ACCEPTED=4 / ARCHIVED=1 / DELETED=0 / PAUSED=6 / REFUSED=5) schema: type: integer format: int32 - name: status_shared_with in: query description: Filters the shared status of the target products. (DRAFT=2 / PENDING=3 / ACCEPTED=4 / ARCHIVED=1 / DELETED=0 / PAUSED=6 / REFUSED=5) schema: type: integer format: int32 - name: updated_at_from in: query description: Filters the minimum latest update date of the returned products (UNIX timestamp) schema: type: string format: date-time - name: updated_at_to in: query description: Filters the maximum latest update date of the returned products (UNIX timestamp) schema: type: string format: date-time - name: filter_gtins_in in: query description: Filters by GTINs (several possible, comma-separated) schema: type: string default: '03663215000110' - in: query name: filter_gmns_in schema: type: string description: Filters by GMNs (several possible, comma-separated) - name: filter_target_market in: query description: Filters by target market (ISO 3166-1 numeric) schema: type: integer format: int32 default: 250 - name: filter_product_languages in: query description: Filters by product languages (several possible, comma-separated) schema: type: string default: fr - name: filter_validation_status_in in: query description: Filters the data quality status (validation) of the products (several possible, comma-separated). (NA=0 / NOT OK=1 / OK=2 / CORRECTION=3) schema: type: integer format: int32 - name: filter_has_packshot_new in: query description: Filters on products based on the presence/absence a packshot. schema: type: boolean - name: filter_pictures_last_updated_at_from in: query description: Filters the minimum latest update date for the images (milliseconds since 01/01/1970) schema: type: string format: date-time - name: filter_pictures_last_updated_at_to in: query description: Filters the maximum latest update date for the images (milliseconds since 01/01/1970) schema: type: string format: date-time - name: filter_tags_in in: query description: Filter products depending on a specific tag. Returns all products for which the specified tag is on schema: type: string - name: filter_tags_not_in in: query description: Filter products depending on a specific tag. Returns all products for which the specified tag is off schema: type: string - name: filter_source_include in: query description: Filters the fields returned by the API (fields are comma separated) schema: type: string - name: filter_source_exclude in: query description: Filters the fields returned by the API (fields are comma separated) schema: type: string - name: filter_quality_changed_at_from in: query description: Filters the minimum latest quality update date of the returned products. schema: type: string format: date-time - name: filter_quality_changed_at_to in: query description: Filters the maximum latest quality update date of the returned products. schema: type: string format: date-time - name: filter_lifecycle_in in: query description: Filters the lifecycle status of the source products. (PRELAUNCH=0 / PURCHASABLE=1 / NOT_PURCHASABLE=2 / ARCHIVED=3) schema: type: integer format: int32 - name: filter_is_requested in: query description: Identifies products part of the retailer's active range = products you have uploaded to SupplierXM. Products that manufacturers push proactively have a value "false" schema: type: boolean - name: filter_request_product_status_in in: query description: Filters by request statuses (several possible, comma-separated). Values ACCEPTED, PENDING, REFUSED, RECIPIENT_NOT_RECONCILED schema: type: string - name: limit in: query description: The maximum number of products to be returned. The max value allowed is 500 schema: type: integer format: int32 default: 20 - name: offset in: query description: The index of the first product to be returned schema: type: integer format: int32 default: 0 - name: next_page in: query description: To use scroll search when you need to retrieve more than 10K products (see end of step 3 at https://docs.supplierxm.salsify.com/docs/getting-started for more info) schema: type: integer format: int64 - name: decrypt_price in: query description: 'Decrypt price if possible (based on permission). Possible values are : false, true.' schema: type: boolean - name: advanced_search in: query description: 'See details in "Search Products": https://docs.supplierxm.salsify.com/reference/search-product' schema: type: string format: json - name: sort_by in: query description: sort the element according to the field specified schema: type: string - name: filter_active_range in: query description: '[DEPRECATED] Identifies products part of the retailer''s active range = products you have uploaded to SupplierXM. Products that manufacturers push proactively have a value "false"' schema: type: boolean - name: Accept-language in: header description: Filters by expected languages for labels associated to code values schema: type: string default: fr responses: '200': description: '200' content: application/json: examples: Result: value: "{\n \"totalResults\": 1,\n \"data\": [\n {\n \"_jsonVersion\": 3,\n \"synonyms\": [],\n \"updatedAt\": \"2017-03-24T09:42:20\",\n \"conservationAdvices\": [],\n \"productionVariantEffectiveDate\": null,\n \"shapeStatement\": [],\n \"productActivities\": [],\n \"keepRefrigeratedAfter\": null,\n \"isConsumerUnit\": true,\n \"compulsoryStatements\": [],\n \"isDerivedFrom\": [],\n \"createdShareValueStatement\": [],\n \"GPC\": {},\n \"isPracticeCompatible\": [],\n \"shape\": null,\n \"serves\": [],\n \"isComplementaryWith\": [],\n \"isDespatchUnit\": null,\n \"originText\": [],\n \"brandHighlight\": [],\n \"isOrderableUnit\": null,\n \"expressedIn\": [\n {\n \"referential\": {\n \"name\": \"languages\"\n },\n \"presentEntities\": [\n {\n \"normalizedCode\": \"fr\",\n \"code\": \"fra-FR\",\n \"description\": \"français\",\n \"label\": \"français\"\n }\n ]\n },\n {\n \"referential\": {\n \"name\": \"netcontents\"\n },\n \"presentEntities\": []\n },\n {\n \"referential\": {\n \"name\": \"currencies\"\n },\n \"presentEntities\": []\n },\n {\n \"referential\": {\n \"name\": \"weights\"\n },\n \"presentEntities\": []\n }\n ],\n \"createdAt\": \"2017-01-03T13:27:07\",\n \"manufactureInsights\": [],\n \"flavorStatement\": [],\n \"hasTags\": [\n {\n \"tag\": \"datavalidated\",\n \"createdAt\": \"2017-03-24T16:46:08\"\n }\n ],\n \"lifeCycle\": 0,\n \"isTaggedBy\": [\n \"datavalidated\"\n ],\n \"substitutes\": [],\n \"manufacturerSharingStatus\": 1,\n \"importClassification\": [],\n \"packagingMentions\": [],\n \"isSharedFrom\": [],\n \"allergens\": [],\n \"additives\": [],\n \"conservations\": [],\n \"hasBatchNumber\": null,\n \"tradeItemDateOnPackagingTypeCode\": null,\n \"packaging\": [],\n \"nameLegal\": [\n {\n \"expressedIn\": {\n \"normalizedCode\": \"fr\",\n \"code\": \"fra-FR\",\n \"description\": \"français\",\n \"label\": \"français\"\n },\n \"data\": \"Soda bien trop sucré\"\n }\n ],\n \"namePublicShort\": [],\n \"productionVariantName\": [],\n \"temperature\": [],\n \"isClassifiedIn\": null,\n \"isWrappedBy\": [],\n \"advertisedInformations\": [],\n \"startAvailabilityDateTime\": null,\n \"endAvailabilityDateTime\": null,\n \"dutyFeeTax\": [],\n \"hasNotableIngredients\": [],\n \"isSizedBy\": [],\n \"environmentStatement\": [],\n \"namePublicLong\": [\n {\n \"expressedIn\": {\n \"normalizedCode\": \"fr\",\n \"code\": \"fra-FR\",\n \"description\": \"français\",\n \"label\": \"français\"\n },\n \"data\": \"Soda \"\n }\n ],\n \"isPromotionalItem\": null,\n \"brand\": {\n \"code\": \"Salsify brand\",\n \"description\": \"Sample description\",\n \"label\": \"Sample label\",\n \"pictureUrl\": \"https://smedia.supplierxm.salsify.com/brand/7919/picture/logo/original.png\"\n },\n \"sparklingValue\": null,\n \"isLabeledBy\": [\n {\n \"startDate\": null,\n \"endDate\": null,\n \"detail\": [],\n \"value\": null,\n \"isConceptualizedBy\": {\n \"code\": \"19096\",\n \"description\": \"Agriculture Biologique Française\",\n \"label\": \"Agriculture Biologique Française\",\n \"pictureUrl\": \"https://smedia.supplierxm.salsify.com/api/1/concept/19096/picture/logo/original.png\"\n },\n \"attributedAt\": null\n }\n ],\n \"kind\": {\n \"code\": \"Soda & autre BSA prête-à-boire\",\n \"description\": \"Soda & autre BSA prête-à-boire\",\n \"label\": \"Soda & autre BSA prête-à-boire\"\n },\n \"replaces\": [],\n \"typePackaging\": {\n \"code\": \"EACH\",\n \"description\": \"Unité de base\",\n \"label\": \"unité de base\"\n },\n \"specializes\": {\n \"isBrandedBy\": {\n \"code\": \"Sample code\",\n \"description\": \"Sample description\",\n \"label\": \"Sample label\"\n },\n \"isIdentifiedBy\": [\n {\n \"reference\": \"00366383600795\"\n }\n ],\n \"kind\": {\n \"code\": \"Soda & autre BSA prête-à-boire\",\n \"description\": \"Soda & autre BSA prête-à-boire\",\n \"label\": \"Soda & autre BSA prête-à-boire\"\n }\n },\n \"owner\": {\n \"type\": 1,\n \"name\": \"Salsify\"\n },\n \"nutritionalAllegations\": [],\n \"isEquivalentTo\": [],\n \"netContent\": [],\n \"history\": [],\n \"netWeight\": [],\n \"priceComparisonType\": null,\n \"originCountry\": null,\n \"isSubstitutableWith\": [],\n \"id\": 4897534,\n \"reasonForNewEAN\": null,\n \"isReplaceableBy\": [],\n \"productBenefits\": [],\n \"suggestedRetailPrice\": [],\n \"isMarkedRecyclable\": null,\n \"composition\": [],\n \"description\": [],\n \"warnings\": [],\n \"grossWeight\": [],\n \"consumptionAdvice\": [],\n \"assets\": {\n \"pictures\": [\n {\n \"definition\": null,\n \"typeOfInformation\": 1,\n \"fileEffectiveEndDateTime\": null,\n \"contentType\": 1,\n \"sequenceNumber\": null,\n \"angleHorizontal\": 0,\n \"format\": null,\n \"url\": \"https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/upload/20170324/a1f1405d-b087-46e8-9974-a76673fbf08c.jpg\",\n \"productFace\": 1,\n \"fileType\": 0,\n \"tags\": [],\n \"isPackshot\": true,\n \"exportables\": [\n {\n \"uniformResourceIdentifier\": \"https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/exportable/a1f1405d-b087-46e8-9974-a76673fbf08c/1024x1024.jpg\",\n \"height\": 1024,\n \"width\": 1024,\n \"fileSize\": 75841,\n \"productpicture_id\": 576944,\n \"updatedAt\": \"2017-03-24T09:42:14\",\n \"crc32\": \"452EFCFE\",\n \"createdAt\": \"2017-03-24T09:42:14\"\n },\n {\n \"uniformResourceIdentifier\": \"https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/exportable/a1f1405d-b087-46e8-9974-a76673fbf08c/512x512.jpg\",\n \"height\": 512,\n \"width\": 512,\n \"fileSize\": 67315,\n \"productpicture_id\": 576944,\n \"updatedAt\": \"2017-03-24T09:42:14\",\n \"crc32\": \"FDA73655\",\n \"createdAt\": \"2017-03-24T09:42:14\"\n },\n {\n \"uniformResourceIdentifier\": \"https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/exportable/a1f1405d-b087-46e8-9974-a76673fbf08c/256x256.jpg\",\n \"height\": 256,\n \"width\": 256,\n \"fileSize\": 51467,\n \"productpicture_id\": 576944,\n \"updatedAt\": \"2017-03-24T09:42:14\",\n \"crc32\": \"6EE9515B\",\n \"createdAt\": \"2017-03-24T09:42:14\"\n },\n {\n \"uniformResourceIdentifier\": \"https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/exportable/a1f1405d-b087-46e8-9974-a76673fbf08c/128x128.jpg\",\n \"height\": 128,\n \"width\": 128,\n \"fileSize\": 15057,\n \"productpicture_id\": 576944,\n \"updatedAt\": \"2017-03-24T09:42:15\",\n \"crc32\": \"0CB9BC04\",\n \"createdAt\": \"2017-03-24T09:42:15\"\n },\n {\n \"uniformResourceIdentifier\": \"https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/exportable/a1f1405d-b087-46e8-9974-a76673fbf08c/64x64.jpg\",\n \"height\": 64,\n \"width\": 64,\n \"fileSize\": 4675,\n \"productpicture_id\": 576944,\n \"updatedAt\": \"2017-03-24T09:42:15\",\n \"crc32\": \"B096DCFC\",\n \"createdAt\": \"2017-03-24T09:42:15\"\n }\n ],\n \"uniformResourceIdentifierOrigin\": null,\n \"updatedAt\": \"2017-03-24T09:42:15\",\n \"ratio\": null,\n \"fileEffectiveStartDateTime\": null,\n \"resolution\": null,\n \"angleVertical\": 1,\n \"createdAt\": \"2017-03-24T09:42:13\",\n \"angleOther\": null\n }\n ],\n \"lastUpdatedAt\": {\n \"pictures\": \"2017-03-24T09:42:15\"\n },\n \"enriched_contents\": [],\n \"videos\": []\n },\n \"isNomadic\": null,\n \"isPartitionedBy\": [],\n \"subdivisions\": {},\n \"contact\": [],\n \"offerOnPack\": null,\n \"isInvoiceUnit\": null,\n \"keepRefrigeratedBefore\": null\n }\n ],\n \"offset\": 0\n}" schema: type: object properties: totalResults: type: integer example: 1 default: 0 data: type: array items: type: object properties: _jsonVersion: type: integer example: 3 default: 0 synonyms: type: array updatedAt: type: string example: '2017-03-24T09:42:20' conservationAdvices: type: array productionVariantEffectiveDate: {} shapeStatement: type: array productActivities: type: array keepRefrigeratedAfter: {} isConsumerUnit: type: boolean example: true default: true compulsoryStatements: type: array isDerivedFrom: type: array createdShareValueStatement: type: array GPC: type: object properties: {} isPracticeCompatible: type: array shape: {} serves: type: array isComplementaryWith: type: array isDespatchUnit: {} originText: type: array brandHighlight: type: array isOrderableUnit: {} expressedIn: type: array items: type: object properties: referential: type: object properties: name: type: string example: languages presentEntities: type: array items: type: object properties: normalizedCode: type: string example: fr code: type: string example: fra-FR description: type: string example: français label: type: string example: français createdAt: type: string example: '2017-01-03T13:27:07' manufactureInsights: type: array flavorStatement: type: array hasTags: type: array items: type: object properties: tag: type: string example: datavalidated createdAt: type: string example: '2017-03-24T16:46:08' lifeCycle: type: integer example: 0 default: 0 isTaggedBy: type: array items: type: string example: datavalidated substitutes: type: array manufacturerSharingStatus: type: integer example: 1 default: 0 importClassification: type: array packagingMentions: type: array isSharedFrom: type: array allergens: type: array additives: type: array conservations: type: array hasBatchNumber: {} tradeItemDateOnPackagingTypeCode: {} packaging: type: array nameLegal: type: array items: type: object properties: expressedIn: type: object properties: normalizedCode: type: string example: fr code: type: string example: fra-FR description: type: string example: français label: type: string example: français data: type: string example: Soda bien trop sucré namePublicShort: type: array productionVariantName: type: array temperature: type: array isClassifiedIn: {} isWrappedBy: type: array advertisedInformations: type: array startAvailabilityDateTime: {} endAvailabilityDateTime: {} dutyFeeTax: type: array hasNotableIngredients: type: array isSizedBy: type: array environmentStatement: type: array namePublicLong: type: array items: type: object properties: expressedIn: type: object properties: normalizedCode: type: string example: fr code: type: string example: fra-FR description: type: string example: français label: type: string example: français data: type: string example: 'Soda ' isPromotionalItem: {} brand: type: object properties: code: type: string example: Salsify brand description: type: string example: Sample description label: type: string example: Sample label pictureUrl: type: string example: https://smedia.supplierxm.salsify.com/brand/7919/picture/logo/original.png sparklingValue: {} isLabeledBy: type: array items: type: object properties: startDate: {} endDate: {} detail: type: array value: {} isConceptualizedBy: type: object properties: code: type: string example: '19096' description: type: string example: Agriculture Biologique Française label: type: string example: Agriculture Biologique Française pictureUrl: type: string example: https://smedia.supplierxm.salsify.com/api/1/concept/19096/picture/logo/original.png attributedAt: {} kind: type: object properties: code: type: string example: Soda & autre BSA prête-à-boire description: type: string example: Soda & autre BSA prête-à-boire label: type: string example: Soda & autre BSA prête-à-boire replaces: type: array typePackaging: type: object properties: code: type: string example: EACH description: type: string example: Unité de base label: type: string example: unité de base specializes: type: object properties: isBrandedBy: type: object properties: code: type: string example: Sample code description: type: string example: Sample description label: type: string example: Sample label isIdentifiedBy: type: array items: type: object properties: reference: type: string example: 00366383600795 kind: type: object properties: code: type: string example: Soda & autre BSA prête-à-boire description: type: string example: Soda & autre BSA prête-à-boire label: type: string example: Soda & autre BSA prête-à-boire owner: type: object properties: type: type: integer example: 1 default: 0 name: type: string example: Salsify nutritionalAllegations: type: array isEquivalentTo: type: array netContent: type: array history: type: array netWeight: type: array priceComparisonType: {} originCountry: {} isSubstitutableWith: type: array id: type: integer example: 4897534 default: 0 reasonForNewEAN: {} isReplaceableBy: type: array productBenefits: type: array suggestedRetailPrice: type: array isMarkedRecyclable: {} composition: type: array description: type: array warnings: type: array grossWeight: type: array consumptionAdvice: type: array assets: type: object properties: pictures: type: array items: type: object properties: definition: {} typeOfInformation: type: integer example: 1 default: 0 fileEffectiveEndDateTime: {} contentType: type: integer example: 1 default: 0 sequenceNumber: {} angleHorizontal: type: integer example: 0 default: 0 format: {} url: type: string example: https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/upload/20170324/a1f1405d-b087-46e8-9974-a76673fbf08c.jpg productFace: type: integer example: 1 default: 0 fileType: type: integer example: 0 default: 0 tags: type: array isPackshot: type: boolean example: true default: true exportables: type: array items: type: object properties: uniformResourceIdentifier: type: string example: https://smedia.supplierxm.salsify.com/product/3292988/version/4897534/picture/exportable/a1f1405d-b087-46e8-9974-a76673fbf08c/1024x1024.jpg height: type: integer example: 1024 default: 0 width: type: integer example: 1024 default: 0 fileSize: type: integer example: 75841 default: 0 productpicture_id: type: integer example: 576944 default: 0 updatedAt: type: string example: '2017-03-24T09:42:14' crc32: type: string example: 452EFCFE createdAt: type: string example: '2017-03-24T09:42:14' uniformResourceIdentifierOrigin: {} updatedAt: type: string example: '2017-03-24T09:42:15' ratio: {} fileEffectiveStartDateTime: {} resolution: {} angleVertical: type: integer example: 1 default: 0 createdAt: type: string example: '2017-03-24T09:42:13' angleOther: {} lastUpdatedAt: type: object properties: pictures: type: string example: '2017-03-24T09:42:15' enriched_contents: type: array videos: type: array isNomadic: {} isPartitionedBy: type: array subdivisions: type: object properties: {} contact: type: array offerOnPack: {} isInvoiceUnit: {} keepRefrigeratedBefore: {} offset: type: integer example: 0 default: 0 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false tags: - Product post: summary: Product Upsert description: Allow you to write product data operationId: product-upsert parameters: - name: Content-Type in: header description: application/json for json format application/xml for xml format schema: type: string default: application/json requestBody: content: application/json: schema: type: object properties: data: properties: gtin: type: string description: GTIN of the product required: - gtin type: object description: List of products responses: '200': description: '200' content: application/json: examples: Result: value: '{''tracking'': 42}' application/xml: examples: Result: value: 42 '400': description: '400' content: application/json: examples: Result: value: '{}' schema: type: object properties: {} deprecated: false x-readme: code-samples: - language: xml code: "curl -H 'Authorization: Bearer SALSIFY_TOKEN' -XPOST 'https://apis.supplierxm.salsify.com/public/v1/products' -d '\n\n\n\t\n\t\t03663215000080\n\t\ttrue\n\t\tHello from write API\n\t\n' -H 'Content-Type: application/xml'" name: HTTP XML samples-languages: - xml tags: - Product components: securitySchemes: sec0: in: header name: Authorization type: apiKey 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/list-products.md - https://docs.supplierxm.salsify.com/reference/product-upsert-tracking.md - https://docs.supplierxm.salsify.com/reference/product-upsert.md - https://docs.supplierxm.salsify.com/reference/search-product.md merge: pages: 4 deduped: 3 conflicts_kept_first: 0