Documentation Index

Fetch the complete documentation index at: https://docs.mapp.com/llms.txt

Use this file to discover all available pages before exploring further.

List all variants in a catalog

Prev Next
Get
/api/product-catalog/v1/catalogs/{catalogId}/variants

Gets variants from given companyId and catalogId using cursor pagination.
If no data is found, HttpStatus.NO_CONTENT is returned.

Security
HTTP
Type bearer
Path parameters
catalogId
integer (int64) Required

Catalog identifier whose variants should be listed.

Query parameters
activeStatusSearch
string

Controls whether active attributes, inactive attributes, or all attributes are included in the returned variant data. Defaults to ALL.

Valid values[ "ACTIVE_ONLY", "INACTIVE_ONLY", "ALL" ]
Default"ALL"
catalogType
string

Selects which product data layer to query. Defaults to COMBINED.

Valid values[ "SOURCE", "ENRICHED", "COMBINED" ]
Default"COMBINED"
lastId
string

Forward pagination cursor. Returns variants after this document id; the cursor value itself is excluded. Cannot be used together with firstId.

firstId
string

Backward pagination cursor. Returns variants before this document id; the cursor value itself is excluded. Cannot be used together with lastId.

size
integer (int32)

Maximum number of variants to return in one page. Defaults to 100; values less than 1 or greater than 100 are normalized to 100.

Default100
fromModifiedTimestamp
integer (int64)

Filters variants modified at or after this timestamp. The value is epoch milliseconds and the lower bound is inclusive. If this is provided, toModifiedTimestamp is required. For paginated scans, capture this value once before the first page and keep it unchanged for every page.

Example1783503393000
toModifiedTimestamp
integer (int64)

Filters variants modified at or before this timestamp. The value is epoch milliseconds, the upper bound is inclusive, it must not be greater than the current server time, and it is required when fromModifiedTimestamp is provided. For paginated scans, capture this value once before the first page and keep it unchanged for every page.

Example1783506993000
Responses
200

Paginated variants found

{
  "productViewPayloads": [
    {
      "variant_id": "V-1001",
      "product_id": "P-500",
      "status": {
        "value": 1,
        "label": "active"
      },
      "availability": {
        "value": true,
        "label": "available"
      },
      "catalog_id": 123,
      "source_creation_time": 1783502993000,
      "source_update_time": 1783503093000,
      "enriched_creation_time": 1783503193000,
      "enriched_update_time": 1783503293000,
      "color": {
        "en-GB": "Navy Blue",
        "de-DE": "Marineblau"
      },
      "fashion_material": "leather",
      "fashion_season": "summer"
    },
    {
      "variant_id": "V-1002",
      "product_id": "P-500",
      "status": {
        "value": 1,
        "label": "active"
      },
      "availability": {
        "value": true,
        "label": "available"
      },
      "catalog_id": 123,
      "source_creation_time": 1783503393000,
      "source_update_time": 1783503493000,
      "enriched_creation_time": 1783503593000,
      "enriched_update_time": 1783503693000,
      "size": {
        "US": "M",
        "EU": "38"
      },
      "fashion_material": "leather",
      "fashion_season": "summer"
    }
  ],
  "paginationCursor": {
    "lastId": "687d57eb6986be26d3f7e0b4",
    "firstId": "687d57eb6986be26d3f7e0a3",
    "previousPageExists": false,
    "nextPageExists": true
  }
}
Expand All
object
productViewPayloads
Array of object (VariantFlatViewResponse)
Example[ { "variant_id": "V-1001", "product_id": "P-500", "status": { "value": 1, "label": "active" }, "availability": { "value": true, "label": "available" }, "catalog_id": 12345, "source_creation_time": 1783502993000, "source_update_time": 1783503093000, "enriched_creation_time": 1783503193000, "enriched_update_time": 1783503293000, "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "price": { "US": 29.99, "GB": 24.99 }, "size": { "US": "S", "EU": "36" }, "fashion_material": "leather", "fashion_season": "summer" }, { "variant_id": "V-1002", "product_id": "P-500", "status": { "value": 1, "label": "active" }, "availability": { "value": true, "label": "available" }, "catalog_id": 12345, "source_creation_time": 1783503393000, "source_update_time": 1783503493000, "enriched_creation_time": 1783503593000, "enriched_update_time": 1783503693000, "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "price": { "US": 29.99, "GB": 24.99 }, "size": { "US": "M", "EU": "38" }, "fashion_material": "leather", "fashion_season": "summer" } ]
object

Flat variant payload based on the unified product catalog schema, where:
- predefined SOURCE attributes are documented as fields here.
- custom SOURCE attributes are added dynamically on top-level as fields.
- ENRICHED attributes are added dynamically on top-level as fields.
- SOURCE attributes have no prefix, while ENRICHED attributes have the 'fashion_' prefix.

Example[ { "variant_id": "V-1001", "product_id": "P-500", "style_id": "S-42", "status": { "value": 1, "label": "active" }, "availability": { "value": true, "label": "available" }, "catalog_id": 12345, "source_creation_time": 1783502993000, "source_update_time": 1783503093000, "enriched_creation_time": 1783503193000, "enriched_update_time": 1783503293000, "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "price": { "US": 29.99, "GB": 24.99 }, "size": { "US": "S", "EU": "36" }, "fashion_material": "leather", "fashion_season": "summer" }, { "variant_id": "V-1002", "product_id": "P-500", "style_id": "S-42", "status": { "value": 1, "label": "active" }, "availability": { "value": true, "label": "available" }, "catalog_id": 12345, "source_creation_time": 1783503393000, "source_update_time": 1783503493000, "enriched_creation_time": 1783503593000, "enriched_update_time": 1783503693000, "color": { "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }, "price": { "US": 29.99, "GB": 24.99 }, "size": { "US": "M", "EU": "38" }, "fashion_material": "leather", "fashion_season": "summer" } ]
variant_id
string

Client-defined unique identifier of the purchasable variant.

ExampleV-1001
product_id
string

Identifier used for grouping all variants belonging to the same product.

ExampleP-500
style_id
string

Groups variants that share colour or style but differ by option attributes such as size.

ExampleS-1000
status
string
Valid values[ "PRE_ORDER", "ACTIVE", "DISCONTINUED" ]
Example{"value":1,"label":"active"}
availability
string
Valid values[ "AVAILABLE", "NOT_AVAILABLE" ]
Example{"value":true,"label":"available"}
catalog_id
integer (int64)

Catalog identifier.

Example123
source_creation_time
integer (int64)

SOURCE data creation timestamp in milliseconds. Present when SOURCE data is available.

Example1783502993000
source_update_time
integer (int64)

SOURCE data last update timestamp in milliseconds. Present when SOURCE data is available.

Example1783503093000
enriched_creation_time
integer (int64)

ENRICHED data creation timestamp in milliseconds. Present when ENRICHED data is available.

Example1783503193000
enriched_update_time
integer (int64)

ENRICHED data last update timestamp in milliseconds. Present when ENRICHED data is available.

Example1783503293000
brand
string

Product brand name.

ExampleAnnTaylor
price
object

Current selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.

Example{ "US": 29.99, "GB": 24.99, "DE": 27.5, "FR": 28.0 }
property*
number additionalProperties

Current selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.

currency
object

Currency keyed by the same country codes as price. Values are ISO 4217 currency codes.

Example{ "US": "USD", "GB": "GBP", "DE": "EUR", "FR": "EUR", "*": "USD" }
property*
string additionalProperties

Currency keyed by the same country codes as price. Values are ISO 4217 currency codes.

Example{"US":"USD","GB":"GBP","DE":"EUR","FR":"EUR","*":"USD"}
size
object

Size keyed by ISO 3166-1 alpha-2 country code or '*' fallback.

Example{ "US": "S", "GB": "8", "EU": "36" }
property*
string additionalProperties

Size keyed by ISO 3166-1 alpha-2 country code or '*' fallback.

Example{"US":"S","GB":"8","EU":"36"}
color
object

Localized colour keyed by BCP 47 locale or '*' fallback.

Example{ "en-GB": "Navy Blue", "de-DE": "Marineblau", "fr-FR": "Bleu marine" }
property*
string additionalProperties

Localized colour keyed by BCP 47 locale or '*' fallback.

Example{"en-GB":"Navy Blue","de-DE":"Marineblau","fr-FR":"Bleu marine"}
mpn
string

Manufacturer Part Number. Maximum length is 70 characters.

ExampleDRESS-BLK-M-2023
gtin
string

Global Trade Item Number. Expected length is 8-14 digits.

Example1234567890123
material
string

Material of the product.

Examplecotton
gender
string

Gender value for fashion catalogs.

Valid values[ "female", "male", "girls", "boys", "unisex" ]
Examplefemale
category
Array of string

Category hierarchy.

Example[ "ladies", "dresses", "short" ]
string

Category hierarchy.

Example["ladies","dresses","short"]
locale
Array of string

Supported locales for this variant.

Example[ "en-GB", "de-DE" ]
string

Supported locales for this variant.

Example["en-GB","de-DE"]
ean
string

Standardised article number.

Example8076809513456
multipack
integer (int32)

Multipack quantity.

Example3
collaboration
Array of string

Retailer-specific collaboration values.

Example[ "designer-capsule", "summer-edit" ]
string

Retailer-specific collaboration values.

Example["designer-capsule","summer-edit"]
variant_title
string

Human-readable title of the variant.

ExampleBasic t-shirt, size L
style_title
string

Human-readable title of the style.

ExampleBlack basic t-shirt
product_title
object

Localized product title keyed by BCP 47 locale or '*' fallback.

Example{ "en-GB": "Summer dress", "de-DE": "Sommerkleid", "fr-FR": "Robe d'ete", "*": "Summer dress" }
property*
string additionalProperties

Localized product title keyed by BCP 47 locale or '*' fallback.

Example{"en-GB":"Summer dress","de-DE":"Sommerkleid","fr-FR":"Robe d'ete","*":"Summer dress"}
product_description
object

Localized product description keyed by BCP 47 locale or '*' fallback.

Example{ "en-GB": "Light dress", "de-DE": "Leichtes Kleid" }
property*
string additionalProperties

Localized product description keyed by BCP 47 locale or '*' fallback.

Example{"en-GB":"Light dress","de-DE":"Leichtes Kleid"}
image_url
Array of string

List of product image URLs.

Example[ "https://cdn.com/photo1.jpg", "https://cdn.com/photo2.jpg", "https://cdn.com/photo3.jpg" ]
string

List of product image URLs.

Example["https://cdn.com/photo1.jpg","https://cdn.com/photo2.jpg","https://cdn.com/photo3.jpg"]
pdp_url
object

Localized product detail page URL keyed by BCP 47 locale or '*' fallback.

Example{ "en-GB": "https://shop.example/gb/basic-tshirt-001", "de-DE": "https://shop.example/de/basic-tshirt-001" }
property*
string additionalProperties

Localized product detail page URL keyed by BCP 47 locale or '*' fallback.

Example{"en-GB":"https://shop.example/gb/basic-tshirt-001","de-DE":"https://shop.example/de/basic-tshirt-001"}
season_code
boolean

Indicates whether the product belongs to a seasonal assortment.

Exampletrue
old_price
object

Former selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.

Example{ "US": 39.99, "GB": 34.99 }
property*
number additionalProperties

Former selling price keyed by ISO 3166-1 alpha-2 country code or '*' fallback.

set_id
string

Identifier for products sold as a set.

ExampleBIKINI-SET-001
extra_id
object

Additional localized or country-specific product identifier.

Example{ "US": "EXTRA-US-1001", "GB": "EXTRA-GB-1001" }
property*
string additionalProperties

Additional localized or country-specific product identifier.

Example{"US":"EXTRA-US-1001","GB":"EXTRA-GB-1001"}
ancillary_product_code
string

Additional product identifier.

ExampleANC-1001
min_age
integer (int32)

Minimal age in months for children's wear.

Example12
max_age
integer (int32)

Maximum age in months for children's wear.

Example24
best_model_image
string

Best model image URL.

Examplehttps://cdn.com/best_model_image.jpg
best_product_image
string

Best product-only image URL.

Examplehttps://cdn.com/best_product_image.jpg
paginationCursor
object (PaginationCursorDTO)

Only set when pagination is used

nextPageExists
boolean
previousPageExists
boolean
firstId
string
ExampleV-1001
lastId
string
ExampleV-1010
204

No variants were found for the requested page and filters.

400

Pagination is missing or invalid, modification date filters are invalid, or catalog attributes are not configured.

{
  "message": "Cannot specify both lastId and firstId",
  "httpStatus": 400,
  "errorCode": "400 Bad Request",
  "timestamp": "2026-07-08T12:00:00Z"
}
object
message
string
httpStatus
integer (int32)
errorCode
string
timestamp
string (date-time)
404

Catalog was not found.

{
  "message": "Product feed not found for companyId: 456 and feedId: 123",
  "httpStatus": 404,
  "errorCode": "404 Not Found",
  "timestamp": "2026-07-08T12:00:00Z"
}
object
message
string
httpStatus
integer (int32)
errorCode
string
timestamp
string (date-time)
500

Unexpected error while fetching paginated variants.

{
  "message": "Unexpected error while processing request",
  "httpStatus": 500,
  "errorCode": "500 Internal Server Error",
  "timestamp": "2026-07-08T12:00:00Z"
}
object
message
string
httpStatus
integer (int32)
errorCode
string
timestamp
string (date-time)