swagger: "2.0" info: title: storeback-api description: storeback-api is a test repo to poof of concept of PDP resource serving. version: dev-master host: bombas-storeback-api.global.ssl.fastly.net basePath: /v1 schemes: - https paths: /v1/products/{productId}: get: summary: Returns a product by ID or by handle. description: The following API will return a product object sanitized of private information from shopify. It should be thought of as a serializer or alturnative interface to the public shopify information per a product. produces: - application/json parameters: - in: path name: productId required: true type: string minimum: 1 description: The ID or handle of the product to return. responses: 200: description: A product object. schema: $ref: '#/definitions/Product' 400: description: The specified product ID is invalid (e.g. not a number). 404: description: A product with the specified ID was not found. default: description: Unexpected error definitions: Product: type: object properties: id: description: "An unsigned 64-bit integer that's used as a unique identifier for the product. Each id is unique across the Shopify system. No two products will have the same id, even if they're from different shops." type: integer format: int64 example: 4185052971093 title: description: "The name of the product." type: string example: "Men's Merino Tri-Block Calf Sock Gift Box" handle: description: "A unique human-friendly string for the product. Automatically generated from the product's title. Used by the Liquid templating language to refer to objects." type: string example: "mens-merino-tri-block-calf-sock-gift-box" description: description: "A description of the product." type: string example: "Purpose-built for running, working out and movement. Bombas Hex Tec construction for breathability and moisture-wicking. Proprietary cotton-poly blend yarns. With comfort innovations like strategic zone cushioning and airflow ventilation. Specially designed to help you move with grace and speed. Included is a Bombas Hex Tec Sock Bag, designed to keep your socks organized and away from the rest of your stuff or to just put some of your favorite belongings in after an intense workout. " description_html: description: "A description of the product. Supports HTML formatting." type: string example: "
Purpose-built for running, working out and movement. Bombas Hex Tec construction for breathability and moisture-wicking. Proprietary cotton-poly blend yarns. With comfort innovations like strategic zone cushioning and airflow ventilation. Specially designed to help you move with grace and speed.
Included is a Bombas Hex Tec Sock Bag, designed to keep your socks organized and away from the rest of your stuff or to just put some of your favorite belongings in after an intense workout.
" item_count: description: "The number of units included. If it is > 1, then it is a pack." type: integer example: 8 product_type: description: "The product type" type: string example: "socks" gender: description: "The marketed gender of the products" type: string example: "womens" colors: type: array items: $ref: '#/definitions/Color' sizes: type: array items: $ref: '#/definitions/Size' images: type: array items: type: object properties: color: description: "The color name of the images" type: string example: "white" images: type: array items: $ref: '#/definitions/Image' variants: type: array items: $ref: '#/definitions/Variant' breadcrumbs: type: array items: $ref: '#/definitions/Breadcrumb' details: type: array items: $ref: '#/definitions/Detail' created_at: description: "The date and time (ISO 8601 format) when the product was created." type: string example: "2012-08-24T14:01:47-04:00" updated_at: description: "The date and time (ISO 8601 format) when the product was last modified." type: string example: "2012-08-24T14:01:47-04:00" Size: description: "A particular size options for a product" type: object properties: name: description: "The name of the option which this size was created from" type: string example: "size" values: description: "" type: array items: $ref: '#/definitions/SizeValues' SizeValues: type: object properties: id: description: "The internal name of the size" type: string example: "l" name: description: "The visual name of the size" type: string example: "l" guidance: description: "Size related guidance for more specific examples for the user" type: string example: "US Shoe Size 8-10½" Color: type: object properties: id: description: "The slug id of the color" type: string example: "white-charcoal-black" position: description: "The order in which the color should be displayed" type: integer example: 0 name: description: "The name of the color" type: string example: "White charcoal black" fill: description: "A 80x80 url of an image of the swatch to use on FE" type: string example: "https://assets.bombas.com/image/fetch/f_auto,q_auto/https://cdn.shopify.com/s/files/1/1119/5850/files/swatch_performance-running-white-charcoal-black_80x80.png" Variant: type: object properties: id: description: "The unique numeric identifier for the product variant." type: integer format: int64 example: 22838940926037 product_id: description: "The unique numeric identifier for the product." type: integer format: int64 example: 2642653839445 sku: description: "A unique identifier for the product variant in the shop. Required in order to connect to a FulfillmentService." type: string example: "843629142993" title: description: "The title of the product variant." type: string example: "white charcoal black / m" is_available: description: "If the variant is availabor not" type: boolean example: true price: $ref: '#/definitions/Price' shipping: $ref: '#/definitions/Shipping' created_at: description: "The date and time (ISO 8601 format) when the product was created." type: string example: "2012-08-24T14:01:47-04:00" updated_at: description: "The date and time (ISO 8601 format) when the product was last modified." type: string example: "2012-08-24T14:01:47-04:00" sizes: type: array items: $ref: '#/definitions/Size' Shipping: type: object properties: requires_shipping: description: "This property is deprecated. Use the `requires_shipping` property on the InventoryItem resource instead." type: boolean example: true grams: description: "The weight of the product variant in grams." type: integer example: 510 weight: description: "The weight of the product variant in the unit system specified with weight_unit." type: integer example: 18 weight_unit: description: "The unit of measurement that applies to the product variant's weight. If you don't specify a value for weight_unit, then the shop's default unit of measurement is applied. Valid values: g, kg, oz, and lb." type: string example: "oz" Breadcrumb: type: object properties: name: description: "The name of the breadcrumb section" type: string example: "Womens" link: description: "Pieces of a collections page url to use for link" type: string example: "/collections/womens" position: description: "Order position" type: integer example: 0 Image: type: object properties: id: description: "A unique numeric identifier for the product image." type: integer example: 8844696584277 position: description: "The order of the product image in the list. The first product image is at position 1 and is the 'main' image for the product." type: integer example: 1 alt: description: "ALT text" type: string example: "a pair of feet with socks on them, the socks are blue" src: description: "Specifies the location of the product image. This parameter supports URL filters that you can use to retrieve modified copies of the image. For example, add _small, to the filename to retrieve a scaled copy of the image at 100 x 100 px (for example, ipod-nano_small.png), or add _2048x2048 to retrieve a copy of the image constrained at 2048 x 2048 px resolution (for example, ipod-nano_2048x2048.png)." type: string example: "https://cdn.shopify.com/s/files/1/1119/5850/products/white-charcoal-black-grid_278da800-8c13-407f-8607-28986dfc83f8.jpg?v=1571684501" Price: type: object properties: msrp: description: "The original price of the item before an adjustment or a sale." type: string example: "100.00" price: description: "The price of the product variant." type: string example: "100.00" isDiscounted: description: "true If the product is discounted" type: boolean example: false percentOff: description: "percentOff which is a whole number as a string, based on the percentage price is off of msrp prices. " type: string example: null Detail: type: object properties: icon_handle: description: "the name used to generate the silhouette icon image for a product detail" type: string example: "calf" title: description: "the title of the details / set of tech features" type: string example: "Compression" tech: type: array items: $ref: '#/definitions/Tech' Tech: type: object properties: title: description: "name of the tech feature" type: string example: "Seamless Toe" handle: description: "a unique internal name used to identify the tech feature" type: string example: "invisitoe" content: description: "the copy wrote for the tech feature" type: string example: "We took the extra time to link the final seam on every pair of socks carefully by hand, creating a fully-smooth sock with no annoying bump."