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

# Create a woku via URL

> Creates a new woku for feedback collection using a file URL. The file will be downloaded and processed automatically. Optionally, you can associate a client email or phone number to send a review invitation.



## OpenAPI

````yaml /openapi.json post /wokus/create-woku
openapi: 3.0.3
info:
  title: Woku Client API
  description: >-
    API for integrating with Woku's feedback collection platform. This API
    allows you to create wokus (feedback collection tools), submit reviews, and
    retrieve reports.


    ## Authentication


    All endpoints require authentication using a Bearer token in the
    Authorization header. You can obtain your API key from the Woku dashboard.


    ```

    Authorization: Bearer your_api_key_here

    ```


    ## Base URL


    Production: `https://api.woku.app`
  version: 1.0.0
  contact:
    name: Woku Support
    url: https://woku.app
    email: team@woku.app
servers:
  - url: https://clientapi.woku.app
    description: Production server
security: []
tags:
  - name: Wokus
    description: Endpoints for creating and managing wokus (feedback collection tools)
  - name: Reviews
    description: Endpoints for submitting and retrieving reviews
  - name: Companies
    description: Endpoints for retrieving company data
  - name: Reports
    description: Endpoints for retrieving NPS and analytics reports
paths:
  /wokus/create-woku:
    post:
      tags:
        - Wokus
      summary: Create a woku via URL
      description: >-
        Creates a new woku for feedback collection using a file URL. The file
        will be downloaded and processed automatically. Optionally, you can
        associate a client email or phone number to send a review invitation.
      operationId: createWoku
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWokuRequest'
            examples:
              basic:
                summary: Basic woku creation
                value:
                  description: 'Customer Service Experience - Store #123'
                  fileUrl: https://cdn.example.com/images/product-image.jpg
              withFolder:
                summary: Woku with folder organization
                value:
                  description: 'Customer Service Experience - Store #123'
                  fileUrl: https://cdn.example.com/images/product-image.jpg
                  folderSecondaryKey: store-123
                  parentFolderSecondaryKey: region-north
              withClient:
                summary: Woku with client for review invitation
                value:
                  description: 'Customer Service Experience - Store #123'
                  fileUrl: https://cdn.example.com/images/product-image.jpg
                  clientEmail: customer@example.com
                  clientPhone: 56912345678
      responses:
        '201':
          description: Woku created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WokuResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationError'
        '401':
          description: Invalid or missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
      security:
        - BearerAuth: []
components:
  schemas:
    CreateWokuRequest:
      type: object
      required:
        - description
        - fileUrl
      properties:
        description:
          type: string
          description: >-
            Description of the woku (product, service, or experience being
            reviewed)
          example: 'Customer Service Experience - Store #123'
          minLength: 1
        fileUrl:
          type: string
          format: uri
          description: URL of an existing file (image or video) to associate with the woku
          example: https://cdn.example.com/images/product-image.jpg
        folderSecondaryKey:
          type: string
          description: >-
            Secondary key identifier for the folder. If the folder doesn't
            exist, it will be created automatically.
          example: store-123
        parentFolderSecondaryKey:
          type: string
          description: >-
            Secondary key identifier for the parent folder. Used to create
            folder hierarchies.
          example: region-north
        clientEmail:
          type: string
          format: email
          description: >-
            Email address of the client. If provided, a review invitation email
            will be sent.
          example: customer@example.com
        clientPhone:
          type: integer
          description: >-
            Phone number of the client (including country code, no spaces or
            symbols). If provided, a WhatsApp review invitation will be sent.
          example: 56912345678
    WokuResponse:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Unique identifier of the woku
          example: 507f1f77bcf86cd799439011
        description:
          type: string
          description: Description of the woku
          example: 'Customer Service Experience - Store #123'
        createdBy:
          type: string
          format: objectid
          description: User ID who created the woku
          example: 507f1f77bcf86cd799439012
        companyId:
          type: string
          format: objectid
          description: Company ID the woku belongs to
          example: 507f1f77bcf86cd799439013
        folderId:
          type: string
          format: objectid
          description: Folder ID the woku is organized in
          example: 507f1f77bcf86cd799439014
        file:
          $ref: '#/components/schemas/WokuFile'
        qualifications:
          type: array
          items:
            $ref: '#/components/schemas/WokuQualification'
          description: Array of star ratings
        textnotes:
          type: array
          items:
            $ref: '#/components/schemas/WokuTextnote'
          description: Array of text reviews
        voicemails:
          type: array
          items:
            $ref: '#/components/schemas/WokuVoicemail'
          description: Array of voice reviews
        feedbacksSummary:
          type: string
          description: AI-generated summary of all feedback
          example: Customers generally praise the helpful staff and quick service...
        closed:
          type: boolean
          description: Whether the woku is closed for new reviews
          default: false
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
          example: '2026-01-20T10:30:00.000Z'
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp
          example: '2026-01-20T15:45:00.000Z'
    ValidationError:
      type: object
      properties:
        statusCode:
          type: integer
          example: 400
        message:
          type: array
          items:
            type: string
          example:
            - description must be a string
            - fileUrl must be a valid URL
        error:
          type: string
          example: Bad Request
    UnauthorizedError:
      type: object
      properties:
        statusCode:
          type: integer
          example: 401
        message:
          type: string
          example: Invalid or missing API key
    WokuFile:
      type: object
      properties:
        filename:
          type: string
          description: Name of the file
          example: product-image.webp
        type:
          type: string
          enum:
            - image
            - video
          description: Type of the file
          example: image
        url:
          type: string
          format: uri
          description: Public URL of the file
          example: https://cdn.woku.app/files/product-image.webp
    WokuQualification:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Unique identifier
          example: 507f1f77bcf86cd799439015
        qualification:
          type: integer
          minimum: 1
          maximum: 5
          description: Star rating
          example: 5
        createdBy:
          type: string
          description: User or client who created the rating
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
    WokuTextnote:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Unique identifier
          example: 507f1f77bcf86cd799439016
        qualification:
          type: object
          properties:
            qualification:
              type: integer
              minimum: 1
              maximum: 5
              description: Star rating
              example: 5
        description:
          type: string
          description: Text content of the review
          example: Excellent service!
        anonymous:
          type: boolean
          description: Whether the review is anonymous
          example: false
        feedbackType:
          type: string
          description: AI-classified feedback type
          example: positive
        clientId:
          type: string
          format: objectid
          description: Client who submitted the review
        validated:
          type: boolean
          description: Whether the review has been validated
          example: true
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
    WokuVoicemail:
      type: object
      properties:
        _id:
          type: string
          format: objectid
          description: Unique identifier
          example: 507f1f77bcf86cd799439017
        qualification:
          type: object
          properties:
            qualification:
              type: integer
              minimum: 1
              maximum: 5
              description: Star rating
              example: 4
        file:
          type: object
          properties:
            filename:
              type: string
              description: Audio file name
              example: voicemail.mp4
            url:
              type: string
              format: uri
              description: Public URL of the audio file
        transcription:
          type: string
          description: AI-generated transcription of the audio
          example: I had a great experience with your service...
        anonymous:
          type: boolean
          description: Whether the review is anonymous
          example: false
        feedbackType:
          type: string
          description: AI-classified feedback type
          example: positive
        clientId:
          type: string
          format: objectid
          description: Client who submitted the review
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Company API key. Obtain this from your Woku dashboard under Settings >
        API Keys.

````