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

# Get Product

> Get a detailed product by ID

export const item_0 = "product"

## International pricing

NOTE! Some products have a `priceDeltaByCountry` field that will affect the price of the product when shipped internationally.
If you pass `countryCode` when getting the product you will get the price after applying the delta. If you don't pass `countryCode` you should apply the delta yourself based on the recipient's address

## Localization (optional)

Use the <a target="_blank" href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language">accept-language</a> header to get translated {item_0} strings.

Supported locales:

* en-US (default locale)
* fr-FR
* fr-CA
* es-ES
* es-MX
* en-AU
* en-GB

```
Examples:
- Accept-Language: *
- Accept-Language: fr
- Accept-Language: fr-FR
- Accept-Language: fr-FR, fr;q=0.9, en;q=0.8, *;q=0.5
```


## OpenAPI

````yaml get /api/ext/v1/collection/{collectionId}/product/{productId}
openapi: 3.0.1
info:
  title: Covver External API docs
  description: Covver External API docs
  version: 0.1.0
servers:
  - url: https://staging-api.covver.io
    description: Covver Staging Server
  - url: https://api.covver.io
    description: Covver Production Server
  - url: http://localhost:8080
    description: Covver Local Server
security:
  - BearerAuth: []
tags:
  - name: Auth
    description: Authentication endpoints
  - name: Products
    description: Product endpoints
  - name: People
    description: People endpoints
  - name: Orders
    description: Orders endpoints
  - name: Reports
    description: Report endpoints
externalDocs:
  url: https://swagger.io
  description: Find more info here
paths:
  /api/ext/v1/collection/{collectionId}/product/{productId}:
    get:
      tags:
        - Products
      summary: Get Product
      description: Get a detailed product by ID
      parameters:
        - schema:
            type: string
          in: query
          name: countryCode
          required: false
        - schema:
            type: string
            nullable: true
          in: query
          name: firstName
          required: false
          description: First name
        - schema:
            type: string
            nullable: true
          in: query
          name: lastName
          required: false
          description: Last name
        - schema:
            type: string
            nullable: true
          in: query
          name: department
          required: false
          description: Work department (e.g. sales)
        - schema:
            type: string
            nullable: true
          in: query
          name: location
          required: false
          description: Work location (site/city/country)
        - schema:
            format: date-time
            type: string
            nullable: true
          in: query
          name: startDate
          required: false
          description: Start date in ISO format
        - schema:
            format: date-time
            type: string
            nullable: true
          in: query
          name: birthDate
          required: false
          description: Birth date in ISO format
        - schema:
            format: uuid
            type: string
          in: path
          name: collectionId
          required: true
        - schema:
            format: uuid
            type: string
          in: path
          name: productId
          required: true
        - schema:
            type: string
          in: header
          name: accept-language
          required: false
          description: >-
            See
            https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Language
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                additionalProperties: false
                type: object
                properties:
                  id:
                    type: string
                  hiddenAt:
                    format: date-time
                    type: string
                    description: ISO 8601 date-time, e.g. 2025-07-10T07:24:53.486Z
                    nullable: true
                  title:
                    type: string
                  model:
                    type: string
                    nullable: true
                  brand:
                    type: string
                    nullable: true
                  notes:
                    type: string
                    nullable: true
                  status:
                    enum:
                      - Active
                      - Draft
                  slug:
                    type: string
                  description:
                    description: >-
                      Description with HTML tags and optional size chart
                      table/image embedded
                    type: string
                  descriptionV2:
                    description: Description without HTML tags
                    type: string
                  sizeChartTable:
                    description: >-
                      Optional size chart table in HTML format. Use either this
                      column or size chart images - if any of them is available
                    type: string
                    nullable: true
                  isInStock:
                    type: boolean
                  isDiscontinued:
                    type: boolean
                  priceRange:
                    type: object
                    properties:
                      minVariantPrice:
                        type: number
                      maxVariantPrice:
                        type: number
                    required:
                      - minVariantPrice
                      - maxVariantPrice
                  retailPriceRange:
                    type: object
                    properties:
                      minVariantPrice:
                        type: number
                      maxVariantPrice:
                        type: number
                    required:
                      - minVariantPrice
                      - maxVariantPrice
                  priceDeltaByCountry:
                    title: Price delta by country
                    type: object
                    nullable: true
                    additionalProperties:
                      title: price delta
                      type: number
                    example:
                      US: 2.5
                      CA: 3.5
                  options:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          enum:
                            - size
                            - color
                        values:
                          type: array
                          items:
                            type: object
                            properties:
                              title:
                                type: string
                              colorCode:
                                type: string
                              colorCode2:
                                type: string
                            required:
                              - title
                      required:
                        - name
                        - values
                  isPersonalized:
                    type: boolean
                  creationStatus:
                    enum:
                      - Pending
                      - Done
                      - Error
                  sizeChartImages:
                    description: >-
                      Optional size chart images. Use either this column or the
                      size chart table - if any of them is available
                    type: array
                    items:
                      type: object
                      properties:
                        url:
                          type: string
                        width:
                          type: number
                        height:
                          type: number
                      required:
                        - url
                  featuredImage:
                    type: object
                    properties:
                      url:
                        type: string
                      lowResUrl:
                        type: string
                        nullable: true
                      width:
                        type: number
                      height:
                        type: number
                    required:
                      - url
                  tags:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                      required:
                        - name
                  variants:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        title:
                          type: string
                        price:
                          type: number
                        retailPrice:
                          type: number
                        isAvailableForSale:
                          type: boolean
                        options:
                          type: array
                          items:
                            type: object
                            properties:
                              name:
                                enum:
                                  - size
                                  - color
                              value:
                                type: object
                                properties:
                                  title:
                                    type: string
                                  colorCode:
                                    type: string
                                  colorCode2:
                                    type: string
                                required:
                                  - title
                            required:
                              - name
                              - value
                        images:
                          type: array
                          items:
                            type: object
                            properties:
                              url:
                                type: string
                              lowResUrl:
                                type: string
                                nullable: true
                              width:
                                type: number
                              height:
                                type: number
                            required:
                              - url
                      required:
                        - id
                        - title
                        - price
                        - isAvailableForSale
                        - options
                        - images
                  errors:
                    type: object
                    properties:
                      hasLowResolutionElements:
                        type: boolean
                      hasNonCmykElements:
                        type: boolean
                      hasBaseProductIssue:
                        type: boolean
                      hasNonBlackAndWhiteElements:
                        type: boolean
                      isBlank:
                        type: boolean
                      hasOldPrintAreas:
                        type: boolean
                    nullable: true
                  customFields:
                    type: object
                    additionalProperties:
                      type: string
                  shippingRegions:
                    type: array
                    items:
                      type: object
                      properties:
                        countryName:
                          type: string
                        countryCode:
                          type: string
                        isBlacklisted:
                          type: boolean
                        denyCheckout:
                          type: boolean
                        provinces:
                          type: array
                          items:
                            type: object
                            properties:
                              provinceName:
                                type: string
                              provinceCode:
                                type: string
                            required:
                              - provinceName
                              - provinceCode
                          nullable: true
                      required:
                        - countryName
                        - countryCode
                        - isBlacklisted
                        - denyCheckout
                required:
                  - id
                  - title
                  - model
                  - brand
                  - status
                  - slug
                  - description
                  - descriptionV2
                  - isInStock
                  - isDiscontinued
                  - priceRange
                  - options
                  - isPersonalized
                  - creationStatus
                  - featuredImage
                  - tags
                  - variants
                  - shippingRegions
        4XX:
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errorCode:
                    type: string
                  error: {}
                  statusCode:
                    type: number
                required:
                  - message
                  - errorCode
                  - statusCode
        5XX:
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  errorCode:
                    type: string
                  error: {}
                  statusCode:
                    type: number
                required:
                  - message
                  - errorCode
                  - statusCode
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````