openapi: 3.0.3
info:
  title: gilt-public-api
  version: 1.0.1
  description: 'Gilt Public API: dev.gilt.com'
servers:
- url: https://api.gilt.com/v1
paths:
  /products/categories.json:
    get:
      parameters:
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsProductCategories'
  /products/{productId}/detail.json:
    get:
      parameters:
      - name: productId
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsProduct'
  /sales/active.json:
    get:
      parameters:
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsSaleList'
  /sales/upcoming.json:
    get:
      parameters:
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsSaleList'
  /sales/{store}/active.json:
    get:
      parameters:
      - name: store
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsSaleList'
  /sales/{store}/upcoming.json:
    get:
      parameters:
      - name: store
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsSaleList'
  /sales/{store}/{saledetail}:
    get:
      parameters:
      - name: store
        in: path
        required: true
        schema:
          $ref: '#/components/schemas/ComGiltPublicApiEnumsStore'
      - name: sale
        in: path
        required: true
        schema:
          type: string
      - name: apikey
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComGiltPublicApiModelsSaleDetail'
components:
  schemas:
    ComGiltPublicApiModelsSku:
      type: object
      required:
      - id
      - inventory_status
      - msrp_price
      - sale_price
      - attributes
      properties:
        id:
          description: The SKU unique identifier
          type: integer
          format: int64
        inventory_status:
          description: 'Describes product availability. One of: sold out, for sale
            or reserved.'
          type: string
        msrp_price:
          description: MSRP price of SKU in US Dollars.
          type: number
        sale_price:
          description: Sale price of SKU in US Dollars.
          type: number
        shipping_surcharge:
          description: If absent, standard Gilt.com shipping policy and any resulting
            charges apply. If present, standard shipping charge is overridden by amount
            listed here in US Dollars.
          type: number
        attributes:
          description: SKU attributes like color and size.
          type: array
          items:
            type: object
            additionalProperties: true
    ComGiltPublicApiModelsProductCategories:
      type: object
      required:
      - categories
      properties:
        categories:
          description: A list of categories to which this product belongs.
          type: array
          items:
            type: string
    ComGiltPublicApiModelsSaleList:
      type: object
      required:
      - sales
      properties:
        sales:
          description: List of sales.
          type: array
          items:
            $ref: '#/components/schemas/ComGiltPublicApiModelsSaleDetail'
    ComGiltPublicApiModelsProductContent:
      type: object
      properties:
        description:
          description: Product description.
          type: string
        fit_notes:
          description: Sizing information.
          type: string
        material:
          description: Materials list.
          type: string
        care_instructions:
          description: Additional care information.
          type: string
        origin:
          description: Place of manufacture.
          type: string
    ComGiltPublicApiModelsProduct:
      type: object
      required:
      - name
      - product
      - id
      - brand
      - url
      - content
      - categories
      - image_urls
      - skus
      properties:
        name:
          description: Product name
          type: string
        product:
          description: URL to product object
          type: string
        id:
          description: Unique identifier for product
          type: integer
          format: int64
        brand:
          description: Brand name
          type: string
        url:
          description: Link to product detail page where item can be purchased
          type: string
        content:
          $ref: '#/components/schemas/ComGiltPublicApiModelsProductContent'
        categories:
          description: A list of categories to which this product belongs.
          type: array
          items:
            type: string
        image_urls:
          description: A map of key/value pairs with the key being the image resolution
            WIDTHxHEIGHT and the value being an array of image objects.
          type: object
          additionalProperties: true
        skus:
          description: List of Skus
          type: array
          items:
            $ref: '#/components/schemas/ComGiltPublicApiModelsSku'
    ComGiltPublicApiModelsSaleDetail:
      type: object
      required:
      - name
      - sale
      - sale_key
      - store
      - sale_url
      - begins
      - image_urls
      properties:
        name:
          description: Sale name
          type: string
        sale:
          description: URL to single sale object
          type: string
        sale_key:
          description: unique identifier for sale
          type: string
        store:
          $ref: '#/components/schemas/ComGiltPublicApiEnumsStore'
          description: Store key
        description:
          description: A description of the sale's theme or brand
          type: string
        sale_url:
          description: Permalink to sale website
          type: string
        begins:
          description: ISO8601-formatted time for beginning of sale
          type: string
          format: date-time
        ends:
          description: ISO-8601-formatted time for end of sale
          type: string
          format: date-time
        image_urls:
          description: A map of key/value pairs with the key being the image resolution
            WIDTHxHEIGHT and the value being an array of image objects.
          type: object
          additionalProperties: true
        products:
          description: List of URLs to individual product objects (not available if
            sale is upcoming or sold out)
          type: array
          items:
            type: string
    ComGiltPublicApiEnumsStore:
      description: 'Gilt.com is divided into stores. Currently there are four stores
        exposed by the API: Women, Men, Baby & Kids and Home.'
      type: string
      enum:
      - women
      - men
      - kids
      - home
