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

# Update Product

> The Update Product API allows users to modify the details of
    an existing product identified by its unique product_id. You can
    retrieve supported categories and subcategories from
    [GET /products/categories endpoint](/reference/api/products/get-product-categories)



## OpenAPI

````yaml put /v1/products/{product_id}
openapi: 3.0.0
info:
  title: Tax Platform
  version: 1.0.0
servers:
  - url: https://api.trykintsugi.com
    description: Production API server URL
security: []
paths:
  /v1/products/{product_id}:
    put:
      tags:
        - Products
      summary: Update Product
      description: |-
        The Update Product API allows users to modify the details of
            an existing product identified by its unique product_id. You can
            retrieve supported categories and subcategories from
            [GET /products/categories endpoint](/reference/api/products/get-product-categories)
      operationId: update_product_v1_products__product_id__put
      parameters:
        - name: product_id
          in: path
          required: true
          schema:
            type: string
            description: Unique identifier of the product to be updated.
            title: Product Id
          description: Unique identifier of the product to be updated.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductUpdate'
              title: Product
            example:
              external_id: prod_001
              name: Updated T-Shirt
              description: An updated description for the product
              status: APPROVED
              product_category: Physical
              product_subcategory: General Clothing
              tax_exempt: false
              classification_failed: false
      responses:
        '200':
          description: Successfully retrieved product by id
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductRead'
              example:
                id: prod_xR9t8P1wMK6aQ
                external_id: prod_123
                code: CODE_1234
                name: Test Product
                description: This is a test product description.
                status: APPROVED
                product_category: Physical
                product_subcategory: General Clothing
                tax_exempt: false
                source: SHOPIFY
                classification_failed: false
        '401':
          description: Unauthenticated request.
          content:
            application/json:
              example:
                detail: The request is missing a valid x-api-key.
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Resource Not Found
          content:
            application/json:
              example:
                detail: >-
                  [orgn_argaLQwMy2fJc] Product with id prod_dTNxozoT72W5 not
                  found
        '422':
          description: Validation error
          content:
            application/json:
              example:
                detail:
                  - type: missing
                    loc:
                      - header
                      - x-organization-id
                    msg: Field required
              schema:
                $ref: >-
                  #/components/schemas/backend__src__products__responses__ValidationErrorResponse
        '500':
          description: Internal server error
          content:
            application/json:
              example:
                detail: An unexpected error occurred
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - APIKeyHeader: []
          CustomHeader: []
components:
  schemas:
    ProductUpdate:
      properties:
        id:
          description: The unique identifier of the product to be updated.
          type: string
        external_id:
          description: |-
            External identifier provided for the product,
                    typically by the source system.
          type: string
        sku:
          type: array
          items:
            type: string
        name:
          type: string
          title: Name
          description: Name of the product.
        description:
          description: Description of the product.
          type: string
        status:
          $ref: '#/components/schemas/ProductStatusEnum'
          description: The approval status of the product.
          default: APPROVED
        product_category:
          type: string
          title: Product Category
          description: |-
            Main category of the product.
                For example, Physical, Digital, etc. You can
                retrieve supported categories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
        product_subcategory:
          type: string
          title: Product Subcategory
          description: |-
            Subcategory of the product.
                For example, General Clothing, UNKNOWN, etc. You can
                retrieve supported subcategories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
        tax_exempt:
          type: boolean
          title: Tax Exempt
          description: Indicates whether the product is tax-exempt.
        classification_failed:
          description: Indicates if the product classification failed.
          default: false
          type: boolean
      type: object
      required:
        - name
        - product_category
        - product_subcategory
        - tax_exempt
      title: ProductUpdate
    ProductRead:
      properties:
        id:
          type: string
          title: Id
        external_id:
          type: string
          title: External Id
        sku:
          type: array
          items:
            type: string
        code:
          type: string
          title: Code
        name:
          type: string
          title: Name
        description:
          type: string
        status:
          $ref: '#/components/schemas/ProductStatusEnum'
        product_category:
          type: string
          title: Product Category
          description: |-
            Main category of the product.
                    For example, Physical, Digital, etc. You can
                    retrieve supported categories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
        product_subcategory:
          type: string
          title: Product Subcategory
          description: |-
            Subcategory of the product.
                    For example, General Clothing, UNKNOWN, etc. You can
                    retrieve supported subcategories from [GET /products/categories endpoint](/reference/api/products/get-product-categories)
        tax_exempt:
          type: boolean
          title: Tax Exempt
        source:
          $ref: '#/components/schemas/SourceEnum'
        connection_id:
          type: string
        classification_failed:
          type: boolean
      type: object
      required:
        - id
        - external_id
        - sku
        - code
        - name
        - description
        - status
        - product_category
        - product_subcategory
        - tax_exempt
        - source
        - connection_id
        - classification_failed
      title: ProductRead
    ErrorResponse:
      properties:
        detail:
          type: string
          title: Detail
          description: Error message
      type: object
      required:
        - detail
      title: ErrorResponse
    backend__src__products__responses__ValidationErrorResponse:
      properties:
        detail:
          items:
            $ref: >-
              #/components/schemas/backend__src__products__responses__ValidationErrorItem
          type: array
          title: Detail
      type: object
      required:
        - detail
      title: ValidationErrorResponse
    ProductStatusEnum:
      type: string
      enum:
        - APPROVED
        - PARTIALLY_APPROVED
        - PENDING
      title: ProductStatusEnum
    SourceEnum:
      type: string
      enum:
        - BIGCOMMERCE
        - BESTBUY
        - BUNNY
        - CHARGEBEE
        - SHOPIFY
        - STRIPE
        - AMAZON
        - TIKTOK
        - CUSTOM
        - UNKNOWN
        - IMPORT
        - ZUORA
        - APIDECK
        - QUICKBOOKS
        - API
        - APPLE_APP_STORE
        - GOOGLE_APP_STORE
        - WALMART
        - PAYPAL
        - NETSUITE
        - XERO
        - MAXIO
        - RECURLY
        - SALESFORCE
        - ETSY
        - EBAY
        - WIX
        - SQUARESPACE
        - WOOCOMMERCE
        - MAGENTO
        - BILLING_PLATFORM
        - DEEL
        - RIPPLING
        - GUSTO
        - FACEBOOK
        - OTHER
        - ORDWAY
        - INSTAGRAM
        - PINTEREST
        - WAYFAIR
        - WISH
        - POS
        - TARGET
        - NEWEGG
        - GROUPON
        - GOOGLE_EXPRESS
        - NOCNOC
        - MERCADO_LIBRE
        - MODALYST
        - NORDSTROM
        - FAIRE
        - SHOPWARE
        - ZOHO
        - SAGE-INTACCT
        - AIRWALLEX
        - ORB
        - ZENSKAR
        - MICROSOFT_DYNAMICS_365
        - KICKSTARTER
        - INTERNAL_ERP
      title: SourceEnum
    backend__src__products__responses__ValidationErrorItem:
      properties:
        type:
          type: string
          title: Type
          description: |-
            Validation issues, such as missing required
                                fields or invalid field values.
        loc:
          items:
            type: string
          type: array
          title: Loc
          description: Location of error
        msg:
          type: string
          title: Msg
          description: Error message
        input:
          title: Input
          description: Invalid input value
        ctx:
          additionalProperties: true
          type: object
          title: Ctx
          description: Additional context
      type: object
      required:
        - type
        - loc
        - msg
        - input
        - ctx
      title: ValidationErrorItem
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY
    CustomHeader:
      type: apiKey
      in: header
      name: x-organization-id

````