> ## Documentation Index
> Fetch the complete documentation index at: https://developer.fabric.inc/llms.txt
> Use this file to discover all available pages before exploring further.

# Get single product details

> Gets the details for a specified product.



## OpenAPI

````yaml marketplace get /v1/retailers/{retailer_pk}/products/{id}/
openapi: 3.0.1
info:
  title: Dropship
  version: 1.0.0
  description: >-
    fabric Dropship is a simple, intuitive, dropship platform built for business
    users. It offers easy integration with Shopify, BigCommerce, or existing
    stacks; supports retailer onboarding; and offers dedicated vendor onboarding
    support.  With fabric Dropship, you can connect with new vendors with no
    inventory risk; offer extended aisles of products; expand assortments with
    existing vendors; test new categories, SKUs, and price points; explore brand
    partnerships; and increase marketing and search opportunities. Using
    dropshipping effectivity can fuel data-driven merchandising decisions,
    maximizing margin and customer experience.  Dropship assortment strategies
    enable you to: <br /> 1) Cross-sell and upsell to raise your average order
    value <br /> 2) Offer substitute products to supplement out-of-stock
    inventory <br /> 3) Capitalize on fast-moving market trends with readily
    sourceable products <br /> 4) Test and validate new products, brands, and
    categories before manufacturing or placing POs <br /> 5) Add depth to your
    existing product assortment with variations and endless aisles <br /> 6)
    Offer seasonal products without the risking of over-buying or unhealthy
    inventory.
  contact:
    email: support@fabric.inc
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
servers:
  - url: https://marketplace-api.fabric.inc
security:
  - Bearer: []
externalDocs:
  description: Find out more about Dropship
  url: https://developer.fabric.inc/docs/marketplace-suppliers-overview
paths:
  /v1/retailers/{retailer_pk}/products/{id}/:
    get:
      tags:
        - Products
      summary: Get single product details
      description: Gets the details for a specified product.
      operationId: v1_retailers_products_read
      parameters:
        - name: id
          in: path
          description: Product ID
          required: true
          schema:
            type: integer
          example: 12421
        - name: retailer_pk
          in: path
          required: true
          schema:
            type: number
          example: 1057
          description: Retailer ID
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductWithAttributes'
components:
  schemas:
    ProductWithAttributes:
      type: object
      properties:
        id:
          description: product ID
          example: 2863
          type: integer
          readOnly: true
        parent_identifier:
          description: ID of parent product
          example: 1000-BL
          minLength: 1
          type: string
          readOnly: true
        parent_name:
          description: Parent name
          example: T-Shirt, Blue
          minLength: 1
          type: string
          readOnly: true
        description:
          description: Product description
          example: null
          type: string
          nullable: true
        brand:
          $ref: '#/components/schemas/BrandMini'
        brand_category:
          description: Brand category
          example: null
          maxLength: 64
          minLength: 1
          type: string
          nullable: true
        brand_name:
          description: Brand name
          example: null
          maxLength: 64
          minLength: 1
          type: string
          nullable: true
        manufacturer:
          $ref: '#/components/schemas/ManufacturerShort'
        num_variants:
          description: Number of variants
          example: 1
          type: integer
          readOnly: true
        variants:
          $ref: '#/components/schemas/VariantShort'
        media:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/VariantImage'
        rcn_status:
          description: Status of product in Dropship network
          example: not_published
          type: string
          enum:
            - not_published
            - pending
            - failed
            - expired
            - published
        primary_media:
          $ref: '#/components/schemas/ProductImage'
        pivot_attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeOnly'
        taxonomy:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Taxonomy'
        revcascade_taxonomy:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Taxonomy'
        attributes:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Attribute'
        last_published:
          $ref: '#/components/schemas/ProductPublishingHistory'
        created_at:
          description: Time of product creation in Dropship
          example: '2022-08-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        updated_at:
          description: Time of when product was last updated in Dropship
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    BrandMini:
      required:
        - code
      type: object
      properties:
        id:
          description: Vendor ID
          example: 456
          type: integer
          readOnly: true
        code:
          description: Vendor code. Same as vendor name in lower case and hyphenated
          example: marla-store
          maxLength: 64
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
          format: slug
        name:
          description: Vendor name
          example: Marla Store
          maxLength: 64
          minLength: 1
          type: string
    ManufacturerShort:
      required:
        - code
      type: object
      properties:
        id:
          description: Manufacturer ID
          example: 6775
          type: integer
          readOnly: true
        name:
          description: Manufacturer name
          example: Manu Sample UIO
          maxLength: 64
          minLength: 1
          type: string
        code:
          description: Manufacturer code
          example: manu_sample_uio
          maxLength: 32
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
          format: slug
        logo_url:
          description: URL of manufacturer's logo
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          minLength: 1
          type: string
          format: uri
          readOnly: true
        cover_url:
          description: URL of manufacturer's cover image
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          minLength: 1
          type: string
          format: uri
          readOnly: true
        profile_tile_url:
          description: URL of manufacturer's profile image
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          minLength: 1
          type: string
          format: uri
          readOnly: true
        uuid:
          description: A universally unique identifier (UUID)
          maxLength: 36
          type: string
        website:
          description: URL of manufacturer website
          example: https://assets.demo.com
          maxLength: 100
          type: string
          format: uri
          nullable: true
    VariantShort:
      type: object
      properties:
        id:
          description: Variant ID
          example: 100024
          type: integer
          readOnly: true
        name:
          description: Variant Name
          example: T-Shirt, Blue, L
          maxLength: 200
          type: string
          nullable: true
        brand:
          $ref: '#/components/schemas/BrandShort'
        brand_identifier:
          description: Unique SKU assigned by the Brand
          example: 1000-BL-L
          minLength: 1
          type: string
          readOnly: true
        identifier:
          description: >-
            Identifier assigned by the retailer (if set). Otherwise, returns the
            unique SKU assigned by the Brand.
          example: '5000001'
          maxLength: 128
          type: string
          nullable: true
        upc:
          description: UPC or other GTIN
          example: 9119119111
          maxLength: 64
          type: string
        cartons:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Carton'
        color:
          description: Color of the item (from attributes.color)
          example: Red
          maxLength: 128
          type: string
          nullable: true
        style:
          description: Style of the item (will be the same value as attributes.style)
          example: Print
          maxLength: 128
          type: string
          nullable: true
        size:
          description: Size of the item (will be the same value as attributes.size)
          example: Large
          maxLength: 128
          type: string
          nullable: true
        media:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/VariantImage'
        attributes:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Attribute'
        ruleset_variants:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/RulesetVariant'
        ruleset_variant_summary:
          description: Number of items that are passed and failed in rule validation.
          example: '21'
          type: string
          readOnly: true
        active_permit:
          $ref: '#/components/schemas/Permit'
        permits:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Permit'
        is_compatible:
          description: >-
            true: variant meets requirement <br /> false: variant doesn not meet
            requirement
          example: true
          type: boolean
          readOnly: true
        proposal_variant:
          $ref: '#/components/schemas/ProposalVariant'
        retailer_identifiers:
          $ref: '#/components/schemas/RetailerIdentifier'
        retailer_categories:
          $ref: '#/components/schemas/RetailerCategory'
        inventory:
          $ref: '#/components/schemas/InventoryBase'
    VariantImage:
      type: object
      properties:
        id:
          description: Variant ID
          example: 249
          type: integer
          readOnly: true
        width:
          description: Width of variant image
          example: 100
          maximum: 2147483647
          minimum: -2147483648
          type: integer
          nullable: true
        height:
          description: Height of variant image
          example: 100
          maximum: 2147483647
          minimum: -2147483648
          type: integer
          nullable: true
        media:
          description: Variant images
          example: default
          type: string
          readOnly: true
        priority:
          description: >-
            Order in which the vendor prefers the images to be shown image 1 is
            shown first.
          example: 1
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        url:
          description: URL of variant image
          example: 192.168.99.100/media/default/original
          type: string
          readOnly: true
        updated_at:
          description: Time of variant image update (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        created_at:
          description: Time of variant image creation (UTC format)
          example: '2022-08-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    ProductImage:
      type: object
      properties:
        id:
          description: Product image ID
          example: 567
          type: integer
          readOnly: true
        width:
          description: Product image width
          example: 1
          maximum: 2147483647
          minimum: -2147483648
          type: integer
          nullable: true
        height:
          description: Product image height
          example: 1
          maximum: 2147483647
          minimum: -2147483648
          type: integer
          nullable: true
        media:
          description: Product image media
          type: string
          readOnly: true
        priority:
          description: Image priority
          example: 2
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        url:
          description: Product image URL
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          type: string
          readOnly: true
        updated_at:
          description: Time of when product image was last updated
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        created_at:
          description: Time of product image creation
          example: '2022-08-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    AttributeOnly:
      required:
        - code
        - name
        - type
      type: object
      properties:
        id:
          description: Attribute ID
          example: 5463
          type: integer
          readOnly: true
        code:
          description: Attribute code
          example: sample_code
          maxLength: 200
          minLength: 1
          type: string
        name:
          description: Attribute name
          example: Sample Code
          maxLength: 200
          minLength: 1
          type: string
        grouping:
          description: Criteria to group attribute
          example: inventory
          type: string
          nullable: true
          enum:
            - description
            - general
            - images
            - inventory
            - misc
            - retailer
            - shipping
            - identifiers
            - pricing
        priority:
          description: Attribute priority
          example: 2
          maximum: 4294967295
          minimum: 0
          type: integer
        description:
          description: Attribute description
          type: string
          nullable: true
        editable_by:
          description: User who can edit attribute
          example: Brand
          type: string
          nullable: true
          enum:
            - retailer
            - brand
            - any
            - none
        type:
          description: Attribute type
          example: boolean
          type: string
          enum:
            - boolean
            - date
            - list
            - media
            - money
            - number
            - percent
            - string
            - text
            - url
        units:
          description: Unity based on *type*
          maxLength: 32
          type: string
          nullable: true
        default_unit:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Unit'
        available_units:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Unit'
        is_bulk_editable:
          description: >-
            true: allow bulk edit of attributes <br /> false: bulk edit of
            attributes are not allowed
          example: true
          type: boolean
    Taxonomy:
      required:
        - code
      type: object
      properties:
        id:
          description: Taxonomy ID
          example: 4564
          type: integer
          readOnly: true
        name:
          description: Taxonomy name
          example: Sample Taxonomy
          maxLength: 64
          minLength: 1
          type: string
        code:
          description: Taxonomy code
          example: sample_taxonomy
          maxLength: 32
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
          format: slug
        thumbnail_url:
          description: URL for thumbnail image
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          minLength: 1
          type: string
          format: uri
          readOnly: true
        number_of_children:
          description: Number of children
          example: '2'
          type: string
          readOnly: true
        pivot_attributes:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AttributeOnly'
        visible_attributes:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/AttributeOnly'
    Attribute:
      required:
        - code
        - name
        - type
      type: object
      properties:
        id:
          description: Attribute ID
          example: 44
          type: integer
          readOnly: true
        code:
          description: Attribute code
          example: size
          maxLength: 200
          minLength: 1
          type: string
        name:
          description: Attribute name
          example: Size
          maxLength: 200
          minLength: 1
          type: string
        editable_by:
          description: User permission to edit attribute
          example: brand
          type: string
          nullable: true
          enum:
            - retailer
            - brand
            - any
            - none
        grouping:
          description: Criteria to group attribute
          example: general
          type: string
          nullable: true
          enum:
            - description
            - general
            - images
            - inventory
            - misc
            - retailer
            - shipping
            - identifiers
            - pricing
        description:
          description: Attribute description
          example: demo product description
          type: string
          nullable: true
        type:
          description: Attribute type
          example: money
          type: string
          enum:
            - boolean
            - date
            - list
            - media
            - money
            - number
            - percent
            - string
            - text
            - url
        units:
          description: >-
            Unit of the selected attribute **type**. If the attribute type is
            money, the unit is USD.
          example: USD
          maxLength: 32
          type: string
          nullable: true
        values:
          $ref: '#/components/schemas/AttributeValue'
    ProductPublishingHistory:
      type: object
      properties:
        id:
          description: Product ID
          example: 5677
          type: integer
          readOnly: true
        platform_account:
          $ref: '#/components/schemas/PlatformAccount'
        product:
          $ref: '#/components/schemas/ProductShort'
        success:
          description: 'true: product published <br /> false: product is not published'
          example: true
          type: boolean
        message:
          description: Message added while publishing, for future reference
          example: Sample message as a note
          type: string
          nullable: true
        created_at:
          description: Time of creation
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    BrandShort:
      required:
        - code
      type: object
      properties:
        id:
          description: Vendor (brand) ID
          example: 500
          type: integer
          readOnly: true
        name:
          description: Vendor name
          example: Marla Cielo
          maxLength: 64
          minLength: 1
          type: string
        code:
          description: Vendor code, which is vendor name in lower case and underscore
          example: demo-brand
          maxLength: 64
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
          format: slug
        joined_at:
          description: Time when vendor joined Dropship (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        logo_url:
          description: URL of the brand logo
          example: https://images.revcascade.com/retailers/defaults/logo-lg.png
          minLength: 1
          type: string
          format: uri
          readOnly: true
        cover_url:
          description: URL of the cover image
          example: https://images.revcascade.com/retailers/defaults/cover.png
          minLength: 1
          type: string
          format: uri
          readOnly: true
        profile_tile_url:
          description: URL of the profile image
          example: https://images.revcascade.com/retailers/defaults/profile-tile.png
          minLength: 1
          type: string
          format: uri
          readOnly: true
        website:
          description: URL of brand website
          example: null
          maxLength: 100
          type: string
          format: uri
          nullable: true
        is_onboarded:
          description: 'true: Vendor is onboarded <br /> false: Vendor is not onboarded'
          example: false
          type: boolean
          readOnly: true
        is_on_rcn:
          description: 'true: is on Dropship network <br /> false: not on Dropship network'
          example: false
          type: boolean
        requires_subscription:
          description: Represents whether subscription is required
          example: enabled
          type: string
          enum:
            - disabled
            - enabled
            - upcoming
        subscription_expires_at:
          description: Subscription expiry Time (UTC format)
          example: '2024-09-19T13:32:10Z'
          type: string
          format: date-time
          nullable: true
        grace_period_ends_at:
          description: Time of grace period expiration (UTC format)
          example: '2024-10-26T13:32:10Z'
          type: string
          format: date-time
          nullable: true
        subscription_is_expired:
          description: 'true: subscription is expired <br /> false: subscription is active'
          example: false
          type: boolean
          readOnly: true
        subscription_is_on_grace_period:
          description: >-
            true: subscription is on grace period <br /> false: subscription is
            not on grace period
          example: false
          type: boolean
          readOnly: true
        subscription_is_delinquent:
          description: 'true: subscription is overdue <br /> false: subscription is paid'
          example: false
          type: boolean
          readOnly: true
        inventory_policy:
          description: Inventory policy
          example: managed
          type: string
          enum:
            - unmanaged
            - managed
            - use_variant_policy
        status:
          description: Vendor status
          example: active
          type: string
          enum:
            - active
            - pending
            - inactive
    Carton:
      type: object
      properties:
        id:
          description: Carton ID
          example: 48
          type: integer
          readOnly: true
        number:
          description: Carton number
          example: 1
          maximum: 2147483647
          minimum: -2147483648
          type: integer
        length:
          description: Carton length
          example: '1'
          type: string
          format: decimal
          nullable: true
        length_unit:
          description: Unit of length
          example: '1'
          type: string
          readOnly: true
        width:
          description: Carton width
          example: '1'
          type: string
          format: decimal
          nullable: true
        width_unit:
          description: Unit of width
          example: meter
          type: string
          readOnly: true
        height:
          description: Carton height
          example: '1'
          type: string
          format: decimal
          nullable: true
        height_unit:
          description: Unit of height
          example: meter
          type: string
          readOnly: true
        weight:
          description: Carton weight
          example: '15'
          type: string
          format: decimal
          nullable: true
        weight_unit:
          description: Unit of weight
          example: KG
          type: string
          readOnly: true
        package_girth_inches:
          description: Girth of the package, in inches
          example: '1'
          type: string
          readOnly: true
        package_size_inches:
          description: Size of the package, in inches
          example: '1'
          type: string
          readOnly: true
    RulesetVariant:
      type: object
      properties:
        id:
          description: ID of ruleset variant
          example: 1232
          type: integer
          readOnly: true
        status:
          description: Status of ruleset variant
          example: processing
          type: string
          enum:
            - processing
            - passed
            - failed
        ruleset:
          $ref: '#/components/schemas/RulesetVariant'
        results:
          description: Response
          type: string
        created_at:
          description: Time of creation (UTC format)
          example: '2022-08-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        updated_at:
          description: Time of last update (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    Permit:
      type: object
      properties:
        id:
          description: Permit ID
          example: 10104
          type: integer
          readOnly: true
        retailer:
          $ref: '#/components/schemas/RetailerShort'
        retailer_price:
          description: Retailer price of the variant
          example: '12.99'
          type: string
          format: decimal
          nullable: true
        retailer_cost:
          description: Retailer cost of variant
          example: '8.99'
          type: string
          format: decimal
          nullable: true
        pricing:
          type: object
          properties: {}
        attributes:
          type: object
          properties: {}
        start_at:
          description: Time of permit start (UTC format)
          example: '2021-09-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
        end_at:
          description: Time of permit end (UTC format)
          example: '2024-09-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
        is_in_effect:
          description: 'true: permit is in effect <br /> false: permit is not in effect'
          example: true
          type: boolean
          readOnly: true
        revoked_at:
          description: Time when permit got revoked (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
        is_acknowledged:
          description: >-
            true: permit is acknowledged <br /> false: permit is not
            acknowledged
          example: true
          type: boolean
          readOnly: true
        acknowledged_at:
          description: Time of acknowledgement (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
    ProposalVariant:
      type: object
      properties:
        id:
          description: Proposal variant ID
          example: 3456
          type: integer
          readOnly: true
        pricing:
          description: Pricing of variant
          example: '12.00'
          type: string
          readOnly: true
        attributes:
          type: array
          items:
            $ref: '#/components/schemas/AttributeValue'
        memos:
          type: array
          items:
            $ref: '#/components/schemas/Memo'
        issues:
          type: array
          items:
            $ref: '#/components/schemas/IssueElementOnly'
          readOnly: true
        variant_id:
          description: Variant ID
          example: 249
          type: integer
          readOnly: true
        approved_at:
          description: Time of approval (UTC format)
          example: '2022-10-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
        created_at:
          description: Time of creation (UTC format)
          example: '2022-07-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        updated_at:
          description: Time of last update (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        rejected_at:
          description: Time of proposal rejection (UTC format)
          example: null
          type: string
          format: date-time
          nullable: true
        reject_reason:
          description: Rejection reason
          example: Incomplete
          maxLength: 32
          type: string
          nullable: true
        reject:
          description: 'true: proposal is rejected <br /> false: proposal is not rejected'
          example: true
          type: boolean
        approve:
          description: 'true: proposal is approved <br /> false: proposal is not approved'
          example: false
          type: boolean
        delete:
          description: 'true: proposal is deleted <br /> false: proposal is not deleted'
          example: false
          type: boolean
    RetailerIdentifier:
      type: object
      properties:
        id:
          description: Retailer ID
          example: 5642
          type: integer
          readOnly: true
        retailer:
          $ref: '#/components/schemas/RetailerShort'
        identifier:
          description: Stock Keeping Unit (SKU), unique identifier of a product
          example: SKU976
          maxLength: 256
          type: string
          nullable: true
        name:
          description: Retailer name
          example: Retailer Sample
          maxLength: 256
          type: string
          nullable: true
    RetailerCategory:
      required:
        - category
      type: object
      properties:
        id:
          description: Retailer category ID
          example: 453
          type: integer
          readOnly: true
        retailer:
          $ref: '#/components/schemas/RetailerShort'
        category:
          description: Category name
          example: CategoryANC
          maxLength: 256
          minLength: 1
          type: string
    InventoryBase:
      required:
        - brand_inventory_updated_at
        - estimated_availability_date
        - inventory_last_submitted_at
        - inventory_updated_at
        - sellable_updated_at
      type: object
      properties:
        discontinued:
          description: 'true: Product is discontinued <br /> false: Product is active'
          example: true
          type: boolean
          readOnly: true
        discontinued_updated_at:
          description: Time of when product inventory was discontinued (UTC format)
          example: null
          type: string
          format: date-time
          readOnly: true
        inventory:
          description: Inventory of variant
          example: 0
          type: integer
          readOnly: true
        inventory_updated_at:
          description: Time of inventory update (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
        inventory_last_submitted_at:
          description: Time of inventory submit (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
        brand_inventory_updated_at:
          description: Time of vendor inventory update (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
        sellable:
          description: 'yes: Variant is sellable <br /> No: Variant is not sellable'
          example: 'No'
          type: string
          readOnly: true
        sellable_updated_at:
          description: Time when product or variant was marked sellable (UTC format)
          example: '2022-11-10T15:24:56Z'
          type: string
          format: date-time
        replenishable:
          description: >-
            true: product is replenishable <br /> false: product is not
            replenishable
          example: true
          type: boolean
          readOnly: true
        estimated_availability_date:
          description: Estimated delivery date (UTC format)
          example: '2022-09-10T15:24:56Z'
          minLength: 1
          type: string
        locations:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/InventoryLocation'
    Unit:
      type: object
      properties:
        id:
          description: Unit ID
          example: 677
          type: integer
          readOnly: true
        name:
          description: Unit name
          example: Sample unit
          minLength: 1
          type: string
          readOnly: true
        standard_unit:
          description: Standard unit
          minLength: 1
          type: string
          readOnly: true
        type:
          description: Unit type
          example: cost
          type: string
          readOnly: true
          enum:
            - area
            - distance
            - energy
            - speed
            - temperature
            - time
            - volume
            - weight
            - cost
        system:
          description: Unit system
          example: metric
          type: string
          nullable: true
          enum:
            - metric
            - imperial
        symbol:
          description: Unit symbol
          example: USD
          maxLength: 5
          type: string
          nullable: true
    AttributeValue:
      type: object
      properties:
        id:
          description: Attribute value ID
          type: integer
          readOnly: true
        value:
          description: Attribute value
          type: string
          x-nullable: true
        unit:
          $ref: '#/components/schemas/Unit'
        retailer:
          $ref: '#/components/schemas/RetailerShort'
        updated_at:
          description: Time of update
          type: string
          format: date-time
          x-nullable: true
        created_at:
          description: Time of creation
          type: string
          format: date-time
          readOnly: true
    PlatformAccount:
      type: object
      properties:
        id:
          description: Platform account ID
          example: 678
          type: integer
          readOnly: true
        platform:
          description: Platform name
          example: Sample Platform
          type: string
          readOnly: true
        retailer:
          description: Retailer name
          example: Retailer XU
          type: string
          readOnly: true
        brand:
          description: Brand name
          example: Brand XU
          type: string
          readOnly: true
        credentials:
          description: Credentials to use account
          example: sample1
          type: string
          readOnly: true
    ProductShort:
      required:
        - identifier
      type: object
      properties:
        id:
          description: Product ID
          example: 5678
          type: integer
          readOnly: true
        name:
          description: Product name
          example: Sample Product AYX
          maxLength: 200
          type: string
          nullable: true
        identifier:
          description: Stock Keeping Unit (SKU), unique identifier of a product
          example: SKU978
          maxLength: 128
          minLength: 1
          type: string
        brand:
          $ref: '#/components/schemas/BrandMini'
        brand_category:
          description: Brand category
          example: Category 78
          maxLength: 64
          minLength: 1
          type: string
          nullable: true
        brand_name:
          description: Brand name
          example: Sample Brand
          maxLength: 64
          minLength: 1
          type: string
          nullable: true
        parent_identifier:
          description: Parent identifier
          example: Main-1
          minLength: 1
          type: string
          readOnly: true
        parent_name:
          description: Parent name
          example: Main Sample
          minLength: 1
          type: string
          readOnly: true
        description:
          description: Product description
          example: Sample description of product
          type: string
          nullable: true
        rcn_status:
          description: Status of product in Dropship
          example: pending
          type: string
          enum:
            - not_published
            - pending
            - failed
            - expired
            - published
        published_at:
          description: Time of when product was first published
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
        expires_at:
          description: Time of expiry (UTC format)
          example: '2022-11-10T15:24:56Z'
          type: string
          format: date-time
          nullable: true
        primary_media:
          $ref: '#/components/schemas/ProductImage'
        pricing:
          description: Product pricing
          example: '12.00'
          type: string
          readOnly: true
        num_variants:
          description: Number of product variants
          example: 2
          type: integer
          readOnly: true
        created_at:
          description: Time of product creation in Dropship
          example: '2022-07-10T15:24:56Z'
          type: string
          readOnly: true
        updated_at:
          description: Time of when product was last updated in Dropship
          example: '2022-08-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    RetailerShort:
      required:
        - code
        - name
      type: object
      properties:
        id:
          description: Retailer ID
          example: 500
          type: integer
          readOnly: true
        name:
          description: Retailer name
          example: Demo Retailer
          maxLength: 64
          minLength: 1
          type: string
        code:
          description: Retailer code, which is retailer name in lower case and hyphenated
          example: demo-retailer
          maxLength: 32
          minLength: 1
          pattern: ^[-a-zA-Z0-9_]+$
          type: string
          format: slug
        logo_url:
          description: URL of retailer logo
          example: >-
            https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/logo-lg.png
          minLength: 1
          type: string
          format: uri
          readOnly: true
        cover_url:
          description: URL of retailer cover image
          example: >-
            https://images.sampke.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/cover.jpg
          minLength: 1
          type: string
          format: uri
          readOnly: true
        profile_tile_url:
          description: URL of retailer profile image
          example: >-
            https://images.demo.com/retailers/5ef41f6c-3361-40b7-86ce-ecd79c52e9a2/store/profile-tile.jpg
          minLength: 1
          type: string
          format: uri
          readOnly: true
        joined_at:
          description: Time of retailer joining Dropship (UTC format)
          example: '2021-08-03T17:24:12Z'
          type: string
          format: date-time
          readOnly: true
        is_rcn_retailer:
          description: >-
            true: Retailer is in Dropship network; Retailer is not in Dropship
            network
          example: false
          type: boolean
        is_onboarded:
          description: 'true: Retailer is onboarded <br /> false: Retailer is not onboarded'
          example: false
          type: boolean
        platform:
          description: Platform on which retailer is onboarded
          example: fabric
          type: string
          enum:
            - fabric
        requires_subscription:
          description: Represent whether retailer requires subscription to use the platform
          example: disabled
          type: string
          enum:
            - disabled
            - enabled
            - upcoming
        brand_permit_creation_allowed:
          description: >-
            true: Platform allows creation of brand permit <br /> false:
            Platform doesn't require creation of brand permit
          example: false
          type: boolean
        website:
          description: Website URL
          example: https://demoabc.com
          maxLength: 100
          type: string
          format: uri
          nullable: true
        status:
          description: Retailer status
          example: active
          type: string
          enum:
            - active
            - setup
            - ghost
    Memo:
      type: object
      properties:
        id:
          description: Memo ID
          example: 1234
          type: integer
          readOnly: true
        text:
          description: Memo text
          example: Immediate requirement
          type: string
        visibility:
          description: Memo visibility
          example: any
          type: string
          enum:
            - any
            - retailer
            - brand
        acknowledged_at:
          description: Time memo acknowledgement (UTC format)
          example: '2022-01-10T15:24:56Z'
          type: string
          readOnly: true
        notify_people:
          description: 'true: notify stakeholders <br /> false: do not notify'
          example: true
          type: boolean
        created_by:
          $ref: '#/components/schemas/UserShort'
        created_by_context:
          description: Represents whether memo is created by retailer or brand?
          example: retailer
          type: string
          nullable: true
          enum:
            - retailer
            - brand
        created_at:
          description: Time of memo creation (UTC format)
          example: '2021-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
        updated_at:
          description: Time of memo update (UTC format)
          example: '2022-09-10T15:24:56Z'
          type: string
          format: date-time
          readOnly: true
    IssueElementOnly:
      type: object
      properties:
        id:
          title: ID
          type: integer
          readOnly: true
          description: Issue ID
        memos:
          type: array
          readOnly: true
          items:
            $ref: '#/components/schemas/Memo'
        created_at:
          description: Time of issue creation
          type: string
          format: date-time
          readOnly: true
        updated_at:
          description: Time of issue update
          type: string
          format: date-time
          readOnly: true
        resolved_at:
          description: Time of issue resolution
          type: string
          format: date-time
          x-nullable: true
        is_resolved:
          description: 'true: Issue is resolved <br /> false: Issue is not resolved'
          type: string
          readOnly: true
        issue_id:
          description: Issue ID
          type: integer
          readOnly: true
        message:
          description: Description or note related to issue
          type: string
          readOnly: true
          minLength: 1
        title:
          description: Issue title
          type: string
          readOnly: true
          minLength: 1
    InventoryLocation:
      type: object
      properties:
        id:
          description: Location ID
          example: 1
          type: integer
          readOnly: true
        address:
          $ref: '#/components/schemas/Address'
        inventory:
          description: Count of sellable variants
          example: 0
          type: integer
          readOnly: true
        nickname:
          description: Nickname of location
          example: LA Warehouse
          type: string
          readOnly: true
    UserShort:
      type: object
      properties:
        id:
          description: User ID who accepted or rejected the invoice
          example: 542
          type: integer
          readOnly: true
        first_name:
          description: First name of user
          example: Sample
          maxLength: 64
          type: string
          nullable: true
        last_name:
          description: Last name of user
          example: Demo
          maxLength: 64
          type: string
          nullable: true
        title:
          description: User title
          example: Demo
          maxLength: 64
          type: string
          nullable: true
        status:
          description: User status
          example: Active
          type: string
          enum:
            - active
            - invited
            - locked
        type:
          description: User type
          example: standard
          type: string
          enum:
            - standard
            - api
        photo_url:
          description: URL of the user photo
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          minLength: 1
          type: string
          format: uri
          readOnly: true
        profile_photo:
          description: URL of the user's profile photo
          example: >-
            https://assets.demo.com/attachments/path_to_attachment/attachment.pdf
          minLength: 1
          type: string
          format: uri
          readOnly: true
        is_me:
          description: 'true: user is me: <br /> false: user is not me'
          example: true
          type: boolean
          readOnly: true
    Address:
      required:
        - city
        - country
        - name1
        - postal_code
        - province
        - street1
      type: object
      properties:
        id:
          description: Address ID
          example: 10
          type: integer
          readOnly: true
        type:
          description: Type of address
          example: residential
          type: string
          nullable: true
          enum:
            - residential
            - commercial
        name1:
          description: Name of the primary contact?
          example: Demo Brand, Inc
          maxLength: 64
          minLength: 1
          type: string
        name2:
          description: Name of the alternative contact?
          example: null
          maxLength: 64
          type: string
          nullable: true
        street1:
          description: Line 1 of the address
          example: 1332 Hermosa Ave
          maxLength: 128
          minLength: 1
          type: string
        street2:
          description: Line 2 of the address
          example: null
          maxLength: 128
          type: string
          nullable: true
        city:
          description: City name
          example: Hermosa Beach
          maxLength: 64
          minLength: 1
          type: string
        province:
          description: State name
          example: CA
          maxLength: 32
          minLength: 1
          type: string
        postal_code:
          description: Postal code
          example: '90254'
          maxLength: 32
          minLength: 1
          type: string
        country:
          description: Country name
          example: US
          maxLength: 128
          minLength: 1
          type: string
        phone1:
          description: Primary contact number
          example: '3105551212'
          maxLength: 32
          type: string
          nullable: true
        phone2:
          description: Alternate contact number
          example: '3105551213'
          maxLength: 32
          type: string
          nullable: true
        fax:
          description: Fax number
          example: null
          maxLength: 32
          type: string
          nullable: true
        email:
          description: Contact email address
          example: null
          maxLength: 128
          type: string
          nullable: true
        federal_tax_id:
          description: 'Federal tax ID '
          example: null
          maxLength: 32
          type: string
          nullable: true
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer

````