Jay Product Data API (2025-07-09)

The Jay Product Data API of the Media Jay application provides the capability to add full or update volatile (stock count, prices, etc.) product data.

Authentication

To access the endpoints you require a X-API-Key in the header. Partners, please contact Transfermedia support@transfermedia.de to retrieve one.

Versioning

To use a specific implementation version of this API place it to the request header X-API-Version. If the header is missed the latest implementation version 2025-07-09 is used. The response header X-API-Version returns the implementation version the request was processed with.

Further documentation

For further details please visit the documentation or contact Transfermedia support@transfermedia.de.

Download OpenAPI description
Languages
Servers
Development Server

https://docs.jay-metadata.com/_mock/apis/product/2025-07-09/openapi/

General configuration

Operations

Products

Operations

Get the stock keeping units (article numbers) relevant to jay.

Request

Retrieves the stock keeping units (article numbers) relevant to jay. The response is paginated and returns a list for each language/country combination.

Query
langstring(Product language)^[a-z]{2}$

The ISO 639 2-letter language code specifying the product language (e.g. "de", "en") to filter. If absent or empty no filtering is applied. Ignored if next_token is specified.

Example: lang=de
countrystring(Product country)^[A-Z]{2}$

The ISO 3166 2-letter country code specifying the product country (e.g. "DE", "GB") to filter. If absent or empty no filtering is applied. Ignored if next_token is specified.

Example: country=DE
next_tokenstring(Next Token)
curl -i -X GET \
  'https://docs.jay-metadata.com/_mock/apis/product/2025-07-09/openapi/shops/products?country=DE&lang=de&next_token=string'

Responses

Successfully retrieved the stock keeping units (article numbers) relevant to jay.

Bodyapplication/json
dataobject(The response data)

Represents a list of main product stock keeping units (article numbers) blocks to monitor for jay.

Example: {"blocks":[{"skus":["item"],"lang":"<<class 'shop_api.data.shop_management.ConstrainedStrValue'>>","country":"<<class 'shop_api.data.shop_management.ConstrainedStrValue'>>"}],"nextToken":"string"}
errorobject(The error response)

Represents a data response with a possible error.

Response
application/json
{ "data": { "blocks": [], "nextToken": "string" } }

Add a product description.

Request

Add the full description for a product including all variants (e.g. sizes) associated to it.

Bodyapplication/jsonrequired
skustring(Product SKU)required

The stock keeping unit (article number) of the main product.

stockCountinteger(Stock count)

The number of products currently in stock.

  • A stock count > 0 means there are n products available.
  • A stock count <= 0 means the product is temporary out-of-stock.
  • If not specified the stock count is not set.
priceinteger(The current price)>= 0

The current price of the product including discounts (including tax) (excluding shipping, etc.). The price is given in minor units (e.g. 2799 for 27,99 EUR). That is the price a customer really has to pay when ordering the product. If not specified the price is not set.

Example: 2799
orgPriceinteger(The original price)>= 0

The original price of the product (including tax) (excluding shipping, etc.). The price is given in minor units (e.g. 3599 for 35,99 EUR). If not specified the original and current prices are identical.

Example: 3599
langstring(Product language)

The ISO 639 2-letter language code specifying the product language (e.g. "en", "de").

Example: "de"
countrystring(Product country)

The ISO 3166 2-letter country code specifying the country the product is for (e.g. "DE", "SA").

Example: "DE"
currencystring(The currency)

A 1-character currency symbol (€, $, £) or ISO 4217 3-letter currency code used for payment

Example: "EUR"
shippingModelobject(The shipping model)

Represents the shipping model for a product. If multiple strategies are specified they are added together.
Example: If you specify a shipping_flat_rate and a shipping_per_item the resulting shipping cost is shipping_flat_rate + shipping_per_item * order_count.

vatnumber(The VAT (value added tax) in percent)>= 0

The VAT (value added tax) in percent (e.g. 19.0%).

Example: 19
namestring(name)non-emptyrequired

The mandatory name of the product.

Example: "LOGO - Kapuzenpullover - white"
brandbrand (string) or ShopProductBrand (object)(brand)

The brand (e.g. "Tommy Hilfiger")

Example: "Tommy Hilfiger"
Any of:

The brand (e.g. "Tommy Hilfiger")

string(brand)

The brand (e.g. "Tommy Hilfiger")

subLinestring(sub-line)

A sub line text.

descriptionstring(description)

The product description.

Example: "Softfinish innen, Kängurutasche\n\nKragen: Kapuze\nÄrmelbündchen: Gerippt\nDetails Kapuze: Kapuze mit Tunnelzug\nMuster: Print\nDetails: Elastischer Bund, Stickerei\nArtikelnummer: TO122S074-A12"
genderShopGenderCode (integer) or ShopProductGender (object)(gender)

The gender the product is for.

Example: 2
Any of:

The gender the product is for.

integer(ShopGenderCode)

The gender the product is for.

Enum1234
materialstring(material)

The material (e.g. "100% linen").

Example: "100% linen"
colourstring(colour)

The colour text (e.g. "red").

Example: "red"
colourCodeinteger(colour code)[ 0 .. 16777215 ]

The colour code as RGB value.

Example: 11806517
fitstring(the fit)

The fit of the product.

Example: "slim"
notShoppableboolean(not shoppable)

If True the product is not shoppable (e.g. Restaurant, Recipe, ...).

urlstring(Link)

A link to the product website.

urlLabelstring(Link label)

The link label

urlNotestring(Link note)

The link note

urlImageUrlstring(Link image url)

The link image url of the associated image.

imagesArray of objects(Product images)

The product images finally presented to the user on

variantsArray of objects(Product variants)[ 0 .. 50 ] items

The description of the product variants (e.g. sizes). At max 50 variants can be specified.

curl -i -X POST \
  https://docs.jay-metadata.com/_mock/apis/product/2025-07-09/openapi/shops/products \
  -H 'Content-Type: application/json' \
  -d '{
    "sku": "string",
    "stockCount": 0,
    "price": 2799,
    "orgPrice": 3599,
    "lang": "de",
    "country": "DE",
    "currency": "EUR",
    "shippingModel": {
      "shippingFlatRate": 499,
      "shippingPerItem": 0,
      "shippingScale": [
        {
          "start": 0,
          "price": 399
        }
      ],
      "orderLimit": 0
    },
    "vat": 19,
    "name": "LOGO - Kapuzenpullover - white",
    "brand": "Tommy Hilfiger",
    "subLine": "string",
    "description": "Softfinish innen, Kängurutasche\n\nKragen: Kapuze\nÄrmelbündchen: Gerippt\nDetails Kapuze: Kapuze mit Tunnelzug\nMuster: Print\nDetails: Elastischer Bund, Stickerei\nArtikelnummer: TO122S074-A12",
    "gender": 2,
    "material": "100% linen",
    "colour": "red",
    "colourCode": 11806517,
    "fit": "slim",
    "notShoppable": true,
    "url": "string",
    "urlLabel": "string",
    "urlNote": "string",
    "urlImageUrl": "string",
    "images": [
      {
        "url": "string",
        "copyrightText": "transfermedia GmbH."
      }
    ],
    "variants": [
      {
        "sku": "string",
        "stockCount": 0,
        "price": 2799,
        "orgPrice": 3599,
        "value": "6½",
        "type": "size"
      }
    ]
  }'

Responses

Successfully added the product description including all variants (e.g. sizes) associated to it.

Bodyapplication/json
dataany(The response data)

The response data.

errorobject(The error response)

Represents a data response with a possible error.

Response
application/json
{ "data": null, "error": { "code": 1001, "message": "string", "details": null } }

Update the volatile information for multiple products.

Request

Update the volatile information (stock count, price, etc.) for multiple main products and product variants in one step. The products are identified by their stock keeping unit (article number), language and country.

Bodyapplication/jsonrequired
langstring(Product language)

The ISO 639 2-letter language code specifying the product language (e.g. "en", "de").

Example: "de"
countrystring(Product country)

The ISO 3166 2-letter country code specifying the country the product is for (e.g. "DE", "SA").

Example: "DE"
currencystring(The currency)

A 1-character currency symbol (€, $, £) or ISO 4217 3-letter currency code used for payment

Example: "EUR"
shippingModelobject(The shipping model)

Represents the shipping model for a product. If multiple strategies are specified they are added together.
Example: If you specify a shipping_flat_rate and a shipping_per_item the resulting shipping cost is shipping_flat_rate + shipping_per_item * order_count.

vatnumber(The VAT (value added tax) in percent)>= 0

The VAT (value added tax) in percent (e.g. 19.0%).

Example: 19
productsArray of objects(Products)[ 0 .. 50 ] items

The product information to update. The number of products to update in one call is limited to 50.

curl -i -X PATCH \
  https://docs.jay-metadata.com/_mock/apis/product/2025-07-09/openapi/shops/products \
  -H 'Content-Type: application/json' \
  -d '{
    "lang": "de",
    "country": "DE",
    "currency": "EUR",
    "shippingModel": {
      "shippingFlatRate": 499,
      "shippingPerItem": 0,
      "shippingScale": [
        {
          "start": 0,
          "price": 399
        }
      ],
      "orderLimit": 0
    },
    "vat": 19,
    "products": [
      {
        "sku": "string",
        "stockCount": 0,
        "price": 2799,
        "orgPrice": 3599
      }
    ]
  }'

Responses

Successfully updated the volatile information for multiple products.

Bodyapplication/json
dataany(The response data)

The response data.

errorobject(The error response)

Represents a data response with a possible error.

Response
application/json
{ "data": null, "error": { "code": 1001, "message": "string", "details": null } }

API information

Operations