# Create Product Question

## OpenAPI Specification

```yaml
openapi: 3.0.1
info:
  title: ''
  description: ''
  version: 1.0.0
paths:
  /v1/products/{product_id}/questions:
    post:
      summary: Create Product Question
      deprecated: false
      description: |-
        Create a new question for a specified product.

        <Accordion title="🔑Scopes" defaultOpen>
            
          `products.read_write` - Products Read & Write
         
        </Accordion>
      operationId: post-products-product_id-questions
      tags:
        - Default module/Apps/Merchant APIs/Products/Product Questions & Answers
        - Questions & Answers
      parameters:
        - name: product_id
          in: path
          description: ''
          required: true
          example: 399e381e-7c58-4148-aa26-7f959f4bf22b
          schema:
            type: string
        - name: Access-Token
          in: header
          description: >-
            The Authorization token is a unique key given to the third-party
            application (Partner) by Zid. It is used to authenticate the API
            requests made by the Partner application. The token verifies the
            partner's identity and ensures they have permission to access Zid's
            API but does not provide any specific user or store information. It
            should be included in the header of API requests when the partner
            application needs to access Zid's API.
          required: true
          example: '{{Access-Token}}'
          schema:
            type: string
        - name: Store-Id
          in: header
          description: ''
          required: true
          example: '{{StoreId}}'
          schema:
            type: number
            examples:
              - 37213
        - name: Accept-Language
          in: header
          description: >-
            The User-Agent header contains information about the user agent
            (browser or app) making the request. It allows the server to provide
            a tailored response depending on the user agent's capabilities and
            preferences.
          required: false
          example: en
          schema:
            type: string
            examples:
              - >-
                Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36
            enum:
              - ar
              - en
            x-apidog-enum:
              - value: ar
                name: ''
                description: ''
              - value: en
                name: ''
                description: ''
        - name: Role
          in: header
          description: ''
          required: false
          example: manager
          schema:
            type: string
      requestBody:
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                question:
                  example: What's the best option for this product?
                  type: string
            examples: {}
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Create-Get-Response'
          headers: {}
          x-apidog-name: Question created successfully.
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Response returned when the request cannot be authenticated
                  because the required credentials are missing, invalid, or
                  expired.
                properties:
                  status:
                    type: string
                    description: Indicates the overall status of the API response.
                    examples:
                      - error
                  message:
                    type: object
                    description: >-
                      Contains structured details explaining why the request
                      could not be authenticated.
                    properties:
                      type:
                        type: string
                        description: Indicates the category of the response message.
                        examples:
                          - error
                      code:
                        type: string
                        description: >-
                          A machine-readable code identifying the authentication
                          error. Returns null when no specific code is
                          available.
                        examples:
                          - UNAUTHORIZED
                        nullable: true
                      name:
                        type: string
                        description: >-
                          A short, human-readable title describing the
                          authentication error. Returns null when no title is
                          available.
                        examples:
                          - Unauthorized
                        nullable: true
                      description:
                        type: string
                        description: >-
                          A human-readable explanation of why the request could
                          not be authenticated. Returns null when no detailed
                          explanation is available.
                        examples:
                          - >-
                            Authentication credentials are missing, invalid, or
                            expired.
                        nullable: true
                    required:
                      - type
                      - code
                      - name
                      - description
                    x-apidog-orders:
                      - type
                      - code
                      - name
                      - description
                    x-apidog-ignore-properties: []
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                examples:
                  - status: error
                    message:
                      type: error
                      code: UNAUTHORIZED
                      name: Unauthorized
                      description: >-
                        Authentication credentials are missing, invalid, or
                        expired.
                x-apidog-ignore-properties: []
              examples:
                '1':
                  summary: Example 1
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_MISSING
                      name: Sorry
                      description: Please login first.
                '2':
                  summary: Example 2
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_INVALID
                      name: Sorry
                      description: Login session expired. Please login again.
                '3':
                  summary: Example 3
                  value:
                    status: error
                    message:
                      type: error
                      code: ERROR_SESSION_INVALID
                      name: Sorry
                      description: Invalid authentication
          headers: {}
          x-apidog-name: Unauthorized
        '500':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the error.
                  message:
                    $ref: '#/components/schemas/ResponseEnvelopMessage'
                required:
                  - status
                  - message
                x-apidog-orders:
                  - status
                  - message
                x-apidog-ignore-properties: []
              example:
                status: error
                message:
                  type: error
                  code: MSG_HIDDEN
                  name: Error
                  description: Internal Server Error
          headers: {}
          x-apidog-name: Internal Server error
      security: []
      x-apidog-folder: Default module/Apps/Merchant APIs/Products/Product Questions & Answers
      x-apidog-status: released
      x-run-in-apidog: https://app.apidog.com/web/project/613905/apis/api-9148655-run
components:
  schemas:
    Create-Get-Response:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the created question.
          examples:
            - '"cf2fc926-d179-4330-8fff-330853416aea",'
        store:
          type: string
          description: The unique identifier of the store.
          examples:
            - '"3dfc16e6-ad19-4126-9c2a-5e4a7fb73051"'
        product:
          type: string
          description: The unique identifier of the product.
          examples:
            - '"678c40b4-3989-4623-b4c2-61d29066e6ab"'
        product_name:
          type: string
          description: The name of the product.
          examples:
            - '"i phone"'
        customer:
          type: 'null'
          description: Information about the customer (if available).
        name:
          type: string
          description: The name of the customer asking the question.
          examples:
            - '"anonymous customer"'
        email:
          type: string
          description: The email address of the customer.
          examples:
            - '"anon_customer@email.com"'
        is_anonymous:
          type: boolean
          description: Indicates if the question is asked anonymously.
          default: true
        is_owner:
          type: boolean
          description: Indicates if the question is created by the store owner.
          default: false
        is_published:
          type: boolean
          description: Indicates if the question is published.
          default: false
        is_sent:
          type: boolean
          description: Indicates if the question is sent for approval.
          default: false
        is_new:
          type: boolean
          description: Indicates if the question is new.
          default: true
        question:
          type: string
          examples:
            - '"What is ZID?"'
        created_at:
          type: string
          description: The timestamp of when the question was created.
          examples:
            - '"2024-07-12T06:28:34.765167Z"'
        answers:
          type: array
          description: A list of answers associated with the question.
          items:
            type: object
            x-apidog-orders: []
            properties: {}
            x-apidog-ignore-properties: []
      x-examples:
        Example 1:
          id: cf2fc926-d179-4330-8fff-330853416aea
          store: 3dfc16e6-ad19-4126-9c2a-5e4a7fb73051
          product: 678c40b4-3989-4623-b4c2-61d29066e6ab
          product_name: i phone
          customer: null
          name: anonymous customer
          email: anon_customer@email.com
          is_anonymous: true
          is_owner: false
          is_published: false
          is_sent: false
          is_new: true
          question: What about another question?
          created_at: '2024-07-12T06:28:34.765167Z'
          answers: []
      x-internal: true
      x-apidog-orders:
        - id
        - store
        - product
        - product_name
        - customer
        - name
        - email
        - is_anonymous
        - is_owner
        - is_published
        - is_sent
        - is_new
        - question
        - created_at
        - answers
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
    ResponseEnvelopMessage:
      type: object
      properties:
        type:
          type: string
          description: Type of response message returned by the API.
          examples:
            - success
        code:
          type: string
          description: Response code returned by the API, if available.
          examples:
            - MSG_POPUP_OK
          nullable: true
        name:
          type: string
          description: Name or title of the response message, if available.
          examples:
            - Coupons
          nullable: true
        description:
          type: string
          description: Detailed description of the response message, if available.
          examples:
            - Coupons created successfully
          nullable: true
      required:
        - type
        - code
        - name
        - description
      description: Additional response metadata.
      x-apidog-orders:
        - type
        - code
        - name
        - description
      x-apidog-ignore-properties: []
      x-apidog-folder: ''
  securitySchemes: {}
servers:
  - url: https://api.zid.sa/
    description: Prod Env
security: []

```
