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

# Products Partial Update

> Partially updates a product.



## OpenAPI

````yaml patch /products/{id}/
openapi: 3.0.3
info:
  title: Gaana AI Visual On-Brand Generation
  version: v1
  description: >-
    This API helps external developers to use Gaana AI API to create visuals
    (image, video) which resonate with their brand guidelines. They can create
    visuals by giving a concept, providing product images, or using reference
    images that inspire them.
  contact:
    name: Gaana AI Support
    email: support@gaana.ai
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
servers:
  - description: Production
    url: https://production.getgaana.com/api
  - description: Stage/Sandbox
    url: https://experiment.getgaana.com/api
security: []
tags:
  - name: auth
    description: Authentication API to generate bearer token
  - name: file_upload
    description: File upload API to upload product images
  - name: products
    description: Product APIs
  - name: concept
    description: Concept APIs
  - name: media-config
    description: Media configuration APIs
  - name: media
    description: Media APIs
paths:
  /products/{id}/:
    patch:
      tags:
        - products
      description: Partially updates a product.
      operationId: products_partial_update
      parameters:
        - in: path
          name: id
          schema:
            type: string
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PatchedB2BProductRequestDoc'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/PatchedB2BProductRequestDoc'
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/PatchedB2BProductRequestDoc'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse_B2BProducts'
          description: ''
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
          description: ''
      security:
        - jwtAuth: []
components:
  schemas:
    PatchedB2BProductRequestDoc:
      type: object
      properties:
        name:
          type: string
        description:
          type: string
        variant:
          type: string
        media_urls:
          type: array
          items:
            $ref: '#/components/schemas/ProductMediaRequest'
    SuccessResponse_B2BProducts:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/B2BProducts'
        message:
          type: string
        status:
          $ref: '#/components/schemas/StatusE7cEnum'
      required:
        - data
        - message
        - status
    ErrorResponse:
      type: object
      properties:
        data:
          type: array
          items: {}
        message:
          type: string
        status:
          $ref: '#/components/schemas/ErrorResponseStatusEnum'
      required:
        - message
        - status
    ProductMediaRequest:
      type: object
      properties:
        type:
          type: string
        url:
          type: string
          format: uri
      required:
        - type
        - url
    B2BProducts:
      type: object
      properties:
        id:
          type: string
          format: uuid
          readOnly: true
        name:
          type: string
          nullable: true
        description:
          type: string
          nullable: true
        media_urls: {}
        created_at:
          type: string
          format: date-time
          readOnly: true
        updated_at:
          type: string
          format: date-time
          readOnly: true
        variant:
          $ref: '#/components/schemas/VariantEnum'
      required:
        - created_at
        - id
        - updated_at
    StatusE7cEnum:
      enum:
        - success
      type: string
      description: '* `success` - success'
    ErrorResponseStatusEnum:
      enum:
        - failed
      type: string
      description: '* `failed` - failed'
    VariantEnum:
      enum:
        - product_with_label
        - product_without_label
        - fashion
        - others
      type: string
      description: |-
        * `product_with_label` - product_with_label
        * `product_without_label` - product_without_label
        * `fashion` - fashion
        * `others` - others
  securitySchemes:
    jwtAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````