return top curated recommendations for a user based on their basket items

Prev Next
Get
/v2/items/basket

Returns personalized curated recommendations for a user, like /v2/items/top. It does not return items similar to the garments in the basket. The department is taken from the garments in the basket, and these garments are excluded from the recommendations. The basket can be empty.

This is the v2 equivalent of /items/basket. It uses the same service objects and retry/fallback logic.

Identifiers in ids and excluded_ids are interpreted according to identifier_type, by default as product codes. fashion-id is not supported here. A user object is only returned if include_user_data=true.

Security
API Key: api_key
Header parameter namex-api-key
API Key: api_key
Header parameter namex-api-key
API Key: user_token
Header parameter namex-dressipi-jwt

The JWT for the user. Optional: requests without a user token return non-personalized results. The header name is unchanged for backwards compatibility.

Query parameters
ids
array of string

Comma separated list of garment identifiers representing the user's basket, for example ids=A,B. Interpreted according to identifier_type. Identifiers that cannot be resolved are ignored. The basket garments are excluded from the recommendations, and the department is taken from them. If the list is empty or none of the identifiers can be resolved, recommendations are still returned.

Bracketed array syntax (ids[]=A&ids[]=B) is not accepted.

excluded_ids
array of string

Comma separated list of garment identifiers to be excluded from the recommendations, for example excluded_ids=A,B. Interpreted according to identifier_type.

Bracketed array syntax is not accepted.

identifier_type
string

How Mapp Fashion should interpret ids and excluded_ids. Not all of these may be available, depending on the information in your product data and how it is processed.

In general

  • product-code is the style + color identifier from your product data
  • sku is the variant identifier (style, color and size)
  • gtin is the barcode, for example EAN-13 or UPC

There is no fallback logic for partial matches: an identifier must match completely.

Valid values[ "product-code", "sku", "gtin" ]
Default"product-code"
max_items
integer (int32)

The maximum number of items to return. Six items are returned when this parameter is not set

Minimum1
Maximum20
Default6
max_reduced_by
integer (int32)

The maximum price reduction (in percent) of any returned item. Requires that discount data is shared with the API.

Minimum1
Maximum100
sort
string

The attribute to sort results by. Currently only 'price' is supported.

Valid values[ "price" ]
direction
string

The direction to sort results by.

Valid values[ "asc", "desc" ]
Default"desc"
garment_format
string

The desired response format.

If simple, only basic garment identifiers are returned. If detailed, more comprehensive garment metadata (name, description, price etc.) is included.

simple is equivalent to the v1 value retailer_ids. The v1 value document is not available in v2.

With detailed, garment attributes are returned in garment_data as GarmentDetail objects. The v1 fields parameter has no v2 equivalent: the set of attributes is fixed and depends on the endpoint and your product data.

Valid values[ "simple", "detailed" ]
Default"simple"
locale
string

A locale parameter describing what stock information to use and what language to return text in (if applicable). This parameter will only function if the corresponding information is in your product data & processed accordingly. If stock locale and UI language are not the same, specify the language parameter in addition to this one.

language
string

Allows you to specify a locale used for product attributes such as product name that should be localized using a different locale to price & stock information. This parameter will only function if the corresponding information is in your product data & processed accordingly.

pretty
boolean

If true, pretty print JSON output. This increases response size and should usually be off in production environments

Defaultfalse
include_user_data
boolean

If true, a user object is included in the response.

Defaultfalse
Responses
200

Information about the curated recommendations

Expand All
object

The response of /api/v2/items/basket.

Note that this envelope differs from the other v2 items endpoints: the recommendations are a flat array with no section identifier, and no source is returned. A user object is only returned if include_user_data=true.

Example{ "event_id": "6a959e670ed0c31366f3767d", "currency": "GBP", "recommendations": [ { "garment_id": "TP10208BLACKWATCH", "ancillary_product_code": "TP10208" }, { "garment_id": "TT42816BLUELANDY", "ancillary_product_code": "TT42816" } ], "garment_data": [ { "id": 5245343, "product_code": "TA27057CHESTNUTTAN", "product_id": "TA27057", "name": "Men's Sheepskin Outdoor Mule Slippers", "price": "69.95", "old_price": "", "garment_category_id": 166, "garment_category_name": "Slippers", "department": "male" } ], "available_skus": [ { "garment_id": "TP10208BLACKWATCH", "skus": [ "TP10208BLACKWATCH-S", "TP10208BLACKWATCH-M" ] } ] }
event_id
string

An event id. Use it when posting events relating to this dataset

currency
string | null

The currency the prices in this response are expressed in, resolved from the requested locale (the default currency if no locale is given). Null if your product data contains no currency

ExampleGBP
recommendations
Array of object (BareGarment)

The recommended items for the current basket, in the order they should be displayed

object
garment_id
string

The item identifier. In v2, it uses the same identifier type as the request (identifier_type), by default the product code. In v1, the type of identifier depends on the request's garment_format

ExampleABC-123
raw_garment_id
integer (int32)

The internal Mapp Fashion id for the garment. This may be omitted depending on garment_format

Example123456
product_id
string

The product level identifier the item belongs to (Product ID in the Product Catalog), grouping all its colors and sizes. Omitted if your product data contains no Product ID

ExampleTS30165
ancillary_product_code
string

An alternative identifier to identify the product, hidden when not provided in your product data

ExampleA1B2C3
garment_data
Array of object (GarmentDetail)

Attributes of the garments in the response. Empty unless garment_format=detailed

object

An entry in garment_data, returned when garment_format=detailed.

Note that this object is not the same shape as Garment (used by the v1 recommendations endpoints): it carries the product and media attributes of the garment and identifies it via id and product_code rather than garment_id.

The set of attributes present depends on the endpoint and on what your product data contains, so individual attributes may be absent, empty or null. The v1 fields parameter has no v2 equivalent.

Do not rely on the order of this array. It does not necessarily match the order of the recommendations, which is authoritative for display.

Example{ "id": 5251640, "product_code": "TS30165CHARCOALHB", "product_id": "TS30165", "partner": "examplepartner", "retailer": "ExamplePartner", "brand_name": "Example Brand", "name": "Men's Raglan Sleeve British Tweed Coat", "price": "345.00", "old_price": "", "url": "https://www.example.com/raglan-sleeve-tweed-coat-ts30165charcoalhb/", "garment_category_id": 84, "garment_category_name": "Outerwear", "department": "male", "feed_image_urls": [ "https://media.example.com/products/TS30165CHARCOALHB.jpg" ], "image_url": "https://cdn.example.net/garment-5251640-9331038.jpg", "thumbnail_image_url": "https://cdn.example.net/thumbnail-5251640-9331038.jpg", "why": [], "has_outfits": true, "garment_status": "in stock" }
id
integer (int32)

The internal Mapp Fashion id for the garment

product_code
string

The product code from your product data

product_id
string

The product level identifier the product code belongs to (Product ID in the Product Catalog)

partner
string

The partner identifier

retailer
string

The retailer name

brand_name
string

The brand name

name
string

The product name

price
string

The current price as it appears in your product data. Formatting follows your product data and does not necessarily include a currency

old_price
string

The previous price as it appears in your product data. Empty if the garment is not reduced

rating
number | null

Product rating. May be null if your product data does not provide one

url
string

The URL of the product detail page

garment_category_id
integer (int32)

The category id for the product

garment_category_name
string

The category name for the product

department
string

The garment department

feed_image_urls
Array of string

All image URLs present in your product data

string
image_url
string

Mapp Fashion hosted image for the garment

thumbnail_image_url
string

Mapp Fashion hosted thumbnail for the garment

best_model_image
string

The product image judged to be the best model shot. May be empty

best_product_image
string

The product image judged to be the best product shot. May be null

why
Array of string

Human readable reasons for the recommendation. Only populated if the profile has shape data

string
has_outfits
boolean

Whether outfits can be generated for the garment

garment_status
string

The stock status of the garment

available_skus
Array of object (AvailableSkus)

The variant SKUs of the recommended items that are still in stock, one entry per item. An empty array when none are known.

Only reliable if the variant IDs are maintained in the Product Catalog and the products have their real product images from the first import on. Products imported with placeholder images or dummy URLs can receive SKUs of other products.

object

The in-stock variant SKUs of one recommended item.

Example{ "garment_id": "TS30165CHARCOALHB", "skus": [ "TS30165CHARCOALHB-S", "TS30165CHARCOALHB-M" ] }
garment_id
string

The item the SKUs belong to, as returned in garment_id

skus
Array of string

The variant SKUs of the item that are still in stock

string
user
object (User)
style_quiz_complete
boolean

Whether the user has completed the Mapp Fashion signup quiz

first_name
string

The user's first name, if they have supplied it

400

One or more parameter values are invalid

Expand All
object

Generic error object

error
object
message
string

A human readable error message

403

Invalid JWT: a user token was supplied but could not be verified. Requests without a user token are not affected - they return non-personalized results

Expand All
object

Generic error object

error
object
message
string

A human readable error message

404

No recommender is available for this partner

Expand All
object

Generic error object

error
object
message
string

A human readable error message

500

An internal error occurred. Retry the request. If the issue persists, contact Technical Support

Expand All
object

Generic error object

error
object
message
string

A human readable error message

503

The request was queued for too long because of high load. Retry the request later

Expand All
object

Generic error object

error
object
message
string

A human readable error message