Alkemics Products API
The Products API from Alkemics — 1 operation(s) for products.
The Products API from Alkemics — 1 operation(s) for products.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/alkemics:alkemics-products-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
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