api.test.showroom.fashion.cloud Open in urlscan Pro
52.28.142.229  Public Scan

URL: https://api.test.showroom.fashion.cloud/
Submission: On November 30 via api from US — Scanned from US

Form analysis 0 forms found in the DOM

Text Content

 * Introduction
 * Glossary
   * Entities
   * Key DS components
   * Fashion terminology
 * Changelog
   * Option V2
 * Customer Management
   * Customers
     * postGet
     * postGetByCode
     * postUpsert
   * Locations
     * postGet
     * postGetByBrandUserIDs
     * postGetByCodes
     * postGetList
     * postUpsert
     * postBulk Upsert
 * Brand Management
   * Brands
     * postGet
     * postUpdateSizeConfig
   * Divisions
     * postGet
     * postUpsert
   * Seasons
     * postGet
     * postUpsert
   * Delivery Drops
     * postGetByCode
     * postGetByIds
     * postGetBySeason
     * postUpsert
 * Catalog Management
   * Options V1
     * postGetByCodes
     * postGetByIDs
     * postSetMediaByCodes
     * postUpsert
   * Options V2
     * postFetch
     * postAttach media
     * postUpsert
     * postAttach 3D viewer links
     * postAttach images
     * postAttach videos
   * Prices
     * postOptionPrices
     * postUpsert
     * postBulkUpsert
   * Sizes
     * postGet by Option codes
     * postUpsert
     * postBulk Upsert
   * Catalogs
     * postGetByCode
     * postGetUserCatalogs
     * postUpsertBrandCatalog
     * postUpsertUserCatalogs
   * Marketing Assets
     * postGetAssetGroups
     * postGetAssets
     * postSearchAssets
     * postUpsertAsset
     * postUpsertAssetGroup
   * Stock
     * postGet Stock List
     * postBulk Upsert
 * User Management
   * Users
     * postGetUsersByBrandCode
     * postUpsert
 * Media Management
   * Media
     * postUpsert
 * Presentation API
   * Presentation
     * postGetByIDs
     * postGetList
 * Order Management
   * Draft Order
     * postGet
     * postGet List
 * Push API
   * Webhook
     * postGet
     * postSetup

API docs by Redocly





STITCH INTEGRATION API (1.0)

Download OpenAPI specification:Download






INTRODUCTION

This document describes the Stitch Digital Showroom Integration API, which is
meant to be used by back-end servers to import and export brand's core data.


BASIC FLOW



 1. Using Stitch Integration API brands can implement server side applications
    to send Core Data into the Digital Showroom.
 2. Data is processed and persisted in the data storage through the Stitch
    Ingest API.
 3. Stitch Digital Showroom uses the internal API and the CDN to display the
    data to the end user.
 4. Using Stitch Integration API brands can also pull necessary data (i.e.
    orders) that is prepared by the Stitch Egest API.
    
    
    BRAND DATA
    
    All Brand Core Data should be identified with a unique brand code that is
    provided by Stitch during the on-boarding process.

What is Brand Core Data? (check our api glossary)

 * Seasons
 * Divisions
 * Delivery Drops
 * Media
 * Customers/Locations
 * Options (Products)
 * Prices
 * Sizes
 * Catalogs
 * Marketing Assets
 * Stock
 * Users


API REQUESTS

All the API methods are available on a single domain
https://api.showroom.stitch.fashion. You can find the full paths in the endpoint
documentation pages.

 * For Import Data we provide UPSERT based interfaces for creating and updating
   the data.

 * All endpoints are synchronous and idempotent.

 * For Export Data we provide GET based interfaces for fetching a single or bulk
   data objects.

DATA FORMAT:

The integration api communicates with json using HTTP POST/GET requests.

Required Headers:

 * Content-Type: application/json.
 * Authorization: Bearer {jwt} (How to get your jwt token)


GLOSSARY


ENTITIES


BRAND

 * Is created by Stitch upon on-boarding
 * Is the top-level entity in the system.
 * Is identified by a short alphabetical code.
 * All entities in the system are tied to a particular brand. For example,
   theming information, divisions, seasons, options, etc


DIVISION

 * Is a "sub-brand" within a brand.
 * Creates a strict separation between collections within one brand.
 * Options can not be shared between Divisions.


SEASON

 * Is a part of a Division
 * A set period of time in which a catalog of products is being sold.
 * Can be limited in time with start or/and end dates.
 * Options and marketing materials are available within a season.


DELIVERY DROP

 * A single possible delivery drop (a.k.a. delivery window) at which option can
   be delivered
 * Is assigned to multiple Seasons
 * Is assigned to multiple Options
 * Availability is always limited by seasons availability


OPTION

 * Is a combination of style and color in the Stitch system.
 * Has a list of media items (images and videos) and media3D items attached to
   it.


SIZE

 * Is assigned to the Options
 * Represents the lowest level of granularity for a product
 * Can have multiple dimensions and order constraints
 * Is shown on the PDP and in the order review documents.


PRICE

 * Is assigned to the Options on the size level.
 * Is shown on the PDP and in the order review documents.


CUSTOMER

 * Is a top-level entities to define your real-world customers
 * Is a used only to group Locations


LOCATION

 * Is used to define real-world stores (doors).
 * Can have Price Groups and Currency assigned to show different Prices (price
   segmentation)
 * Can be limited to a set of users or be available to everyone within a brand


MEDIA

Stitch uses 2 types of media (images/videos) assets:

 * Option media to display on the PDP, Laydown, Product Catalog, etc.
 * Seasonal marketing content like Looks, marketing videos, etc.


ASSET

Are marketing materials used as a sales aid, showcasing a few options to be
matched together.

 * Can be added to the presentation laydowns
 * Options can be linked to any Asset
 * During a presentation, a customer will see only the products that are
   available in its market segment


ASSET GROUP

An entity which acts like a folder to group related assets together in one
place.

 * Can be assigned a list of tags for easy filtering
 * Can have a name and description to be identified quickly and easily


STOCK

Is the stock level of a particular SKU of an option

 * Stock data is not mandatory for the Stitch DS to work. If no stock data is
   provided, the system will assume that the stock level is unlimited.
 * Can be tied to a specific warehouse using the stockReferenceCode field. Same
   field is added to the customer Location entity to link the location to the
   warehouse. If stockReferenceCode is not set, the stock is assumed to be
   across all warehouses.
 * Stock code should be a unique identifier for a particular stock entity. For
   example if a stock entity has a stockReferenceCode, then code should be
   unique for that stockReferenceCode and SKU combination. The same applies if
   deliveryDropCode is set. In this case code should be unique for that
   deliveryDropCode and SKU combination and so on.
 * Can be soft deleted by setting the isActive field to false.


USER

Is representation of a system user within the Stitch DS.

 * Can have different roles. The list of roles is available in the API endpoint
   documentation.
 * Can have access to multiple brands.


ORDER

Is the output of any sales appointment. Consider it a draft order to be imported
to the next processing system.

 * Contains an order line per delivery date/option/size


BRAND CATALOG

Is an implementation of catalog and customer segmentation features.

 * Each presentation uses a catalog as a base for it's collection
 * Can be limited to a set of customers, locations, or/and users


KEY DS COMPONENTS


LOOK CATALOG

Is a catalog available to the user inside the presentation and used to browse
Looks available within the Season/Division


PRODUCT CATALOG

Is a catalog available to the user inside the presentation and used to browse
Options available within the Season/Division

 * Only Options that are available to the market segment of the presentation
   customer are shown.


CMS

Is a Content Management System within the Stitch DS to configure Brand settings
from the UI The CMS can be used for:

 * setting Brand-specific theming
 * managing Looks
 * updating Seasonal presentation settings (idle screens, landing pages, etc.)


LDP

Is a Look Detail Page that displays a single Look with additional information
attached.


PDP

Is a Product Detail Page that displays a single Option with additional
information attached (prices, color variations, etc.)


ASSORTMENT

Is a slide within a presentation.


LAYDOWN

Is a central part of the presentation assortment where the user adds Options,
Looks and text.


FASHION TERMINOLOGY


MARKET SEGMENTATION

The process of dividing a target market into smaller, more defined categories.
It segments customers and audiences into groups with similar characteristics,
such as demographics, interests, needs, or location.


PRICE SEGMENTATION

The process of charging different prices for the same or similar product or
service based on internal business rules.

 * To create price segmentation Stitch uses the concept of Price Groups with
   Currency
 * Price Groups and Currency must be assigned to Locations
 * Price Groups and Currency must be provided for each Price
   
   
   TBD;


CHANGELOG


OPTION V2


WHAT CHANGED IN V2:

 * New option endpoints /v2/option/{action}
 * tags was renamed to attributes, structure kept the same.
 * categories was renamed to productHierarchy and a new structure was
   introduced.
 * removed deprecated fields from V1.


CUSTOMERS


GET

Fetch a single customer document with a set of underlying locations (by IDs).

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



customerID
required
string (CustomerID is the internal customer identifier)

locationIDs
Array of strings (List of locationIDs which are the internal location
identifiers)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/customer/get
https://api.showroom.stitch.fashion/v1/customer/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "customerID": "string",
 * "locationIDs": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "customerCode": "HAT5",
 * "id": "CUSTOMER_HAT_HAT5",
 * "locations": [
    * {
       * "addressLine1": "867 Burnett Ridge Suite 919",
       * "addressLine2": "Apt. 771",
       * "brandCode": "HAT",
       * "city": "Nataliemouth",
       * "country": "Congo",
       * "currency": "EUR",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "ss"
         
         ],
       * "id": "LOCATION_HAT_HAT141",
       * "isActive": true,
       * "languageCode": "en",
       * "locationCode": "HAT141",
       * "locationType": [
          * "SellTo"
         
         ],
       * "name": "Nataliemouth location",
       * "postalCode": "44247",
       * "priceGroups": [
          * "1",
          * "2"
         
         ],
       * "stateProvince": "Mississippi"
      
      }
   
   ],
 * "name": "Vans customer 5",
 * "phone": "001-908-397-6122x5657",
 * "vatNumber": "002595"

}



GETBYCODE

Fetch a single customer document with a set of underlying locations (by Code).

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brandCode of the customer)

customerCode
required
string (customerCode is the code of the customer)

locationCodes
Array of strings (List of locationCodes which are the location identifiers)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/customer/getByCode
https://api.showroom.stitch.fashion/v1/customer/getByCode


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "customerCode": "string",
 * "locationCodes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "customerCode": "HAT5",
 * "id": "CUSTOMER_HAT_HAT5",
 * "locations": [
    * {
       * "addressLine1": "867 Burnett Ridge Suite 919",
       * "addressLine2": "Apt. 771",
       * "brandCode": "HAT",
       * "city": "Nataliemouth",
       * "country": "Congo",
       * "currency": "EUR",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "ss"
         
         ],
       * "id": "LOCATION_HAT_HAT141",
       * "isActive": true,
       * "languageCode": "en",
       * "locationCode": "HAT141",
       * "locationType": [
          * "SellTo"
         
         ],
       * "name": "Nataliemouth location",
       * "postalCode": "44247",
       * "priceGroups": [
          * "1",
          * "2"
         
         ],
       * "stateProvince": "Mississippi"
      
      }
   
   ],
 * "name": "Vans customer 5",
 * "phone": "001-908-397-6122x5657",
 * "vatNumber": "002595"

}



UPSERT

Create or Update existing customer entity. The uniqueness of the customer is
determined by the customerCode (provided by the client during creation).

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that the customer belongs to)

customerCode
required
string (Uniquely identifies the customer in the brand's internal systems e.g.
CRM)

name
required
string (Name of the customer)

phone
string (Main phone number of the customer)

vatNumber
string (VAT number of the customer)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/customer/upsert
https://api.showroom.stitch.fashion/v1/customer/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string",
 * "customerCode": "string",
 * "name": "string",
 * "phone": "string",
 * "vatNumber": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
{
 * "brandCode": "HAT",
 * "customerCode": "FOO",
 * "id": "CUSTOMER_HAT_FOO",
 * "name": "Customer name",
 * "phone": "+31629468500",
 * "vatNumber": "NL12345678B01"

}



LOCATIONS


GET

Fetch a single location by its internal ID

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



locationID
required
string (LocationID is the internal location ID)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/location/get
https://api.showroom.stitch.fashion/v1/location/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "locationID": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "addressLine1": "addrline1",
 * "addressLine2": "addrline2",
 * "brandCode": "HAT",
 * "brandUserIds": [
    * "userID1"
   
   ],
 * "city": "The City",
 * "country": "NL",
 * "currency": "DKK",
 * "customerCode": "HAT5",
 * "divisionCodes": [
    * "d1",
    * "d2"
   
   ],
 * "id": "LOCATION_HAT_HAT141",
 * "isActive": true,
 * "languageCode": "en-US",
 * "locationCode": "HAT141",
 * "locationType": [
    * "ShipTo"
   
   ],
 * "name": "Name loc foo",
 * "postalCode": "1234AB",
 * "priceGroups": [
    * "1",
    * "31"
   
   ],
 * "stateProvince": "The Province of the State",
 * "stockReferenceCodes": [
    * "warehouse_1",
    * "stock_reference_code_2"
   
   ]

}



GETBYBRANDUSERIDS

DEPRECATED: use GetList instead

Fetch locations by list of brandUserIDs. Response will return a list of
locations with at least one of the brandUserIDs from the request set on the
location

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brandCode of the customer)

brandUserIDs
required
Array of strings (brandUserIDs that have access to locations)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/location/getByBrandUserIDs
https://api.showroom.stitch.fashion/v1/location/getByBrandUserIDs


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "brandUserIDs": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "locations": [
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "brandUserIds": [
          * "userID1"
         
         ],
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "id": "LOCATION_HAT_HAT141",
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT141",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province of the State"
      
      }
   
   ]

}



GETBYCODES

DEPRECATED: use GetList instead

Fetch locations by their codes

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brandCode of the customer)

locationCodes
required
Array of strings (List of locationCodes which are the location identifiers)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/location/getByCodes
https://api.showroom.stitch.fashion/v1/location/getByCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "locationCodes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "locations": [
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "brandUserIds": [
          * "userID1"
         
         ],
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "id": "LOCATION_HAT_HAT141",
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT141",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province of the State"
      
      }
   
   ]

}



GETLIST

Fetch locations by multiple parameters.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON

GetLocationList returns Locations filtered by a number of parameters. Returns up
to a 100 locations if no pagination is provided.

brandCode
required
string (brandCode of the customer)

brandUserIDs
Array of strings

List of brandUserIDs that have access to locations. When not specified or empty,
no filtering by brandUserIDs codes happens.

customerCodes
Array of strings

List of customerCodes locations belong to. When not specified or empty, no
filtering by customer codes happens.

divisionCodes
Array of strings

List of divisionCodes locations are related to. When not specified or empty, no
filtering by division codes happens.

isActiveOnly
boolean
Default: "false"

Whether or not filter out inactive locations.

locationCodes
Array of strings

List of locationCodes which are the location identifiers. When not specified or
empty, no filtering by location codes happens.

pagination
object (customer.Pagination)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/location/getList
https://api.showroom.stitch.fashion/v1/location/getList


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "brandUserIDs": [
    * "string"
   
   ],
 * "customerCodes": [
    * "string"
   
   ],
 * "divisionCodes": [
    * "string"
   
   ],
 * "isActiveOnly": true,
 * "locationCodes": [
    * "string"
   
   ],
 * "pagination": {
    * "limit": 200,
    * "offset": 100
   
   }

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "locations": [
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "brandUserIds": [
          * "userID1"
         
         ],
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "id": "LOCATION_HAT_HAT141",
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT141",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province of the State"
      
      }
   
   ]

}



UPSERT

Create or Update location entity. Uniqueness is determined by the locationCode
(provided by the client during creation). You can deactivate a location by
updating the entity to have isActive set to false, by doing so it will not be
available during the presentation creation/to any user.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



addressLine1
string (Primary location address information)

addressLine2
string (Optional additional location address information)

brandCode
required
string (Brand identifier that the location belongs to)

brandUserIds
Array of strings (A list of brand user IDs which have access to this location)

If value is not set or it is an empty list, location will be available to ALL
users. If no user codes match existing users, location will not be available.

city
string (Location town or city)

country
string (Country of the location)

currency
required
string (The currency for the price group of this location. Should be ISO 4217
3-letter)

customerCode
required
string

Customer identifier that the location belongs to. The value should match an
existing Customer.customerCode. Locations without existing Customers will not be
displayed in the system.

divisionCodes
required
Array of strings (A list of all division codes to which the location has access)

If division code does not match any existing division.divisionCode, location
will not be available.

isActive
boolean (IsActive defines whether the customer location is active and therefore
able to buy)

If set to false, location will not appear in the showroom UI.

languageCode
string (Defines the language preference of the location. To note; we currently
do not provide multi-lingual support)

locationCode
required
string (Uniquely identifies the location in the brand's internal systems e.g.
CRM)

locationType
required
Array of strings (Defines whether the location is a store, warehouse or invoice
address (sometimes referred to as point of sale, ship-to, invoice-to))

Options: SellTo, ShipTo, InvoiceTo

name
required
string (Name of the location)

postalCode
string (Location postal code)

priceGroups
required
Array of strings (A list of all price groups codes to which the location is
assigned)

All the product options will be filtered by the price availability within one
currency+priceGroup combination. Make sure, your customer locations have proper
groups assigned.

stateProvince
string (Location state, province or administrative area (depending on country))

stockReferenceCodes
Array of strings

A list of stock reference codes of this location - used to calculate stock
availability (e.g. a list of warehouses that the location can order from).

Stock will be aggregated across all matching stock reference codes. If stock
reference codes do not match any existing stock.stockReferenceCode, location
will show all products as out of stock. If no stock reference codes are
provided, location will show all aggregated stock.


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/location/upsert
https://api.showroom.stitch.fashion/v1/location/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "addressLine1": "string",
 * "addressLine2": "string",
 * "brandCode": "string",
 * "brandUserIds": [
    * "string"
   
   ],
 * "city": "string",
 * "country": "string",
 * "currency": "string",
 * "customerCode": "string",
 * "divisionCodes": [
    * "string"
   
   ],
 * "isActive": true,
 * "languageCode": "string",
 * "locationCode": "string",
 * "locationType": [
    * "string"
   
   ],
 * "name": "string",
 * "postalCode": "string",
 * "priceGroups": [
    * "string"
   
   ],
 * "stateProvince": "string",
 * "stockReferenceCodes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "addressLine1": "Google maps, cell 862/17",
 * "brandCode": "HAT",
 * "city": "NonExisting",
 * "country": "USA",
 * "currency": "USD",
 * "customerCode": "CUST01",
 * "divisionCodes": [
    * "DIV01",
    * "DIV02"
   
   ],
 * "id": "LOCATION_HAT_LOC01",
 * "isActive": true,
 * "languageCode": "en_US",
 * "locationCode": "LOC01",
 * "locationType": [
    * "SellTo",
    * "ShipTo",
    * "InvoiceTo"
   
   ],
 * "name": "Central location of supercustomer 1",
 * "postalCode": "862/172225",
 * "priceGroups": [
    * "GROUP01",
    * "GROUP2"
   
   ],
 * "stateProvince": "LA",
 * "stockReferenceCodes": [
    * "warehouse_1",
    * "stock_reference_code_2"
   
   ]

}



BULK UPSERT

Upsert multiple locations at once. Maximum 1000 locations per request.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

locations
required
Array of objects (Locations)

list of locations to upsert


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/location/upsert/bulk
https://api.showroom.stitch.fashion/v1/location/upsert/bulk


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "locations": [
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "brandUserIds": [
          * "userID1"
         
         ],
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT141",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province ofthe State"
      
      },
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT142",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province of the State"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "locations": [
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "brandUserIds": [
          * "userID1"
         
         ],
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "id": "LOCATION_HAT_HAT141",
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT141",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province of the State"
      
      },
    * {
       * "addressLine1": "addrline1",
       * "addressLine2": "addrline2",
       * "brandCode": "HAT",
       * "city": "The City",
       * "country": "NL",
       * "currency": "DKK",
       * "customerCode": "HAT5",
       * "divisionCodes": [
          * "d1",
          * "d2"
         
         ],
       * "id": "LOCATION_HAT_HAT142",
       * "isActive": true,
       * "languageCode": "en-US",
       * "locationCode": "HAT142",
       * "locationType": [
          * "ShipTo"
         
         ],
       * "name": "Name loc foo",
       * "postalCode": "1234AB",
       * "priceGroups": [
          * "1",
          * "31"
         
         ],
       * "stateProvince": "The Province of the State"
      
      }
   
   ]

}



BRANDS


GET

Get Brand by brandCode

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode is the unique code of the brand and it is used as the main
identifier of the brand)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/brand/get
https://api.showroom.stitch.fashion/v1/brand/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "divisions": {
    * "DIV1": {
       * "divisionCode": "DIV1",
       * "name": "div name",
       * "seasons": {
          * "SEASON1": {
             * "brandCode": "HAT",
             * "divisionCode": "DIV1",
             * "market": "International",
             * "name": "Name 1",
             * "orderEndDate": "2009-02-13T23:31:30Z",
             * "orderStartDate": "2009-02-13T23:31:30Z",
             * "seasonCode": "SEASON1"
            
            },
          * "SEASON3": {
             * "brandCode": "HAT",
             * "divisionCode": "DIV1",
             * "market": "International",
             * "name": "Name 3",
             * "orderEndDate": "2009-02-13T23:31:30Z",
             * "orderStartDate": "2009-02-13T23:31:30Z",
             * "seasonCode": "SEASON3"
            
            }
         
         }
      
      },
    * "DIV2": {
       * "divisionCode": "DIV2",
       * "name": "div name",
       * "seasons": {
          * "SEASON2": {
             * "brandCode": "HAT",
             * "divisionCode": "DIV2",
             * "market": "local",
             * "name": "Name 2",
             * "orderEndDate": "2009-02-13T23:31:30Z",
             * "orderStartDate": "2009-02-13T23:31:30Z",
             * "seasonCode": "SEASON2"
            
            }
         
         }
      
      }
   
   },
 * "isActive": true,
 * "name": "Name",
 * "theme": {
    * "fontFamilyBody": "font family body",
    * "fontFamilyDefault": "font family default",
    * "fontFamilyHeadings": "font family headings",
    * "primaryColor": "#000000",
    * "secondaryColor": "#111111",
    * "textColor": "#222222"
   
   }

}



UPDATESIZECONFIG

UpdateSizeConfig by brandCode

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode is the unique code of the brand and it is used as the main
identifier of the brand)

sizeConfig
object (SizeConfig to set the order of sizes shown in the size tables)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/brand/updateSizeConfig
https://api.showroom.stitch.fashion/v1/brand/updateSizeConfig


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "sizeConfig": {
    * "mainSizeOrder": [
       * "string"
      
      ],
    * "subSizeOrder": {
       * "property1": {
          * "order": [
             * "string"
            
            ]
         
         },
       * "property2": {
          * "order": [
             * "string"
            
            ]
         
         }
      
      }
   
   }

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "mainSizeOrder": [
    * "XS",
    * "S",
    * "M",
    * "L",
    * "XL"
   
   ],
 * "subSizeOrder": {
    * "inseam": {
       * "order": [
          * "31",
          * "32",
          * "33"
         
         ]
      
      }
   
   }

}



DIVISIONS


GET

Get a division of a brand by divisionCode and brandCode.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode that this division belongs to)

divisionCode
required
string (DivisionCode used by the brand internally, for example, in their ERP
system, to uniquely identify a division)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/division/get
https://api.showroom.stitch.fashion/v1/division/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string",
 * "divisionCode": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "divisionCode": "DIV1",
 * "seasons": {
    * "SEASON1": {
       * "brandCode": "HAT",
       * "divisionCode": "DIV1",
       * "market": "International",
       * "name": "Name 1",
       * "orderEndDate": "2020-01-01T00:00:00Z",
       * "orderStartDate": "2020-01-01T00:00:00Z",
       * "seasonCode": "SEASON1"
      
      }
   
   }

}



UPSERT

Create or Update an existing division. The uniqueness of the division is
determined by divisionCode and brandCode.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode that this division belongs to)

divisionCode
required
string (DivisionCode used by the brand internally, for example, in their ERP
system, to uniquely identify a division)

name
required
string (Name of the division, to be used in the user interface of the digital
showroom)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/division/upsert
https://api.showroom.stitch.fashion/v1/division/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string",
 * "divisionCode": "string",
 * "name": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "divisionCode": "DIV1",
 * "name": "Division 1",
 * "seasons": {
    * "SEASON1": {
       * "brandCode": "HAT",
       * "divisionCode": "DIV1",
       * "market": "International",
       * "name": "Name 1",
       * "orderEndDate": "2009-02-13T23:31:30Z",
       * "orderStartDate": "2009-02-13T23:31:30Z",
       * "seasonCode": "SEASON1"
      
      }
   
   }

}



SEASONS


GET

Get a season of a brand by seasonCode, divisionCode and brandCode.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode that this season belongs to)

divisionCode
required
string (DivisionCode that this season belongs to)

seasonCode
required
string (SeasonCode used by the brand internally to uniquely identify the season)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/season/get
https://api.showroom.stitch.fashion/v1/season/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string",
 * "divisionCode": "string",
 * "seasonCode": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
{
 * "brandCode": "HAT",
 * "divisionCode": "DIV1",
 * "market": "m",
 * "name": "summer 2020",
 * "orderEndDate": "2009-02-13T23:31:31Z",
 * "orderStartDate": "2009-02-13T23:31:30Z",
 * "seasonCode": "S1"

}



UPSERT

Create or Update an existing season. The uniqueness of the season is determined
by seasonCode, divisionCode and brandCode.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode that this season belongs to)

divisionCode
required
string (DivisionCode that this season belongs to)

market
string (If the products in a catalog are unique for a particular market, this
should be populated)

name
required
string (Name of the season, to be used in the user interface of the digital
showroom)

orderEndDate
string (Last date on which products in the season are available for ordering
This is leading when determining whether a presentation can be created for
products in a season If there are products available in the season with a later
order end date, they will not be able to be ordered after the season has ended)

orderStartDate
required
string (Start date from which products in the season are available for ordering
This is leading when determining whether a presentation can be created for
products in a season If there are products available in the season with an
earlier order start date, they will not be able to be ordered until the season
start date is reached)

seasonCode
required
string (SeasonCode used by the brand internally to uniquely identify the season)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/season/upsert
https://api.showroom.stitch.fashion/v1/season/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string",
 * "divisionCode": "string",
 * "market": "string",
 * "name": "string",
 * "orderEndDate": "string",
 * "orderStartDate": "string",
 * "seasonCode": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
{
 * "brandCode": "HAT",
 * "divisionCode": "D1",
 * "market": "m",
 * "name": "summer 2020",
 * "orderEndDate": "2009-02-13T23:31:31Z",
 * "orderStartDate": "2009-02-13T23:31:30Z",
 * "seasonCode": "S1"

}



DELIVERY DROPS


GETBYCODE

Get a delivery drops of a brand by code

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (The brand code assigned by Hatch)

codes
required
Array of strings (A list of delivery drop codes used during the DeliveryDrop
creation)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/delivery_drop/getByCodes
https://api.showroom.stitch.fashion/v1/delivery_drop/getByCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "codes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
[
 * {
    * "brandCode": "HAT",
    * "code": "delivery_42",
    * "id": "DELIVERY_DROP_DELIVERY_42",
    * "index": 7,
    * "isActive": true,
    * "name": "Holidays",
    * "seasonCodes": [
       * "S1",
       * "S2"
      
      ]
   
   },
 * {
    * "brandCode": "HAT",
    * "code": "delivery_43",
    * "id": "DELIVERY_DROP_DELIVERY_43",
    * "index": 2,
    * "isActive": true,
    * "name": "Before Holidays",
    * "seasonCodes": [
       * "S2"
      
      ]
   
   }

]



GETBYIDS

Get a delivery drops of a brand by ID

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (The brand code assigned by Hatch)

ids
required
Array of strings (A list of Hatch unique ids)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/delivery_drop/getByIds
https://api.showroom.stitch.fashion/v1/delivery_drop/getByIds


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "ids": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
[
 * {
    * "brandCode": "HAT",
    * "code": "delivery_42",
    * "id": "DELIVERY_DROP_DELIVERY_42",
    * "index": 7,
    * "isActive": true,
    * "name": "Holidays",
    * "seasonCodes": [
       * "S1",
       * "S2"
      
      ]
   
   },
 * {
    * "brandCode": "HAT",
    * "code": "delivery_43",
    * "id": "DELIVERY_DROP_DELIVERY_43",
    * "index": 2,
    * "isActive": true,
    * "name": "Before Holidays",
    * "seasonCodes": [
       * "S2"
      
      ]
   
   }

]



GETBYSEASON

Get delivery drops of a brand by season codes

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (The brand code assigned by Hatch)

seasonCodes
required
Array of strings (A list of season codes used during the Season creation)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/delivery_drop/getBySeasonCodes
https://api.showroom.stitch.fashion/v1/delivery_drop/getBySeasonCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "seasonCodes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
[
 * {
    * "brandCode": "HAT",
    * "code": "delivery_42",
    * "id": "DELIVERY_DROP_DELIVERY_42",
    * "index": 7,
    * "isActive": true,
    * "name": "Holidays",
    * "seasonCodes": [
       * "S1",
       * "S2"
      
      ]
   
   },
 * {
    * "brandCode": "HAT",
    * "code": "delivery_43",
    * "id": "DELIVERY_DROP_DELIVERY_43",
    * "index": 2,
    * "isActive": true,
    * "name": "Before Holidays",
    * "seasonCodes": [
       * "S2"
      
      ]
   
   }

]



UPSERT

Create or Update an existing DeliveryDrop.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Hatch

code
required
string <string> (Code)

A value used on the brand side to uniquely identify the delivery drop

index
integer <integer> (Delivery Drop index)

A numeric value to sort delivery drops. If 2 indexes are equal, the order is not
determined. Values from -2,147,483,648 to 2,147,483,647 are supported. default:
0

isActive
boolean <boolean> (Is active?)

Indicates whether DeliveryDrop is active. Basically a soft-delete functionality

name
required
string <string> (Delivery Name)

Name of the delivery drop visible to the users

seasonCodes
required
Array of strings (Season codes)

A list of season codes in which this delivery drop can be used. Seasons should
exist.


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/delivery_drop/upsert
https://api.showroom.stitch.fashion/v1/delivery_drop/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "code": "delivery_42",
 * "index": 42,
 * "isActive": true,
 * "name": "Holidays",
 * "seasonCodes": [
    * "S1",
    * "S2"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "code": "delivery_42",
 * "id": "DELIVERY_DROP_DELIVERY_42",
 * "index": 7,
 * "isActive": "true",
 * "name": "Holidays",
 * "seasonCodes": [
    * "S1",
    * "S2"
   
   ]

}



OPTIONS V1


GETBYCODES

DEPRECATED: use GetByCodes in Options V2 instead

Fetch options by external code

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brand identifier that the option belongs to)

codes
required
Array of strings (external code of options for fetching)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/option/getByCodes
https://api.showroom.stitch.fashion/v1/option/getByCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "codes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "categories": [
          * "sports-dames",
          * ""
         
         ],
       * "colorCode": "G12",
       * "colorName": "lipstick/beta",
       * "deliveryDropCodes": [
          * "delivery_42",
          * "2020-10-14T12:33:22Z",
          * "2020-11-14T12:33:22Z",
          * "2020-12-14T12:33:22Z"
         
         ],
       * "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
       * "divisionCode": "UA1",
       * "fields": [
          * {
             * "name": "fabric weight"
            
            },
          * {
             * "name": "material composition"
            
            },
          * {
             * "name": "care instructions"
            
            }
         
         ],
       * "gender": "MEN",
       * "id": "OPTION_HAT_OPTIONCODE1",
       * "imageMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
         
         ],
       * "isActive": true,
       * "modifiedAt": "2020-04-06T10:37:07Z",
       * "optionCode": "option123",
       * "seasonCodes": [
          * "FALL 2020"
         
         ],
       * "status": "new",
       * "styleCode": "UN241D0A3",
       * "videoMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
         
         ]
      
      },
    * {
       * "brandCode": "HAT",
       * "categories": [
          * "damesschoenen",
          * ""
         
         ],
       * "colorCode": "A11",
       * "colorName": "white",
       * "deliveryDropCodes": [
          * "delivery_42",
          * "2020-10-14T00:00:00Z",
          * "2020-11-14T00:00:00Z",
          * "2020-12-14T00:00:00Z"
         
         ],
       * "description": "HOVR SONIC ",
       * "divisionCode": "UA1",
       * "fields": [
          * {
             * "name": "fabric weight"
            
            },
          * {
             * "name": "material composition"
            
            },
          * {
             * "name": "care instructions"
            
            }
         
         ],
       * "gender": "MEN",
       * "id": "OPTION_HAT_OPTIONCODE2",
       * "imageMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
         
         ],
       * "isActive": true,
       * "modifiedAt": "2020-04-06T10:37:08Z",
       * "optionCode": "option456",
       * "seasonCodes": [
          * "FALL 2020"
         
         ],
       * "status": "new",
       * "styleCode": "UN241A07Q"
      
      }
   
   ]

}



GETBYIDS

DEPRECATED: use GetByIDs in Options V2 instead

Fetch options by internal ids and optional price filters

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



filtersByPrice
object (Is used to filter options by the price availability)

ids
required
Array of strings (internal ids of options for fetching)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/option/getByIDs
https://api.showroom.stitch.fashion/v1/option/getByIDs


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "filtersByPrice": {
    * "brandCode": "string",
    * "currency": "string",
    * "priceGroupID": "string"
   
   },
 * "ids": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "categories": [
          * "sports-dames",
          * ""
         
         ],
       * "colorCode": "G12",
       * "colorName": "lipstick/beta",
       * "deliveryDropCodes": [
          * "delivery_42",
          * "2020-10-14T12:33:22Z",
          * "2020-11-14T12:33:22Z",
          * "2020-12-14T12:33:22Z"
         
         ],
       * "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
       * "divisionCode": "UA1",
       * "fields": [
          * {
             * "name": "fabric weight"
            
            },
          * {
             * "name": "material composition"
            
            },
          * {
             * "name": "care instructions"
            
            }
         
         ],
       * "gender": "MEN",
       * "id": "OPTION_HAT_OPTIONCODE1",
       * "imageMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
         
         ],
       * "isActive": true,
       * "modifiedAt": "2020-04-06T10:37:07Z",
       * "optionCode": "option123",
       * "seasonCodes": [
          * "FALL 2020"
         
         ],
       * "sizes": [
          * "XS",
          * "S",
          * "M",
          * "L",
          * "XL",
          * "XXL"
         
         ],
       * "status": "new",
       * "styleCode": "UN241D0A3",
       * "videoMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
         
         ]
      
      },
    * {
       * "brandCode": "HAT",
       * "categories": [
          * "damesschoenen",
          * ""
         
         ],
       * "colorCode": "A11",
       * "colorName": "white",
       * "deliveryDropCodes": [
          * "delivery_42",
          * "2020-10-14T00:00:00Z",
          * "2020-11-14T00:00:00Z",
          * "2020-12-14T00:00:00Z"
         
         ],
       * "description": "HOVR SONIC ",
       * "divisionCode": "UA1",
       * "fields": [
          * {
             * "name": "fabric weight"
            
            },
          * {
             * "name": "material composition"
            
            },
          * {
             * "name": "care instructions"
            
            }
         
         ],
       * "gender": "MEN",
       * "id": "OPTION_HAT_OPTIONCODE2",
       * "imageMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
         
         ],
       * "isActive": true,
       * "modifiedAt": "2020-04-06T10:37:08Z",
       * "optionCode": "option456",
       * "seasonCodes": [
          * "FALL 2020"
         
         ],
       * "sizes": [
          * "38",
          * "38.5",
          * "40",
          * "40.5",
          * "41",
          * "42.5"
         
         ],
       * "status": "new",
       * "styleCode": "UN241A07Q"
      
      }
   
   ]

}



SETMEDIABYCODES

DEPRECATED: use SetMediaByCodes in Options V2 instead

Attaches the media by their internal ids to the option by option code Multiple
options/media combination can be requested under the same brandCode

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON

Deprecated: use SetMediaByCodesV2Request instead

brandCode
string <string> (Brand Code)

brand identifier that the options and media belong to

options
Array of objects (Options)

list of options and their media IDs


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/option/setMediaByCodes
https://api.showroom.stitch.fashion/v1/option/setMediaByCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "imageCodes": [
          * "IMAGE_CODE_1",
          * "IMAGE_CODE_2"
         
         ],
       * "imageIDs": [
          * "IMAGE_ID_1",
          * "IMAGE_ID_2"
         
         ],
       * "media3D": [
          * {
             * "link":
               "https://embed.vntana.com?productUuid=21c9f4a0-a0a8-4a03-b236-7bea8e10b912&clientSlug=staud--new-balance&organizationSlug=staud",
             * "provider": "vntana"
            
            }
         
         ],
       * "videoCodes": [
          * "VIDEO_CODE_1",
          * "VIDEO_CODE_2"
         
         ],
       * "videoIDs": [
          * "VIDEO_ID_1",
          * "VIDEO_ID_2"
         
         ]
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
{
 * "status": true

}



UPSERT

DEPRECATED: use Upsert in Options V2 instead

Create or Update an option by option code

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brand identifier that the option belongs to)

categories
required
Array of strings (list of categories that the option belongs to)

colorCode
required
string (brand-specific color or pattern code of the option this is the code that
will shown as the code of the option color in the catalog)

colorName
required
string (brand-specific color or pattern name of the option this is the name that
will shown as the name of the option color in the catalog)

countryOfOrigin
string (country of origin of the option)

deliveryDates
Array of strings (Use delivery drop codes instead. List of available delivery
dates of the option)

Deprecated: Use deliveryDropCodes field instead

deliveryDropCodes
Array of strings (list of available delivery drop codes of the option)

description
required
string (style description. Used as title of the option in lists and detail
pages)

divisionCode
required
string

division code to which this option belongs should match an existing
Division.division.Code to be displayed.

fields
Array of objects (extra information to be attached to this option)

gender
required
string (gender (and age) categorisation of a style)

isActive
boolean

whether the option is active or not. Active works as a soft delete where the
product is no longer shown in the catalog and will not be available to order in
case it is set to false.

optionCode
required
string (unique identifier for an option. For most brands this field is the
combination of styleCode and colorCode)

seasonCodes
required
Array of strings (list of season codes in which the option is available for
selling)

sizes
Array of strings (list of available sizes)

Deprecated: Use Size entity per SKU instead

status
string (the status of the option. This may drive how the option appears in the
digital showroom. Does not affect product availability in the system)

Options: soldout, cancelled, new, updated

styleCode
required
string (unique identifier for a style)

tags
Array of objects (list of tags to describe the option)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/option/upsert
https://api.showroom.stitch.fashion/v1/option/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "categories": [
    * "string"
   
   ],
 * "colorCode": "string",
 * "colorName": "string",
 * "countryOfOrigin": "string",
 * "deliveryDates": [
    * "string"
   
   ],
 * "deliveryDropCodes": [
    * "string"
   
   ],
 * "description": "string",
 * "divisionCode": "string",
 * "fields": [
    * {
       * "display": true,
       * "name": "string",
       * "value": "string"
      
      }
   
   ],
 * "gender": "string",
 * "isActive": true,
 * "optionCode": "string",
 * "seasonCodes": [
    * "string"
   
   ],
 * "sizes": [
    * "string"
   
   ],
 * "status": "string",
 * "styleCode": "string",
 * "tags": [
    * {
       * "name": "string",
       * "value": "string"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "categories": [
    * "cat1",
    * "cat2"
   
   ],
 * "colorCode": "011",
 * "colorName": "Black",
 * "countryOfOrigin": "coo valid",
 * "deliveryDropCodes": [
    * "delivery_42",
    * "2020-10-17T17:55:43Z"
   
   ],
 * "description": "Lorem ipsum dolor sit amet",
 * "divisionCode": "div42",
 * "fields": [
    * {
       * "display": true,
       * "name": "fname1",
       * "value": "fval1"
      
      }
   
   ],
 * "gender": "reptiloid",
 * "id": "OPTION_HAT_OPTIONCODE",
 * "isActive": true,
 * "modifiedAt": "2020-09-24T14:22:23Z",
 * "optionCode": "someCode",
 * "seasonCodes": [
    * "season1"
   
   ],
 * "sizes": [
    * "L",
    * "M",
    * "whatever"
   
   ],
 * "status": "new",
 * "styleCode": "DM0DM03810911",
 * "tags": [
    * {
       * "name": "tname1",
       * "value": "tval1"
      
      }
   
   ]

}



OPTIONS V2


FETCH

Fetch options by external code

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brand identifier that the option belongs to)

codes
required
Array of strings (external code of options for fetching)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v2/option/getByCodes
https://api.showroom.stitch.fashion/v2/option/getByCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "codes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "attributes": [
          * {
             * "name": "program",
             * "value": "internaltional"
            
            }
         
         ],
       * "brandCode": "HAT",
       * "colorCode": "G12",
       * "colorName": "lipstick/beta",
       * "deliveryDropCodes": [
          * "delivery_42",
          * "2020-10-14T12:33:22Z",
          * "2020-11-14T12:33:22Z",
          * "2020-12-14T12:33:22Z"
         
         ],
       * "description": "GRAPHIC SPORTSTYLE CLASSIC CREW",
       * "divisionCode": "UA1",
       * "fields": [
          * {
             * "name": "fabric weight"
            
            },
          * {
             * "name": "material composition"
            
            },
          * {
             * "name": "care instructions"
            
            }
         
         ],
       * "gender": "MEN",
       * "id": "OPTION_HAT_OPTIONCODE1",
       * "imageMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-123"
         
         ],
       * "isActive": true,
       * "modifiedAt": "2020-04-06T10:37:07Z",
       * "optionCode": "option123",
       * "productHierarchy": {
          * "group": "Coats",
          * "subgroup": "Rain Coats"
         
         },
       * "seasonCodes": [
          * "FALL 2020"
         
         ],
       * "status": "new",
       * "styleCode": "UN241D0A3",
       * "videoMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-555"
         
         ]
      
      },
    * {
       * "attributes": [
          * {
             * "name": "program",
             * "value": "internaltional"
            
            },
          * {
             * "name": "firstDeliveryDate",
             * "value": "July2022"
            
            }
         
         ],
       * "brandCode": "HAT",
       * "colorCode": "A11",
       * "colorName": "white",
       * "deliveryDropCodes": [
          * "delivery_42",
          * "2020-10-14T00:00:00Z",
          * "2020-11-14T00:00:00Z",
          * "2020-12-14T00:00:00Z"
         
         ],
       * "description": "HOVR SONIC ",
       * "divisionCode": "UA1",
       * "fields": [
          * {
             * "name": "fabric weight"
            
            },
          * {
             * "name": "material composition"
            
            },
          * {
             * "name": "care instructions"
            
            }
         
         ],
       * "gender": "MEN",
       * "id": "OPTION_HAT_OPTIONCODE2",
       * "imageMediaIDs": [
          * "MEDIA_2e3ab1ab-dc04-4cff-b77f-456"
         
         ],
       * "isActive": true,
       * "modifiedAt": "2020-04-06T10:37:08Z",
       * "optionCode": "option456",
       * "productHierarchy": {
          * "group": "Jeans",
          * "subgroup": "Pants"
         
         },
       * "seasonCodes": [
          * "FALL 2020"
         
         ],
       * "status": "new",
       * "styleCode": "UN241A07Q"
      
      }
   
   ]

}



ATTACH MEDIA

Attaches the media by their internal ids to the option by option code Multiple
options/media combination can be requested under the same brandCode

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
string <string> (Brand Code)

brand identifier that the options and media belong to

options
Array of objects (Options)

list of options and their media IDs


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v2/option/setMediaByCodes
https://api.showroom.stitch.fashion/v2/option/setMediaByCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "imageCodes": [
          * "IMAGE_CODE_1",
          * "IMAGE_CODE_2"
         
         ],
       * "media3D": [
          * {
             * "link":
               "https://embed.vntana.com?productUuid=21c9f4a0-a0a8-4a03-b236-7bea8e10b912&clientSlug=staud--new-balance&organizationSlug=staud",
             * "provider": "vntana"
            
            }
         
         ],
       * "videoCodes": [
          * "VIDEO_CODE_1",
          * "VIDEO_CODE_2"
         
         ]
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
{
 * "status": true

}



UPSERT

Create or Update an option by option code

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



attributes
Array of objects (list of option attributes. Attributes describe specific
characteristics of the option and are used for filtering and search)

brandCode
required
string (brand identifier that the option belongs to)

colorCode
required
string (brand-specific color or pattern code of the option this is the code that
will shown as the code of the option color in the catalog)

colorName
required
string (brand-specific color or pattern name of the option this is the name that
will shown as the name of the option color in the catalog)

countryOfOrigin
string (country of origin of the option)

deliveryDropCodes
Array of strings (list of available delivery drop codes of the option)

description
required
string (style description. Used as title of the option in lists and detail
pages)

divisionCode
required
string

division code to which this option belongs should match an existing
Division.division.Code to be displayed.

fields
Array of objects (extra information to be attached to this option)

gender
required
string (gender (and age) categorisation of a style)

isActive
boolean

whether the option is active or not. Active works as a soft delete where the
product is no longer shown in the catalog and will not be available to order in
case it is set to false.

optionCode
required
string (unique identifier for an option. For most brands this field is the
combination of styleCode and colorCode)

productHierarchy
required
object (productHierarchy described with two levels)

seasonCodes
required
Array of strings (list of season codes in which the option is available for
selling)

status
string (the status of the option. This may drive how the option appears in the
digital showroom)

styleCode
required
string (unique identifier for a style)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v2/option/upsert
https://api.showroom.stitch.fashion/v2/option/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "attributes": [
    * {
       * "name": "string",
       * "value": "string"
      
      }
   
   ],
 * "brandCode": "string",
 * "colorCode": "string",
 * "colorName": "string",
 * "countryOfOrigin": "string",
 * "deliveryDropCodes": [
    * "string"
   
   ],
 * "description": "string",
 * "divisionCode": "string",
 * "fields": [
    * {
       * "display": true,
       * "name": "string",
       * "value": "string"
      
      }
   
   ],
 * "gender": "string",
 * "isActive": true,
 * "optionCode": "string",
 * "productHierarchy": {
    * "group": "string",
    * "subgroup": "string"
   
   },
 * "seasonCodes": [
    * "string"
   
   ],
 * "status": "string",
 * "styleCode": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "attributes": [
    * {
       * "name": "tname1",
       * "value": "tval1"
      
      }
   
   ],
 * "brandCode": "HAT",
 * "colorCode": "011",
 * "colorName": "Black",
 * "countryOfOrigin": "coo valid",
 * "deliveryDropCodes": [
    * "delivery_42",
    * "2020-10-17T17:55:43Z"
   
   ],
 * "description": "Loremipsumdolor sitamet",
 * "divisionCode": "div42",
 * "fields": [
    * {
       * "display": true,
       * "name": "fname1",
       * "value": "fval1"
      
      }
   
   ],
 * "gender": "reptiloid",
 * "id": "OPTION_HAT_OPTIONCODE",
 * "isActive": true,
 * "modifiedAt": "2020-09-24T14:22:23Z",
 * "optionCode": "someCode",
 * "productHierarchy": {
    * "group": "cat1",
    * "subgroup": "cat2"
   
   },
 * "seasonCodes": [
    * "season1"
   
   ],
 * "sizes": [
    * "L",
    * "M",
    * "whatever"
   
   ],
 * "status": "new",
 * "styleCode": "DM0DM03810911"

}



ATTACH 3D VIEWER LINKS

Attaches 3D links to options. Multiple options can be upserted at once. The
order in which the links are sent determines the order they appear on the
product detail page.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand Code)

brand identifier that the options and links belong to

options
Array of objects (Options)

list of options and their links


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v2/option/upsert/3dLinks
https://api.showroom.stitch.fashion/v2/option/upsert/3dLinks


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "links": [
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "vntana"
            
            },
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "sketchfab"
            
            }
         
         ]
      
      },
    * {
       * "code": "OPTION_CODE_2",
       * "links": [
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "vntana"
            
            }
         
         ]
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "imageCodes": [
          * "IMAGE01_1"
         
         ],
       * "links": [
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "vntana"
            
            },
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "sketchfab"
            
            }
         
         ],
       * "videoCodes": [
          * "VIDEO01_1"
         
         ]
      
      },
    * {
       * "code": "OPTION_CODE_2",
       * "imageCodes": [
          * "IMAGE01_1"
         
         ],
       * "links": [
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "vntana"
            
            }
         
         ],
       * "videoCodes": [ ]
      
      }
   
   ]

}



ATTACH IMAGES

Attaches images to options by their media codes. Multiple options can be
upserted at once. The order of which the image codes are sent determines the
order they appear on the product detail page.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand Code)

brand identifier that the options and media belong to

options
Array of objects (Options)

list of options and their image media codes


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v2/option/upsert/images
https://api.showroom.stitch.fashion/v2/option/upsert/images


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "imageCodes": [
          * "OPT1_IMAGE_CODE_1",
          * "OPT1_IMAGE_CODE_2"
         
         ]
      
      },
    * {
       * "code": "OPTION_CODE_2",
       * "imageCodes": [
          * "OPT2_IMAGE_CODE_1",
          * "OPT2_IMAGE_CODE_2"
         
         ]
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "imageCodes": [
          * "OPT1_IMAGE_CODE_1",
          * "OPT1_IMAGE_CODE_2"
         
         ],
       * "links": [ ],
       * "videoCodes": [
          * "VIDEO01_1"
         
         ]
      
      },
    * {
       * "code": "OPTION_CODE_2",
       * "imageCodes": [
          * "OPT2_IMAGE_CODE_1",
          * "OPT2_IMAGE_CODE_2"
         
         ],
       * "links": [ ],
       * "videoCodes": [ ]
      
      }
   
   ]

}



ATTACH VIDEOS

Attaches videos to options by their media codes. Multiple options can be
upserted at once. The order of which the video codes are sent determines the
order they appear on the product detail page.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand Code)

brand identifier that the options and media belong to

options
Array of objects (Options)

list of options and their video media codes


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v2/option/upsert/videos
https://api.showroom.stitch.fashion/v2/option/upsert/videos


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "videoCodes": [
          * "OPT1_VIDEO_CODE_1",
          * "OPT1_VIDEO_CODE_2"
         
         ]
      
      },
    * {
       * "code": "OPTION_CODE_2",
       * "videoCodes": [
          * "OPT2_VIDEO_CODE_1",
          * "OPT2_VIDEO_CODE_2"
         
         ]
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "options": [
    * {
       * "code": "OPTION_CODE_1",
       * "imageCodes": [
          * "IMAGE01_1",
          * "IMAGE01_2",
          * "IMAGE01_3",
          * "IMAGE01_4",
          * "IMAGE01_5",
          * "IMAGE01_6",
          * "IMAGE01_7"
         
         ],
       * "links": [ ],
       * "videoCodes": [
          * "OPT1_VIDEO_CODE_1",
          * "OPT1_VIDEO_CODE_2"
         
         ]
      
      },
    * {
       * "code": "OPTION_CODE_2",
       * "imageCodes": [
          * "IMAGE01_1",
          * "IMAGE01_2"
         
         ],
       * "links": [
          * {
             * "link":
               "https://embed.3dprovider.com?id=4c55c2b8-dc0a-48e6-8f5e-64256af4ac29&organization=yourBrand",
             * "provider": "vntana"
            
            }
         
         ],
       * "videoCodes": [
          * "OPT2_VIDEO_CODE_1",
          * "OPT2_VIDEO_CODE_2"
         
         ]
      
      }
   
   ]

}



PRICES


OPTIONPRICES

fetch prices of options by option ids, currency, priceGroupID for a specific
brandCode

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brand identifier that the option price belongs to)

currency
required
string (currency for the price group. ISO 4217 3-letter currency code)

optionIDs
required
Array of strings (list of internal option ids)

priceGroupID
required
string (unique identifier for the price group as set by the brand)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/price/getByOptionIDs
https://api.showroom.stitch.fashion/v1/price/getByOptionIDs


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "currency": "string",
 * "optionIDs": [
    * "string"
   
   ],
 * "priceGroupID": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "id": "PRICE_HAT_PRICE1",
       * "optionCode": "OPTION1",
       * "priceCode": "priceCode_1",
       * "priceGroupID": "1",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 600,
             * "retailPrice": 700,
             * "sku": "priceCode_1_XS",
             * "wholesalePrice": 500
            
            },
          * {
             * "discountWholesalePrice": 300,
             * "retailPrice": 100,
             * "sku": "priceCode_1_XL",
             * "wholesalePrice": 200
            
            }
         
         ],
       * "styleOptionID": "OPTION_HAT_OPTION1",
       * "validFrom": "1973-11-29T21:33:09Z",
       * "validTo": "1973-11-29T21:33:08Z"
      
      },
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "id": "PRICE_HAT_PRICE2",
       * "optionCode": "OPTION2",
       * "priceCode": "priceCode_2",
       * "priceGroupID": "1",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 600,
             * "retailPrice": 400,
             * "sku": "priceCode_2_XS",
             * "wholesalePrice": 500
            
            },
          * {
             * "discountWholesalePrice": 300,
             * "retailPrice": 100,
             * "sku": "priceCode_2_L",
             * "wholesalePrice": 200
            
            }
         
         ],
       * "styleOptionID": "OPTION_HAT_OPTION2",
       * "validFrom": "1973-11-29T21:33:09Z",
       * "validTo": "1973-11-29T21:33:08Z"
      
      },
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "id": "PRICE_HAT_PRICE3",
       * "optionCode": "OPTION2",
       * "priceCode": "priceCode_3",
       * "priceGroupID": "2",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 600,
             * "retailPrice": 400,
             * "sku": "priceCode_3_XS",
             * "wholesalePrice": 500
            
            },
          * {
             * "discountWholesalePrice": 300,
             * "retailPrice": 100,
             * "sku": "priceCode_3_XL",
             * "wholesalePrice": 200
            
            }
         
         ],
       * "styleOptionID": "OPTION_HAT_OPTION2",
       * "validFrom": "1973-11-29T21:33:09Z",
       * "validTo": "1973-11-29T21:33:08Z"
      
      }
   
   ]

}



UPSERT

Create or Update an option price by the brand priceCode identifier

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (brand identifier that the option price belongs to)

currency
required
string (currency for the price group. ISO 4217 3-letter currency code)

optionCode
required
string (unique identifier for an option. For most brands this field is the
combination of styleCode and colorCode)

priceCode
required
string (unique identifier for the price)

priceGroupID
required
string (unique identifier for the price group as set by the brand)

pricePerSize
required
Array of objects (list of price details per size)

validFrom
string (start of validity window for the price (i.e.: for a discount for a
specific period, or for an upcoming price change) Leave empty if it is valid
immediately)

validTo
string (end of validity window for this price Leave empty if it is valid
eternally, or until further notice)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/price/upsert
https://api.showroom.stitch.fashion/v1/price/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "currency": "string",
 * "optionCode": "string",
 * "priceCode": "string",
 * "priceGroupID": "string",
 * "pricePerSize": [
    * {
       * "discountWholesalePrice": 0,
       * "retailPrice": 0,
       * "size": "string",
       * "sku": "string",
       * "wholesalePrice": 0
      
      }
   
   ],
 * "validFrom": "string",
 * "validTo": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "currency": "USD",
 * "id": "PRICE_HAT_SOMEPRICECODE",
 * "optionCode": "SOMEOPTIONCODE",
 * "priceCode": "somePriceCode",
 * "priceGroupID": "1",
 * "pricePerSize": [
    * {
       * "discountWholesalePrice": 200,
       * "retailPrice": 500,
       * "sku": "SOMEPRICECODE_L",
       * "wholesalePrice": 300
      
      }
   
   ],
 * "styleOptionID": "OPTION_HAT_SOMEOPTIONCODE",
 * "validFrom": "2020-02-04T15:03:24Z",
 * "validTo": "2021-02-03T15:03:24Z"

}



BULKUPSERT

create or update an option price by the brand priceCode identifier

Bulk Upsert is limited to 1000 prices per request

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string

prices
required
Array of objects (Prices)

list of prices to upsert


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/price/upsert/bulk
https://api.showroom.stitch.fashion/v1/price/upsert/bulk


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "prices": [
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "optionCode": "SOMEOPTIONCODE",
       * "priceCode": "somePriceCode",
       * "priceGroupID": "1",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 200,
             * "retailPrice": 500,
             * "sku": "somePriceCode_L",
             * "wholesalePrice": 300
            
            }
         
         ],
       * "validFrom": "2020-02-04T15:03:24Z",
       * "validTo": "2021-02-03T15:03:24Z"
      
      },
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "optionCode": "SOMEOTHEROPTIONCODE",
       * "priceCode": "someOtherPriceCode",
       * "priceGroupID": "1",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 200,
             * "retailPrice": 500,
             * "sku": "someOtherPriceCode_L",
             * "wholesalePrice": 300
            
            },
          * {
             * "discountWholesalePrice": 200,
             * "retailPrice": 500,
             * "sku": "someOtherPriceCode_M",
             * "wholesalePrice": 300
            
            }
         
         ],
       * "validFrom": "2023-03-04T15:03:24Z",
       * "validTo": "2024-03-03T15:03:24Z"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "id": "PRICE_HAT_SOMEPRICECODE",
       * "optionCode": "SOMEOPTIONCODE",
       * "priceCode": "somePriceCode",
       * "priceGroupID": "1",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 200,
             * "retailPrice": 500,
             * "size": "somePriceCode_L",
             * "wholesalePrice": 300
            
            }
         
         ],
       * "styleOptionID": "OPTION_HAT_SOMEOPTIONCODE",
       * "validFrom": "2020-02-04T15:03:24Z",
       * "validTo": "2021-02-03T15:03:24Z"
      
      },
    * {
       * "brandCode": "HAT",
       * "currency": "USD",
       * "id": "PRICE_HAT_SOMEOTHERPRICECODE",
       * "optionCode": "SOMEOTHEROPTIONCODE",
       * "priceCode": "someOtherPriceCode",
       * "priceGroupID": "1",
       * "pricePerSize": [
          * {
             * "discountWholesalePrice": 200,
             * "retailPrice": 500,
             * "sku": "someOtherPriceCode_L",
             * "wholesalePrice": 300
            
            },
          * {
             * "discountWholesalePrice": 200,
             * "retailPrice": 500,
             * "size": "someOtherPriceCode_M",
             * "wholesalePrice": 300
            
            }
         
         ],
       * "styleOptionID": "OPTION_HAT_SOMEOTHEROPTIONCODE",
       * "validFrom": "2023-03-04T15:03:24Z",
       * "validTo": "2024-03-03T15:03:24Z"
      
      }
   
   ]

}



SIZES


GET BY OPTION CODES

Fetch sizes assigned to options by their codes

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

optionCodes
required
Array of strings (Option codes)

A list of option codes assigned during import


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/size/getByOptionCodes
https://api.showroom.stitch.fashion/v1/size/getByOptionCodes


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "optionCodes": [
    * "string"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "constraints": {
          * "minimum": "1",
          * "multiplier": "2"
         
         },
       * "id": "SIZE_HAT_OPTIONCODE1.M42.30",
       * "isActive": true,
       * "optionCode": "OPTIONCODE1",
       * "optionID": "OPTION_HAT_OPTIONCODE1",
       * "size": "30",
       * "sku": "OPTIONCODE1.M42.30",
       * "subSizes": {
          * "inseam": "32"
         
         }
      
      },
    * {
       * "brandCode": "HAT",
       * "constraints": { },
       * "id": "SIZE_HAT_OPTIONCODE1.M42.XXXXS",
       * "isActive": true,
       * "optionCode": "OPTIONCODE42",
       * "optionID": "OPTION_HAT_OPTIONCODE42",
       * "size": "XXXXS",
       * "sku": "OPTIONCODE1.M42.XXXXS",
       * "subSizes": { }
      
      }
   
   ]

}



UPSERT

create or update an option size by SKU field value

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON

Each size represents a unique set of dimensions for a particular option. Use
Size field to specify the main dimention and subSizes map to add additional
ones. Combination of Size and all the subsizes should be unique as it can be
shown to a user in a table view.

brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

constraints
object <map> (is a set of rules enforced upon the item during the draft order
creation Options: `minimum: <int>`, `multiplier: <int>`)

Is a set of rules enforced upon the item during the draft order creation

isActive
boolean <boolean> (a field to soft-delete or disable sizes from the API)

A field to soft-delete or disable sizes from the API

optionCode
required
string <string> (Option code)

Code of the product option to which this size belongs

size
required
string <string> (the human-readable size name that will be displayed for the
users)

The human-readable size name that will be displayed for the users

sku
required
string <string> (SKU)

This field can store any identifier that is unique on the client side. Can be
sku/ean/internal id. The value will be used as the main identifier for the order
line.

subSizes
object <map> (is useful for the multidimentional sizes like pants or bras. For
example, "inseam":"32")

An additional size dimensions for the main size. Is useful for the
multidimentional sizes like pants or bras


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/size/upsert
https://api.showroom.stitch.fashion/v1/size/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "constraints": {
    * "minimum": "1",
    * "multiplier": "2"
   
   },
 * "isActive": true,
 * "optionCode": "OPTIONCODE1",
 * "size": "30",
 * "sku": "OPTIONCODE1.M42.30",
 * "subSizes": {
    * "inseam": "32"
   
   }

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "constraints": {
    * "minimum": "1",
    * "multiplier": "2"
   
   },
 * "id": "SIZE_HAT_OPTIONCODE1.M42.30",
 * "isActive": true,
 * "optionCode": "OPTIONCODE1",
 * "optionID": "OPTION_HAT_OPTIONCODE1",
 * "size": "30",
 * "sku": "OPTIONCODE1.M42.30",
 * "subSizes": {
    * "inseam": "32"
   
   }

}



BULK UPSERT

Bulk Upsert is a request to upsert many sizes at once

Bulk Upsert is limited to 1000 sizes per request

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

sizes
required
Array of objects (Sizes)

list of sizes to upsert


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/size/upsert/bulk
https://api.showroom.stitch.fashion/v1/size/upsert/bulk


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "sizes": [
    * {
       * "brandCode": "HAT",
       * "constraints": {
          * "minimum": "1",
          * "multiplier": "2"
         
         },
       * "optionCode": "OPTION_CODE_1",
       * "size": "40",
       * "sku": "OPTION_CODE_1.M40.40",
       * "subSizes": {
          * "inseam": "32"
         
         }
      
      },
    * {
       * "brandCode": "HAT",
       * "optionCode": "OPTION_CODE_1",
       * "size": "30",
       * "sku": "OPTION_CODE_1.M42.30",
       * "subSizes": {
          * "inseam": "32"
         
         }
      
      },
    * {
       * "brandCode": "HAT",
       * "optionCode": "OPTION_CODE_2",
       * "size": "30",
       * "sku": "OPTION_CODE_2.M42.30",
       * "subSizes": {
          * "inseam": "32"
         
         }
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "constraints": {
          * "minimum": "1",
          * "multiplier": "2"
         
         },
       * "id": "SIZE_HAT_OPTIONCODE1.M42.30",
       * "isActive": true,
       * "optionCode": "OPTIONCODE1",
       * "optionID": "OPTION_HAT_OPTIONCODE1",
       * "size": "30",
       * "sku": "OPTIONCODE1.M42.30",
       * "subSizes": {
          * "inseam": "32"
         
         }
      
      },
    * {
       * "brandCode": "HAT",
       * "constraints": { },
       * "id": "SIZE_HAT_OPTIONCODE1.M42.XXXXS",
       * "isActive": true,
       * "optionCode": "OPTIONCODE42",
       * "optionID": "OPTION_HAT_OPTIONCODE42",
       * "size": "XXXXS",
       * "sku": "OPTIONCODE1.M42.XXXXS",
       * "subSizes": { }
      
      }
   
   ]

}



CATALOGS


GETBYCODE

Get a catalog by it's code assigned during the creation

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

code
required
string <string> (Code)

A value used on the brand side to uniquely identify the catalog


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/catalog/getByCode
https://api.showroom.stitch.fashion/v1/catalog/getByCode


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "HAT",
 * "code": "CATALOG_42"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "availCustomerCodes": [
    * "CUSTOMER_CODE1",
    * "CUSTOMER_CODE2"
   
   ],
 * "availLocationCodes": [
    * "LOCATION_CODE_1",
    * "LOCATION_CODE_2"
   
   ],
 * "availUserCodes": [
    * "USER_CODE_1",
    * "USER_CODE_2"
   
   ],
 * "brandCode": "HAT",
 * "code": "CATALOG_42",
 * "createdAt": "2021-10-06T11:19:54Z",
 * "id": "CATALOG_HAT_CATALOG_42",
 * "isActive": true,
 * "modifiedAt": "2021-10-06T11:19:54Z",
 * "name": "Premium season Summer/Fall 2022",
 * "selDeliverydropCodes": [
    * "DELIVERY_DROP_CODE_1",
    * "DELIVERY_DROP_CODE_2"
   
   ],
 * "selDivisionCodes": [
    * "DIVISION_CODE_1",
    * "DIVISION_CODE_2"
   
   ],
 * "selOptionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "selSKUs": [
    * "SKU42",
    * "SKU9999999999"
   
   ],
 * "selSeasonCodes": [
    * "SEASON_CODE_1",
    * "SEASON_CODE_2"
   
   ],
 * "selStyleCodes": [
    * "STYLE_CODE_1",
    * "STYLE_CODE_2"
   
   ]

}



GETUSERCATALOGS

Find User/Custom Catalogs within a brand

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCatalogCodes
Array of strings (Code of the parent Brand Catalog)

A list of brand catalog codes to filter

brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

codes
Array of strings (Codes)

A list of user Catlaog codes to fetch upon

userCodes
Array of strings (User codes)

A list of user codes codes to filter


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/catalog/getUserCatalogs
https://api.showroom.stitch.fashion/v1/catalog/getUserCatalogs


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCatalogCodes": [
    * "PREMIUM",
    * "CLASSIC"
   
   ],
 * "brandCode": "HAT",
 * "codes": [
    * "CATALOG_42",
    * "CATALOG_WOOPWOOP"
   
   ],
 * "userCodes": [
    * "DOMAIN\\USER",
    * "user@org.com"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "userCatalogs": [
    * {
       * "brandCatalogCode": "PREMIUM",
       * "brandCode": "HAT",
       * "code": "CODE42",
       * "createdAt": "2022-10-27T13:34:46Z",
       * "id": "USER_CATALOG_HAT_CODE42",
       * "isActive": true,
       * "modifiedAt": "2022-10-27T13:34:46Z",
       * "name": "Premuim Europe 2045",
       * "optionCodes": [
          * "opt1",
          * "opt2"
         
         ],
       * "userCodes": [
          * "user1",
          * "user2"
         
         ]
      
      }
   
   ]

}



UPSERTBRANDCATALOG

Upsert new or existing Brand Catalog

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



availCustomerCodes
Array of strings (List of customer codes)

list of customers that can be used to create presentations with this catalog.
Empty list means that all customers can be used with this catalog

availLocationCodes
Array of strings (List of location codes)

list of locations that can be used to create presentations with this catalog.
Empty list means that all locations can be used with this catalog

availUserCodes
Array of strings (List of user codes)

list of users that can access this catalog. Empty list means that all users can
use this catalog to create presentations

brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

code
required
string <string> (Code)

A value used on the brand side to uniquely identify the catalog

isActive
boolean <boolean> (is a toggle for the soft delete)
Default: "false"

A field to soft-delete or disable a catalog from the API

name
required
string <string> (Name)

name of a catalog to be shown on the UI

selDeliverydropCodes
Array of strings (Selector by Delivery Drop Codes)

list of delivery drop codes to filter options upon. Empty list means that all
delivery drops are available within the catalog

selDivisionCodes
Array of strings (Selector by Division Codes)

list of division codes to filter options upon. Empty list means that all
divisions are available within the catalog

selOptionCodes
Array of strings (Selector by Option Codes)

list of option codes to filter the collection upon. Empty list means that all
options are available within the catalog

selSKUs
Array of strings (Selector by SKU)

list of SKUs to filter options upon. Empty list means that all SKUs are
available within the catalog

selSeasonCodes
Array of strings (Selector by Season Codes)

list of season codes to filter options upon. Empty list means that all seasons
are available within the catalog

selStyleCodes
Array of strings (Selector by Style Codes)

list of stlye codes to filter options upon. Empty list means that all styles are
available within the catalog


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/catalog/upsert
https://api.showroom.stitch.fashion/v1/catalog/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "availCustomerCodes": [
    * "CUSTOMER_CODE1",
    * "CUSTOMER_CODE2"
   
   ],
 * "availLocationCodes": [
    * "LOCATION_CODE_1",
    * "LOCATION_CODE_2"
   
   ],
 * "availUserCodes": [
    * "USER_CODE_1",
    * "USER_CODE_2"
   
   ],
 * "brandCode": "HAT",
 * "code": "CATALOG_42",
 * "isActive": true,
 * "name": "Premium season Summer/Fall 2022",
 * "selDeliverydropCodes": [
    * "DELIVERY_DROP_CODE_1",
    * "DELIVERY_DROP_CODE_2"
   
   ],
 * "selDivisionCodes": [
    * "DIVISION_CODE_1",
    * "DIVISION_CODE_2"
   
   ],
 * "selOptionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "selSKUs": [
    * "SKU42",
    * "SKU9999999999"
   
   ],
 * "selSeasonCodes": [
    * "SEASON_CODE_1",
    * "SEASON_CODE_2"
   
   ],
 * "selStyleCodes": [
    * "STYLE_CODE_1",
    * "STYLE_CODE_2"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "availCustomerCodes": [
    * "CUSTOMER_CODE1",
    * "CUSTOMER_CODE2"
   
   ],
 * "availLocationCodes": [
    * "LOCATION_CODE_1",
    * "LOCATION_CODE_2"
   
   ],
 * "availUserCodes": [
    * "USER_CODE_1",
    * "USER_CODE_2"
   
   ],
 * "brandCode": "HAT",
 * "code": "CATALOG_42",
 * "createdAt": "2021-10-06T11:19:54Z",
 * "id": "CATALOG_HAT_CATALOG_42",
 * "isActive": true,
 * "modifiedAt": "2021-10-06T11:19:54Z",
 * "name": "Premium season Summer/Fall 2022",
 * "selDeliverydropCodes": [
    * "DELIVERY_DROP_CODE_1",
    * "DELIVERY_DROP_CODE_2"
   
   ],
 * "selDivisionCodes": [
    * "DIVISION_CODE_1",
    * "DIVISION_CODE_2"
   
   ],
 * "selOptionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "selSKUs": [
    * "SKU42",
    * "SKU9999999999"
   
   ],
 * "selSeasonCodes": [
    * "SEASON_CODE_1",
    * "SEASON_CODE_2"
   
   ],
 * "selStyleCodes": [
    * "STYLE_CODE_1",
    * "STYLE_CODE_2"
   
   ]

}



UPSERTUSERCATALOGS

Upsert new or existing User(Custom) Catalog

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCatalogCode
required
string <string> (Code of the parent Brand Catalog)

The User Catalog is always a subset of a Brand Catalog

brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

code
required
string <string> (Code)

A value used on the brand side to uniquely identify the catalog

isActive
boolean <boolean> (is a toggle for the soft delete)
Default: "false"

A field to soft-delete or disable a catalog from the API

name
required
string <string> (Name)

name of a catalog to be shown on the UI

optionCodes
Array of strings (Selector by Option Codes)

list of option codes to filter the collection upon. Empty list means that all
options are available within the catalog

userCodes
Array of strings (List of user codes)

list of users that can access this catalog. Empty list means that all users can
use this catalog to create presentations


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/catalog/upsertUserCatalogs
https://api.showroom.stitch.fashion/v1/catalog/upsertUserCatalogs


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCatalogCode": "CATALOG_42",
 * "brandCode": "HAT",
 * "code": "CATALOG_42",
 * "isActive": true,
 * "name": "Premium season Summer/Fall 2022",
 * "optionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "userCodes": [
    * "USER_CODE_1",
    * "USER_CODE_2"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCatalogCode": "PREMIUM",
 * "brandCode": "HAT",
 * "code": "CODE42",
 * "createdAt": "2022-10-27T13:34:46Z",
 * "id": "USER_CATALOG_HAT_CODE42",
 * "isActive": true,
 * "modifiedAt": "2022-10-27T13:34:46Z",
 * "name": "Premuim Europe 2045",
 * "optionCodes": [
    * "opt1",
    * "opt2"
   
   ],
 * "userCodes": [
    * "user1",
    * "user2"
   
   ]

}



MARKETING ASSETS


GETASSETGROUPS

Fetch existing asset groups by codes

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

codes
required
Array of strings (Codes)

List of asset group codes to fetch by

tags
Array of strings (Tags)

List of tags to filter by


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/marketing/getAssetGroups
https://api.showroom.stitch.fashion/v1/marketing/getAssetGroups


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "codes": [
    * "CODE_1",
    * "CODE_2"
   
   ],
 * "tags": [
    * "sustainable",
    * "ubermaterial",
    * "tennis"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "assetGroups": [
    * {
       * "Assets": [
          * {
             * "BrandCode": "HAT",
             * "Code": "CODE_1",
             * "CreatedAt": "2009-02-13T23:31:30Z",
             * "Description": "The long country road disappearing between the
               hills",
             * "DivisionCodes": [
                * "DIVISION_CODE_1"
               
               ],
             * "Fields": [
                * {
                   * "Display": true,
                   * "Name": "DAY",
                   * "Value": "SUNNY"
                  
                  }
               
               ],
             * "ID": "ASSET_HAT_CODE_1",
             * "Index": 1,
             * "IsActive": false,
             * "MediaCode": "MEDIA_CODE_1",
             * "ModifiedAt": "2009-02-13T23:31:30Z",
             * "Name": "A Country Road",
             * "OptionCodes": [
                * "OPTION_CODE_1",
                * "OPTION_CODE_2"
               
               ],
             * "SeasonCodes": [
                * "SEASON_CODE_1"
               
               ],
             * "Tags": [
                * "COUNTRY",
                * "ROAD"
               
               ]
            
            },
          * {
             * "BrandCode": "HAT",
             * "Code": "CODE_2",
             * "CreatedAt": "2009-02-13T23:31:30Z",
             * "Description": "A huge hill with snow covering its top",
             * "DivisionCodes": [
                * "DIVISION_CODE_2"
               
               ],
             * "Fields": [
                * {
                   * "Display": true,
                   * "Name": "top cover",
                   * "Value": "snow"
                  
                  }
               
               ],
             * "ID": "ASSET_HAT_CODE_2",
             * "Index": 2,
             * "IsActive": false,
             * "MediaCode": "MEDIA_CODE_2",
             * "ModifiedAt": "2009-02-13T23:31:30Z",
             * "Name": "The top of the hill",
             * "OptionCodes": [
                * "OPTION_CODE_3",
                * "OPTION_CODE_4"
               
               ],
             * "SeasonCodes": [
                * "SEASON_CODE_2"
               
               ],
             * "Tags": [
                * "WEST",
                * "VIRGINIA"
               
               ]
            
            }
         
         ],
       * "BrandCode": "HAT",
       * "Code": "CODE_1",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "The Country Roads and it's culture",
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "style",
             * "Value": "Lumberjack"
            
            }
         
         ],
       * "ID": "ASSET_GROUP_HAT_CODE_1",
       * "Index": 1,
       * "IsActive": false,
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "Virginia",
       * "Tags": [
          * "sustainable",
          * "ubermaterial",
          * "tennis"
         
         ]
      
      }
   
   ]

}



GETASSETS

Fetch existing assets by codes

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

codes
required
Array of strings (Codes)

List of asset codes to fetch by


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/marketing/getAssets
https://api.showroom.stitch.fashion/v1/marketing/getAssets


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "codes": [
    * "CODE_1",
    * "CODE_2"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "assets": [
    * {
       * "BrandCode": "HAT",
       * "Code": "CODE_1",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "we all enjoy the country roads and the nearby
         mountains",
       * "DivisionCodes": [
          * "DIVISION_CODE1",
          * "DIVISION_CODE_2"
         
         ],
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "roads",
             * "Value": "beautiful"
            
            }
         
         ],
       * "GroupCodes": [
          * "GROUP1",
          * "GROUP2"
         
         ],
       * "ID": "ASSET_HAT_CODE_1",
       * "Index": 1,
       * "IsActive": true,
       * "MediaCode": "MEDIA_CODE_1",
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "An asset about west virginia",
       * "OptionCodes": [
          * "OPTION_CODE_1",
          * "OPTION_CODE_2"
         
         ],
       * "SeasonCodes": [
          * "SEASON_CODE_1"
         
         ],
       * "Tags": [
          * "WEST",
          * "VIRGINIA"
         
         ]
      
      },
    * {
       * "BrandCode": "HAT",
       * "Code": "CODE_2",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "we all enjoy the country roads and the nearby
         mountains",
       * "DivisionCodes": [
          * "DIVISION_CODE1",
          * "DIVISION_CODE_2"
         
         ],
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "roads",
             * "Value": "beautiful"
            
            }
         
         ],
       * "GroupCodes": [
          * "GROUP1",
          * "GROUP2"
         
         ],
       * "ID": "ASSET_HAT_CODE_2",
       * "Index": 2,
       * "IsActive": true,
       * "MediaCode": "MEDIA_CODE_2",
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "An asset about east virginia",
       * "OptionCodes": [
          * "OPTION_CODE_1",
          * "OPTION_CODE_2"
         
         ],
       * "SeasonCodes": [
          * "SEASON_CODE_1"
         
         ],
       * "Tags": [
          * "WEST",
          * "VIRGINIA"
         
         ]
      
      }
   
   ]

}



SEARCHASSETS

Search marketing assets by a number of filters, like options, codes, tags,
seasonCodes and divisionCodes

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

divisionCodes
Array of strings (Division codes)

List of division codes to search by

groupCodes
Array of strings (Group codes)

List of group codes to search by

groupIDs
Array of strings (Group IDs)

List of group IDs to search by

onlyActive
boolean <boolean> (Is Active)

A field to search for assets that are soft-deleted

optionCodes
Array of strings (Option codes)

List of option codes to search by

search
string <string> (Search text)

text to search for in name or description of assets

seasonCodes
Array of strings (Season codes)

List of season codes to search by

tags
Array of strings (Tags)

List of tags to search by


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/marketing/searchAssets
https://api.showroom.stitch.fashion/v1/marketing/searchAssets


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "divisionCodes": [
    * "DIVISION_CODE_1",
    * "DIVISION_CODE_2"
   
   ],
 * "groupCodes": [
    * "GROUP1",
    * "GROUP2"
   
   ],
 * "groupIDs": [
    * "ASSET_GROUP_HAT_GROUP_1",
    * "ASSET_GROUP_HAT_GROUP_2"
   
   ],
 * "onlyActive": true,
 * "optionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "search": "An asset about west virginia",
 * "seasonCodes": [
    * "SEASON_CODE_1",
    * "SEASON_CODE_2"
   
   ],
 * "tags": [
    * "WEST",
    * "VIRGINIA"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "assets": [
    * {
       * "BrandCode": "HAT",
       * "Code": "CODE_1",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "we all enjoy the country roads and the nearby
         mountains",
       * "DivisionCodes": [
          * "DIVISION_CODE1",
          * "DIVISION_CODE_2"
         
         ],
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "roads",
             * "Value": "beautiful"
            
            }
         
         ],
       * "GroupCodes": [
          * "GROUP1",
          * "GROUP2"
         
         ],
       * "ID": "ASSET_HAT_CODE_1",
       * "Index": 1,
       * "IsActive": true,
       * "MediaCode": "MEDIA_CODE_1",
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "An asset about west virginia",
       * "OptionCodes": [
          * "OPTION_CODE_1",
          * "OPTION_CODE_2"
         
         ],
       * "SeasonCodes": [
          * "SEASON_CODE_1"
         
         ],
       * "Tags": [
          * "WEST",
          * "VIRGINIA"
         
         ]
      
      },
    * {
       * "BrandCode": "HAT",
       * "Code": "CODE_2",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "we all enjoy the country roads and the nearby
         mountains",
       * "DivisionCodes": [
          * "DIVISION_CODE1",
          * "DIVISION_CODE_2"
         
         ],
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "roads",
             * "Value": "beautiful"
            
            }
         
         ],
       * "GroupCodes": [
          * "GROUP1",
          * "GROUP2"
         
         ],
       * "ID": "ASSET_HAT_CODE_2",
       * "Index": 2,
       * "IsActive": true,
       * "MediaCode": "MEDIA_CODE_2",
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "An asset about east virginia",
       * "OptionCodes": [
          * "OPTION_CODE_1",
          * "OPTION_CODE_2"
         
         ],
       * "SeasonCodes": [
          * "SEASON_CODE_1"
         
         ],
       * "Tags": [
          * "WEST",
          * "VIRGINIA"
         
         ]
      
      }
   
   ]

}



UPSERTASSET

Create new or update existing asset

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



assetGroupCodes
Array of strings (Asset Group Codes)

A list of group codes which the asset should belong to

brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

code
required
string <string> (Code)

A value used on the brand side to uniquely identify the group

description
string <string> (Description)

description of the asset to be upserted

divisionCodes
Array of strings (Division Codes)

A list of division codes assigned to the asset

fields
Array of objects (Fields)

A list of fields with extra information to be attached with the asset to be
shown on the UI

index
string <integer> (Index)

A numeric value to sort on the UI. If 2 indexes are equal, the order is not
determined. Values from -2,147,483,648 to 2,147,483,647 are supported. default:
0

isActive
boolean <boolean> (a field to soft-delete or disable assets from the API)

A field to soft-delete or disable assets from the API

mediaCode
required
string <string> (Media Code)

media code of the asset. Should match one used during media upload, might be
code of a video or an image

name
string <string> (Name)

name of the asset to be upserted

optionCodes
Array of strings (Option Codes)

A list of options codes assigned to the asset

seasonCodes
Array of strings (Season Codes)

A list of season codes assigned to the asset

tags
Array of strings (Tags)

A list of tags assigned to the asset used for filtering


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/marketing/upsertAsset
https://api.showroom.stitch.fashion/v1/marketing/upsertAsset


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "assetGroupCodes": [
    * "GROUP1",
    * "GROUP2"
   
   ],
 * "brandCode": "HAT",
 * "code": "CODE_1",
 * "description": "we all enjoy the country roads and the nearby mountains",
 * "divisionCodes": [
    * "DIVISION_CODE_1",
    * "DIVISION_CODE_2"
   
   ],
 * "fields": [
    * {
       * "display": true,
       * "name": "Key Features: ",
       * "value": "Sustainable"
      
      }
   
   ],
 * "index": 1,
 * "isActive": true,
 * "mediaCode": "MEDIA_CODE_1",
 * "name": "West Virgina Mountains",
 * "optionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "seasonCodes": [
    * "SEASON_CODE_1",
    * "SEASON_CODE_2"
   
   ],
 * "tags": [
    * "WEST",
    * "VIRGINIA"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "BrandCode": "HAT",
 * "Code": "CODE_1",
 * "CreatedAt": "2009-02-13T23:31:30Z",
 * "Description": "we all enjoy the country roads and the nearby mountains",
 * "DivisionCodes": [
    * "DIVISION_CODE1",
    * "DIVISION_CODE_2"
   
   ],
 * "Fields": [
    * {
       * "Display": true,
       * "Name": "roads",
       * "Value": "beautiful"
      
      }
   
   ],
 * "GroupCodes": [
    * "GROUP1",
    * "GROUP2"
   
   ],
 * "ID": "ASSET_HAT_CODE_1",
 * "Index": 1,
 * "IsActive": true,
 * "MediaCode": "MEDIA_CODE_1",
 * "ModifiedAt": "2009-02-13T23:31:30Z",
 * "Name": "West Virgina Mountains",
 * "OptionCodes": [
    * "OPTION_CODE_1",
    * "OPTION_CODE_2"
   
   ],
 * "SeasonCodes": [
    * "SEASON_CODE_1"
   
   ],
 * "Tags": [
    * "WEST",
    * "VIRGINIA"
   
   ]

}



UPSERTASSETGROUP

Create new or update existing asset group

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

code
required
string <string> (Code)

A value used on the brand side to uniquely identify the group

description
required
string <string> (Description)

The Country Roads and it's culture

fields
Array of objects (Fields)

Custom brand defined fields with extra information to be shown on the UI

index
string <integer> (Index)

A numeric value to sort groups. If 2 indexes are equal, the order is not
determined. Values from -2,147,483,648 to 2,147,483,647 are supported. default:
0

isActive
boolean <boolean> (Is Active)

A field to soft-delete or disable groups

name
required
string <string> (Name)

Name of the group to be shown on the UI

tags
Array of strings (Tags)

A list of tags to be assigned to the asset group


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/marketing/upsertAssetGroup
https://api.showroom.stitch.fashion/v1/marketing/upsertAssetGroup


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "code": "CODE_1",
 * "description": "Group containing all key looks for our brand",
 * "fields": [
    * {
       * "display": true,
       * "name": "style",
       * "value": "Lumberjack"
      
      }
   
   ],
 * "index": 1,
 * "isActive": true,
 * "name": "Virginia",
 * "tags": [
    * "Virginia"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "Assets": [
    * {
       * "BrandCode": "HAT",
       * "Code": "CODE_1",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "The long country road disappearing between the hills",
       * "DivisionCodes": [
          * "DIVISION_CODE_1"
         
         ],
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "DAY",
             * "Value": "SUNNY"
            
            }
         
         ],
       * "ID": "ASSET_HAT_CODE_1",
       * "Index": 1,
       * "IsActive": false,
       * "MediaCode": "MEDIA_CODE_1",
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "A Country Road",
       * "OptionCodes": [
          * "OPTION_CODE_1",
          * "OPTION_CODE_2"
         
         ],
       * "SeasonCodes": [
          * "SEASON_CODE_1"
         
         ],
       * "Tags": [
          * "COUNTRY",
          * "ROAD"
         
         ]
      
      },
    * {
       * "BrandCode": "HAT",
       * "Code": "CODE_2",
       * "CreatedAt": "2009-02-13T23:31:30Z",
       * "Description": "A huge hill with snow covering its top",
       * "DivisionCodes": [
          * "DIVISION_CODE_2"
         
         ],
       * "Fields": [
          * {
             * "Display": true,
             * "Name": "top cover",
             * "Value": "snow"
            
            }
         
         ],
       * "ID": "ASSET_HAT_CODE_2",
       * "Index": 2,
       * "IsActive": true,
       * "MediaCode": "MEDIA_CODE_2",
       * "ModifiedAt": "2009-02-13T23:31:30Z",
       * "Name": "The top of the hill",
       * "OptionCodes": [
          * "OPTION_CODE_3",
          * "OPTION_CODE_4"
         
         ],
       * "SeasonCodes": [
          * "SEASON_CODE_2"
         
         ],
       * "Tags": [
          * "WEST",
          * "VIRGINIA"
         
         ]
      
      }
   
   ],
 * "BrandCode": "HAT",
 * "Code": "CODE_1",
 * "CreatedAt": "2009-02-13T23:31:30Z",
 * "Description": "The Country Roads and it's culture",
 * "Fields": [
    * {
       * "Display": true,
       * "Name": "style",
       * "Value": "Lumberjack"
      
      }
   
   ],
 * "ID": "ASSET_GROUP_HAT_CODE_1",
 * "Index": 1,
 * "IsActive": false,
 * "ModifiedAt": "2009-02-13T23:31:30Z",
 * "Name": "Virginia",
 * "Tags": [
    * "VIRGINIA"
   
   ]

}



STOCK


GET STOCK LIST

GetList returns a filtered list of stock items

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch - if brandCode is the only filter provided then
pagination is mandatory

codes
Array of strings (Codes)

list of stock unique identifiers

isActiveOnly
boolean <boolean> (Is Active Only)
Default: "false"

if set to true will only return active stock items

optionCodes
Array of strings (Option codes)

list of option codes to filter stock by

pagination
object (Pagination is used to paginate the stock items)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/stock/getList
https://api.showroom.stitch.fashion/v1/stock/getList


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "codes": [
    * "123_456",
    * "OPCODE_42"
   
   ],
 * "isActiveOnly": true,
 * "optionCodes": [
    * "123",
    * "opcode"
   
   ],
 * "pagination": {
    * "limit": 100,
    * "offset": 100
   
   }

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "code": "123_456",
       * "deliveryDropCode": "SUMMER_2020",
       * "isActive": true,
       * "minQuantity": 10,
       * "modifiedAt": "2020-01-01T00:00:00Z",
       * "optionCode": "123",
       * "quantity": 100,
       * "sku": "456",
       * "stock_reference_code": "WAREHOUSE_UK"
      
      },
    * {
       * "brandCode": "HAT",
       * "code": "OPCODE_42",
       * "isActive": true,
       * "modifiedAt": "2020-01-01T00:00:00Z",
       * "optionCode": "opcode",
       * "quantity": 50,
       * "sku": "42",
       * "stock_reference_code": "ALOHA"
      
      }
   
   ]

}



BULK UPSERT

Upsert multiple stock items at once

Bulk Upsert is limited to 1000 stock per request

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string <string> (Brand code)

Brand code issued by Stitch

stock
required
Array of objects (Stock)

list of stock to upsert


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/stock/upsert/bulk
https://api.showroom.stitch.fashion/v1/stock/upsert/bulk


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "stock": [
    * {
       * "brandCode": "HAT",
       * "code": "123_456",
       * "deliveryDropCode": "SUMMER_2020",
       * "isActive": true,
       * "minQuantity": 10,
       * "optionCode": "123",
       * "quantity": 100,
       * "sku": "456",
       * "stockReferenceCode": "WAREHOUSE_UK"
      
      },
    * {
       * "brandCode": "HAT",
       * "code": "OPCODE_42",
       * "deliveryDropCode": "",
       * "isActive": true,
       * "minQuantity": 0,
       * "optionCode": "opcode",
       * "quantity": 50,
       * "sku": "42",
       * "stockReferenceCode": "ALOHA"
      
      }
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandCode": "HAT",
       * "code": "123_456",
       * "deliveryDropCode": "SUMMER_2020",
       * "isActive": true,
       * "minQuantity": 10,
       * "modifiedAt": "2020-01-01T00:00:00Z",
       * "optionCode": "123",
       * "quantity": 100,
       * "sku": "456",
       * "stock_reference_code": "WAREHOUSE_UK"
      
      },
    * {
       * "brandCode": "HAT",
       * "code": "OPCODE_42",
       * "isActive": true,
       * "modifiedAt": "2020-01-01T00:00:00Z",
       * "optionCode": "opcode",
       * "quantity": 50,
       * "sku": "42",
       * "stock_reference_code": "ALOHA"
      
      }
   
   ]

}



USERS


GETUSERSBYBRANDCODE

List users by brand code

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (BrandCode is the unique code of the brand and it is used as the main
identifier of the brand) non-empty

limit
integer <int32> (Limit is the limit to how many users the list should return)
non-empty

offset
integer <int32> (Offset is used for pagination) non-empty



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/user/getUsersByBrandCode
https://api.showroom.stitch.fashion/v1/user/getUsersByBrandCode


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "BRAND",
 * "limit": 10,
 * "offset": 0

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "list": [
    * {
       * "brandUser": [
          * {
             * "brandCode": "HAT",
             * "brandUserID": "HAT_TEST_USER_1234",
             * "id": "USER_TEST@USER.EMAIL",
             * "roles": [
                * "presenter",
                * "contentManager"
               
               ],
             * "userName": "test user"
            
            }
         
         ],
       * "email": "test@user.email"
      
      }
   
   ]

}



UPSERT

Create or Update existing user entity. The uniqueness of the user is determined
by the brandUserID and brandCode.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (The main identifier of the brand) non-empty

brandUserID
required
string (Identifier used by a brand's internal systems to uniquely identify a
user) non-empty

email
required
string (User's company email address) non-empty

isActive
boolean (Defines if the user is active or not)

name
required
string (The user name to display in the system) non-empty

roles
required
Array of strings (List of the comma separated user roles) [ items non-empty ]

Options:integration, presenter, contentManager, brandAdmin


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/user/upsert
https://api.showroom.stitch.fashion/v1/user/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "BRAND",
 * "brandUserID": "albert.einstein",
 * "email": "albert.einstein@company.co",
 * "isActive": true,
 * "name": "Albert Einstein",
 * "roles": [
    * "presenter",
    * "contentManager"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandUser": [
    * {
       * "brandCode": "HAT",
       * "brandUserID": "HAT_TEST_USER_1234",
       * "id": "USER_TEST@USER.EMAIL",
       * "roles": [
          * "presenter",
          * "contentManager"
         
         ],
       * "userName": "test user"
      
      }
   
   ],
 * "email": "test@user.email"

}



MEDIA


UPSERT

Implements versioned media uploads. Using this endpoint you can both create and
update existing media assets. If the media asset does not exist in the system or
there is one with an older version and the same mediaCode, the file will be
downloaded and saved with overwrite. Otherwise, API will respond with the
existing document immediately.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that the media belongs to)

mediaCode
required
string (Unique identifier for a media)

type
string (- General: If the uploaded media is used in the digital showroom -
Library: If the uploaded media is used in the content management system)
Default: "General"
Enum: "General" "Library"

url
required
string (Publicly available URL of the media. The service will try to pull the
asset only once and will expect `2xx` status in the response)

version
string <int64>

Current version of the media file on the client-side. To update an asset, send a
newer version than the last time. If the version is older of the same mediaCode,
API will return the existing result immediately.

Values from -2,147,483,648 to 2,147,483,647 are supported. default: 0


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/media/upsert
https://api.showroom.stitch.fashion/v1/media/upsert


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "string",
 * "mediaCode": "string",
 * "type": "General",
 * "url": "string",
 * "version": "string"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "HAT",
 * "dimensions": {
    * "height": 762,
    * "width": 590
   
   },
 * "id": "MEDIA_HAT_EXTERNALCODE",
 * "mediaCode": "externalcode",
 * "mimeType": "image/jpeg",
 * "name": "img.jpg",
 * "version": 4

}



PRESENTATION


GETBYIDS

Fetch full presentation information (metadata with assortments) by presentation
ids

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



ids
required
Array of strings (list presentation IDs for fetching)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/presentation/getByIDs
https://api.showroom.stitch.fashion/v1/presentation/getByIDs


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "ids": [
    * "PRESENTATION_55555555-5555-5555-5555-555555555555",
    * "PRESENTATION_66666666-6666-6666-6666-666666666666"
   
   ]

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "presentations": [
    * {
       * "assortments": [
          * {
             * "id": "some_assortment_id",
             * "name": "assort1",
             * "textItems": [
                * {
                   * "content": "Hello",
                   * "id": "item_id_1",
                   * "position": {
                      * "scale": 1
                     
                     },
                   * "textFormat": {
                      * "align": "center",
                      * "color": "black",
                      * "size": 3,
                      * "style": "header"
                     
                     },
                   * "width": 10
                  
                  }
               
               ]
            
            }
         
         ],
       * "metadata": {
          * "assetSelector": {
             * "division": {
                * "code": "05",
                * "name": "DIV5"
               
               },
             * "gender": "WOMEN",
             * "season": {
                * "code": "S55",
                * "name": "FALL2222"
               
               }
            
            },
          * "brand": {
             * "code": "STITCH",
             * "name": "StitchDS"
            
            },
          * "creator": {
             * "email": "hello@stitch.com",
             * "id": "hello@stitch.com",
             * "name": "StitchAPI"
            
            },
          * "customer": {
             * "code": "CODE_5",
             * "currency": "EUR",
             * "fields": [
                * {
                   * "display": true,
                   * "name": "accountNumber",
                   * "value": "000005555"
                  
                  },
                * {
                   * "display": false,
                   * "name": "buyerNumber",
                   * "value": "000005552"
                  
                  }
               
               ],
             * "id": "CUSTOMER_STITCH_CODE_5",
             * "locations": [
                * {
                   * "code": "LCODE1",
                   * "id": "location1",
                   * "name": "Location1"
                  
                  },
                * {
                   * "code": "LCODE2",
                   * "id": "location2",
                   * "name": "Location2"
                  
                  }
               
               ],
             * "name": "Customerwithcode5",
             * "priceGroup": "21"
            
            },
          * "id": "PRESENTATION_55555555-5555-5555-5555-555555555555",
          * "name": "Testpresentation5",
          * "sortedAssortments": [
             * "ASSORTMENT_8cf05737-810d-4c0e-b2ae-4c90c1421a3c"
            
            ],
          * "welcomeMessage": "WelcometoStitch"
         
         }
      
      }
   
   ]

}



GETLIST

Fetch presentation list of brand with pagination List is sorted by modifiedAt in
descending order

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that presentations belong to)

creatorID
string (Optional filter by creatorID which is the brandUserID of the user who
created the presentation - for reference check Users_GetUsersByBrandCode)

pagination
required
object (presentation.Pagination)



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/presentation/getList
https://api.showroom.stitch.fashion/v1/presentation/getList


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "string",
 * "creatorID": "string",
 * "pagination": {
    * "limit": 0,
    * "offset": 0,
    * "sortBy": "modifiedAt",
    * "sortDescending": true
   
   }

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "presentations": [
    * {
       * "assetSelector": {
          * "division": {
             * "code": "05",
             * "name": "DIV5"
            
            },
          * "gender": "WOMEN",
          * "season": {
             * "code": "S55",
             * "name": "FALL2222"
            
            }
         
         },
       * "brand": {
          * "code": "STITCH",
          * "name": "StitchDS"
         
         },
       * "createdAt": {
          * "seconds": 1564751941
         
         },
       * "creator": {
          * "email": "hello@stitch.com",
          * "id": "hello@stitch.com",
          * "name": "StitchAPI"
         
         },
       * "customer": {
          * "code": "CODE_5",
          * "currency": "EUR",
          * "fields": [
             * {
                * "display": true,
                * "name": "accountNumber",
                * "value": "000005555"
               
               },
             * {
                * "display": false,
                * "name": "buyerNumber",
                * "value": "000005552"
               
               }
            
            ],
          * "id": "CUSTOMER_STITCH_CODE_5",
          * "locations": [
             * {
                * "code": "LCODE1",
                * "id": "location1",
                * "name": "Location1"
               
               },
             * {
                * "code": "LCODE2",
                * "id": "location2",
                * "name": "Location2"
               
               }
            
            ],
          * "name": "Customerwithcode5",
          * "priceGroup": "21"
         
         },
       * "id": "PRESENTATION_55555555-5555-5555-5555-555555555555",
       * "name": "Testpresentation5",
       * "sortedAssortments": [
          * "ASSORTMENT_8cf05737-810d-4c0e-b2ae-4c90c1421a3c"
         
         ],
       * "welcomeMessage": "WelcometoStitch"
      
      }
   
   ]

}



DRAFT ORDER


GET

Get a single order with all the order lines by order id.

Orders are never updated.
If multiple orders are created during single appointment, it's up to you, to
keep them as separate orders or update existing order, using presentationID as
PK.

Contains an order line per delivery date, option and size.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that the order belongs to)

id
required
string (Internal order identifier)



RESPONSES

200

(empty)

default

An unexpected error response.

post/v1/order/get
https://api.showroom.stitch.fashion/v1/order/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "BRAND",
 * "id": "ORDER_871a963f-56a4-4ba4-8f2f-af6ae39a9e97"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "BRAND",
 * "catalogCode": "CATALOG_123",
 * "createdAt": "2020-01-11T16:24:52Z",
 * "customerCode": "FSHN74",
 * "customerLocationCode": "FSHN74_IT171931",
 * "groupEventID": "123456789",
 * "id": "ORDER_871a963f-56a4-4ba4-8f2f-af6ae39a9e97",
 * "lines": [
    * {
       * "deliveryDropCode": "delivery_42",
       * "divisionCode": "MW12",
       * "optionCode": "4111567AB",
       * "quantity": 1,
       * "seasonCode": "SUMMER2020",
       * "sku": "4111567AB00L"
      
      },
    * {
       * "deliveryDropCode": "delivery_43",
       * "divisionCode": "MW12",
       * "optionCode": "4111567AB",
       * "quantity": 1,
       * "seasonCode": "SUMMER2020",
       * "sku": "4111567AB00XL"
      
      },
    * {
       * "deliveryDropCode": "252943b0-d69c-4420-92dd-79f174e4cdc3",
       * "divisionCode": "MW12",
       * "optionCode": "4111567AB",
       * "quantity": 1,
       * "seasonCode": "SUMMER2020",
       * "sku": "4111567AB00M"
      
      },
    * {
       * "deliveryDropCode": "2020-03-14T00:00:00Z",
       * "divisionCode": "MW12",
       * "optionCode": "FGFYELLOW2",
       * "quantity": 1,
       * "seasonCode": "SUMMER2020",
       * "sku": "FGFYELLOW20042"
      
      },
    * {
       * "deliveryDropCode": "2020-03-14T00:00:00Z",
       * "divisionCode": "MW12",
       * "optionCode": "FGFYELLOW2",
       * "quantity": 1,
       * "seasonCode": "SUMMER2020",
       * "sku": "FGFYELLOW20041"
      
      }
   
   ],
 * "orderName": "Your Selection",
 * "presentationID": "PRESENTATION_d78bc7aa-0f28-4a07-8a5a-7147b99c6b97",
 * "presentationName": "PRESENTATION Spring 2022",
 * "selectionID": "DRAFT_123455",
 * "userID": "super.name@company.com"

}



GET LIST

Get all orders after specified date. This list does not include order lines.

Empty response means no orders were created since createdAfter time. Data is in
sync. Try again later.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that the order belongs to)

createdAfter
required
string <date-time> RFC3339

Returns orders created after specified date.

Orders are returned in chronological order. This field should be used as cursor.
Selecting new orders, created after the latest order you received during
previous call.

limit
integer <int64> [ 1 .. 100 ]
Default: "100"

limits number of orders for a single request.


RESPONSES

200

(empty)

default

An unexpected error response.

post/v1/order/getList
https://api.showroom.stitch.fashion/v1/order/getList


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "BRAND",
 * "createdAfter": "2019-08-24T14:15:22Z",
 * "limit": 100

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
[
 * {
    * "brandCode": "BRAND",
    * "catalogCode": "CATALOG_123",
    * "createdAt": "2020-01-11T16:24:52Z",
    * "customerCode": "FSHN74",
    * "customerLocationCode": "FSHN74_IT171931",
    * "groupEventID": "123456789",
    * "id": "ORDER_871a963f-56a4-4ba4-8f2f-af6ae39a9e97",
    * "orderName": "Your Selection",
    * "presentationID": "PRESENTATION_d78bc7aa-0f28-4a07-8a5a-7147b99c6b97",
    * "presentationName": "PRESENTATION Spring 2022",
    * "selectionID": "DRAFT_123455",
    * "userID": "super.name@company.com"
   
   }

]



WEBHOOK


GET

Current webhook configuration

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that the webhook belongs to) non-empty



RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/webhook/get
https://api.showroom.stitch.fashion/v1/webhook/get


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
{
 * "brandCode": "BRAND"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "BRAND",
 * "headers": [
    * {
       * "name": "Authorization",
       * "values": [
          * "Bearer 123456"
         
         ]
      
      }
   
   ],
 * "skipTLSVerify": false,
 * "subscriptions": [
    * {
       * "name": "order:create",
       * "withPayload": true
      
      }
   
   ],
 * "url": "https://your-webhook-url.co/webhook"

}



SETUP

Upsert new webhook configuration. You can set up an HTTP(S) request and
subscribe to events you want to receive.

Webhook mechanism is not meant to be reliable.
To keep data consistent, you should periodically call API to check the current
state and reconcile the data.

There is no retries. Error responses are ignored.

AUTHORIZATIONS:

Bearer

REQUEST BODY SCHEMA: APPLICATION/JSON



brandCode
required
string (Brand identifier that the webhook belongs to) non-empty

headers
Array of objects (Collection of HTTP headers)

One can use this for authentication and client keys, like authorization,
client-id and client-secret, along with additional flags for ETL or proxy.

Additionaly you will receive brand and event headers with brand code and event
type respectively.

skipTLSVerify
boolean
Default: "false"

If true, TLS certificate validity check will be skiped.

Should not be used in production! If enabled the call will be made even with
self-signed or invalid certificate. Which can lead to data breach.

subscriptions
Array of objects (List of events you want to receive with additional
configuration)

url
required
string

URL address to receive your push events.

Do not store credentials in URL address! HTTP requests are often logged by nginx
so URLs like http(s)://user:password@... or ...?client_secret=PA$$WORD should
not be used.


RESPONSES

200

A successful response.

default

An unexpected error response.

post/v1/webhook/set
https://api.showroom.stitch.fashion/v1/webhook/set


REQUEST SAMPLES

 * Payload

Content type
application/json
Copy
Expand all Collapse all
{
 * "brandCode": "BRAND",
 * "headers": [
    * {
       * "name": "Authorization",
       * "values": [
          * "Bearer 123456"
         
         ]
      
      }
   
   ],
 * "skipTLSVerify": false,
 * "subscriptions": [
    * {
       * "name": "order:create",
       * "withPayload": true
      
      }
   
   ],
 * "url": "https://your-webhook-url.co/webhook"

}


RESPONSE SAMPLES

 * 200
 * default

Content type
application/json
Copy
{ }