openapi: 3.0.3 info: title: storeback-api version: 0.2.6 description: storeback-api is a test repo to poof of concept of PDP resource serving. servers: - url: https://bombas-storeback-api.global.ssl.fastly.net/v1 paths: /v1/products/{productId}: get: description: |- Returns a product by ID or by handle. 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. parameters: - name: productId in: path description: The ID or handle of the product to return. required: true schema: type: string responses: '200': description: A product object. content: application/json: schema: $ref: '#/components/schemas/BombasStorebackApiV0ModelsProduct' '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 components: schemas: BombasStorebackApiV0ModelsDetail: type: object properties: icon_handle: description: the name used to generate the silhouette icon image for a product detail example: calf type: string title: description: the title of the details / set of tech features example: Compression type: string tech: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsTech' BombasStorebackApiV0ModelsTech: type: object properties: title: description: name of the tech feature example: Seamless Toe type: string handle: description: a unique internal name used to identify the tech feature example: invisitoe type: string content: description: the copy wrote for the tech feature 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. type: string BombasStorebackApiV0ModelsPrice: type: object properties: msrp: description: The original price of the item before an adjustment or a sale. example: 100.00 type: string price: description: The price of the product variant. example: 100.00 type: string isDiscounted: description: true If the product is discounted example: false type: boolean percentOff: description: 'percentOff which is a whole number as a string, based on the percentage price is off of msrp prices. ' type: string BombasStorebackApiV0ModelsShipping: type: object properties: requires_shipping: description: This property is deprecated. Use the `requires_shipping` property on the InventoryItem resource instead. example: true type: boolean grams: description: The weight of the product variant in grams. example: 510 type: integer format: int32 weight: description: The weight of the product variant in the unit system specified with weight_unit. example: 18 type: integer format: int32 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.' example: oz type: string BombasStorebackApiV0ModelsBreadcrumb: type: object properties: name: description: The name of the breadcrumb section example: Womens type: string link: description: Pieces of a collections page url to use for link example: /collections/womens type: string position: description: Order position example: 0 type: integer format: int32 BombasStorebackApiV0ModelsProduct: 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. example: 4185052971093 type: integer format: int64 title: description: The name of the product. example: Men's Merino Tri-Block Calf Sock Gift Box type: string 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. example: mens-merino-tri-block-calf-sock-gift-box type: string description: description: A description of the product. 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. ' type: string description_html: description: A description of the product. Supports HTML formatting. 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.

type: string item_count: description: The number of units included. If it is > 1, then it is a pack. example: 8 type: integer format: int32 product_type: description: The product type example: socks type: string gender: description: The marketed gender of the products example: womens type: string colors: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsColor' sizes: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsSize' images: type: array items: type: object additionalProperties: true variants: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsVariant' breadcrumbs: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsBreadcrumb' details: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsDetail' created_at: description: The date and time (ISO 8601 format) when the product was created. example: '2012-08-24T14:01:47-04:00' type: string updated_at: description: The date and time (ISO 8601 format) when the product was last modified. example: '2012-08-24T14:01:47-04:00' type: string BombasStorebackApiV0ModelsColor: type: object properties: id: description: The slug id of the color example: white-charcoal-black type: string position: description: The order in which the color should be displayed example: 0 type: integer format: int32 name: description: The name of the color example: White charcoal black type: string fill: description: A 80x80 url of an image of the swatch to use on FE 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 type: string BombasStorebackApiV0ModelsSizeValues: type: object properties: id: description: The internal name of the size example: l type: string name: description: The visual name of the size example: l type: string guidance: description: Size related guidance for more specific examples for the user example: US Shoe Size 8-10½ type: string BombasStorebackApiV0ModelsImage: type: object properties: id: description: A unique numeric identifier for the product image. example: 8844696584277 type: integer format: int32 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. example: 1 type: integer format: int32 alt: description: ALT text example: a pair of feet with socks on them, the socks are blue type: string 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). example: https://cdn.shopify.com/s/files/1/1119/5850/products/white-charcoal-black-grid_278da800-8c13-407f-8607-28986dfc83f8.jpg?v=1571684501 type: string BombasStorebackApiV0ModelsVariant: type: object properties: id: description: The unique numeric identifier for the product variant. example: 22838940926037 type: integer format: int64 product_id: description: The unique numeric identifier for the product. example: 2642653839445 type: integer format: int64 sku: description: A unique identifier for the product variant in the shop. Required in order to connect to a FulfillmentService. example: 843629142993 type: string title: description: The title of the product variant. example: white charcoal black / m type: string is_available: description: If the variant is availabor not example: true type: boolean price: $ref: '#/components/schemas/BombasStorebackApiV0ModelsPrice' shipping: $ref: '#/components/schemas/BombasStorebackApiV0ModelsShipping' created_at: description: The date and time (ISO 8601 format) when the product was created. example: '2012-08-24T14:01:47-04:00' type: string updated_at: description: The date and time (ISO 8601 format) when the product was last modified. example: '2012-08-24T14:01:47-04:00' type: string sizes: type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsSize' BombasStorebackApiV0ModelsSize: description: A particular size options for a product type: object properties: name: description: The name of the option which this size was created from example: size type: string values: description: '' type: array items: $ref: '#/components/schemas/BombasStorebackApiV0ModelsSizeValues'