> ## 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.

# Create Product

> The Create Product API allows users to manually create a new product
    in the system. This includes specifying product details such as category,
    subcategory, and tax exemption status, etc. You can
    retrieve supported categories and subcategories from
    [GET /products/categories endpoint](/reference/api/products/get-product-categories)



## OpenAPI

````yaml post /v1/products
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:
    post:
      tags:
        - Products
      summary: Create Product
      description: |-
        The Create Product API allows users to manually create a new product
            in the system. This includes specifying product details such as category,
            subcategory, and tax exemption status, etc. You can
            retrieve supported categories and subcategories from
            [GET /products/categories endpoint](/reference/api/products/get-product-categories)
      operationId: create_product_v1_products_post
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProductCreateManual'
            example:
              external_id: prod_001
              name: T-shirts
              description: >-
                Common items of everyday wearing apparel designed for human use,
                covering a wide variety of non-specialized garments.
              status: APPROVED
              product_category: Physical
              product_subcategory: General Clothing
              tax_exempt: false
              source: BIGCOMMERCE
      responses:
        '200':
          description: Successfully created product
          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'
        '422':
          description: Validation error
          content:
            application/json:
              example:
                detail:
                  - type: missing
                    loc:
                      - body
                      - external_id
                    msg: Field required
                    input:
                      name: Sample Product
                      description: A description of the product
                      status: APPROVED
                      product_category: Physical
                      product_subcategory: General Clothing
                      tax_exempt: false
                      source: BIGCOMMERCE
              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:
    ProductCreateManual:
      properties:
        external_id:
          type: string
          title: External Id
          description: A unique external identifier for the product.
        name:
          type: string
          title: Name
          description: The name of the product.
        description:
          description: A description of the product.
          type: string
        status:
          $ref: '#/components/schemas/ProductStatusEnum'
          description: The approval status of the product.
          default: APPROVED
        product_category:
          $ref: '#/components/schemas/ProductCategoryEnum'
          title: Product Category
          description: The high-level category of the product.
        product_subcategory:
          $ref: '#/components/schemas/ProductSubCategoryEnum'
          title: Product Subcategory
          description: The subcategory of the product.
        tax_exempt:
          type: boolean
          title: Tax Exempt
          description: Specifies whether the product is tax-exempt.
        source:
          $ref: '#/components/schemas/SourceEnum'
          description: Indicates the source of the product.
          default: OTHER
      type: object
      required:
        - external_id
        - name
        - product_category
        - product_subcategory
        - tax_exempt
      title: ProductCreateManual
    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
    ProductCategoryEnum:
      type: string
      enum:
        - PHYSICAL
        - DIGITAL
        - SERVICE
        - UNKNOWN
        - MISCELLANEOUS
      title: ProductCategoryEnum
    ProductSubCategoryEnum:
      type: string
      enum:
        - UNKNOWN
        - SAAS
        - DIGITAL_GENERAL
        - B2B_SAAS
        - SOFTWARE_ON_PERSONAL_PROPERTY
        - SOFTWARE_DOWNLOADED
        - CUSTOM_SOFTWARE_ON_PERSONAL_PROPERTY
        - CUSTOM_SOFTWARE_DOWNLOADED
        - CUSTOMIZATION_OF_SOFTWARE
        - B2C_SAAS
        - IAAS
        - SERVICE_GENERAL
        - PROFESSIONAL_SERVICE
        - TANGIBLE_PROPERTY_SERVICE
        - REAL_PROPERTY_SERVICE
        - BUSINESS_SERVICE
        - PERSONAL_SERVICE
        - AMUSEMENT_SERVICE
        - MEDICAL_SERVICES
        - SECURITY_SERVICES_ELECTRONIC_MONITORING
        - FACILITY_MAINTENANCE_REAL_PROPERTY_LABOR_ONLY
        - COMMERCIAL_RENOVATION_CAPITAL_IMPROVEMENT_LABOR
        - COMMERCIAL_CONSTRUCTION_EXISTING_BUILDINGS_LABOR
        - PHYSICAL_GENERAL
        - GENERAL_CLOTHING
        - CATERING
        - GROCERY_FOOD
        - LEASES_AND_RENTALS_MOTOR_VEHICLES
        - LEASES_AND_RENTALS_TANGIBLE_MEDIA_PROPERTY
        - MACHINERY
        - RAW_MATERIALS
        - UTILITIES_FUEL
        - MEDICAL_DEVICES
        - MEDICINES
        - NEWSPAPERS
        - PERIODICALS
        - GENERAL_OCCASIONAL_SALES
        - MOTOR_VEHICLES_OCCASIONAL_SALES
        - GENERAL_OPTIONAL_MAINTENANCE_CONTRACTS
        - PARTS_PURCHASED_OPTIONAL_MAINTENANCE_CONTRACTS
        - GENERAL_POLLUTION_CONTROL_EQUIPMENT
        - GENERAL_TRADE_INS
        - FOOD_VENDING_MACHINE
        - MERCHANDISE_VENDING_MACHINE
        - SUPPLEMENTS
        - FEMININE_HYGIENE
        - ORAL_HYGIENE
        - BEVERAGE_NUTRITION_LABEL_ENERGY_SHOTS_AND_DRINKS
        - DIETARY_SUPPLEMENTS_SUPPLEMENT_FACTS_LABEL_RETAIL
        - ADVERTISING_MEDIA_INSERT_DISTRIBUTED_BY_NEWSPAPER
        - ADVERTISING_MEDIA_INSERT_DISTRIBUTED_BY_MAIL_PACKAGE
        - MAINTENANCE_SERVICES_MATERIALS
        - NUTRITION_BARS
        - SHIPPING
        - GIFT_CARD
        - CREDIT_CARD_SURCHARGES
        - CREDIT_CARD_FEES
        - MISCELLANEOUS_EXEMPT
        - DISCOUNT
        - GIFT_WRAPPING
        - HANDLING
        - TAX
        - DANCE_LESSONS
      title: ProductSubCategoryEnum
    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

````