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

# Create a folder for guest-shareable assets

> Create an existing asset folder; optional propertyId from list_properties. Obtain folder.folderId from the result; move assets with set_knowledge_asset_folder. This does not create indexed knowledge or upload files. Required permission: knowledge:write. Connected business only; no tenant override.



## OpenAPI

````yaml /openapi.json post /knowledge/asset-folders
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /knowledge/asset-folders:
    post:
      summary: Create a folder for guest-shareable assets
      description: >-
        Create an existing asset folder; optional propertyId from
        list_properties. Obtain folder.folderId from the result; move assets
        with set_knowledge_asset_folder. This does not create indexed knowledge
        or upload files. Required permission: knowledge:write. Connected
        business only; no tenant override.
      operationId: create_knowledge_asset_folder
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/KnowledgeAssetFolderCreateInput'
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KnowledgeAssetFolderResult'
        '400':
          description: Invalid request
        '403':
          description: Missing permission
        '404':
          description: Resource not found
        '409':
          description: Conflict; read state and reconcile
components:
  schemas:
    KnowledgeAssetFolderCreateInput:
      type: object
      additionalProperties: false
      properties:
        title:
          type: string
          maxLength: 160
        description:
          type: string
          maxLength: 600
        propertyId:
          type: string
          maxLength: 128
      required:
        - title
    KnowledgeAssetFolderResult:
      type: object
      additionalProperties: false
      properties:
        folder:
          $ref: '#/components/schemas/KnowledgeAssetFolder'
      required:
        - folder
    KnowledgeAssetFolder:
      type: object
      additionalProperties: false
      properties:
        folderId:
          type: string
          maxLength: 128
        title:
          type: string
          maxLength: 160
        description:
          type: string
          maxLength: 600
        propertyId:
          type: string
          maxLength: 128
        propertyName:
          type: string
          maxLength: 160
        active:
          type: boolean
        shareTokenVersion:
          type: integer
          minimum: 1
        assetOrder:
          type: array
          items:
            type: string
            maxLength: 128
        assetCount:
          type: integer
          minimum: 0
        createdAt:
          type: string
          maxLength: 128
        updatedAt:
          type: string
          maxLength: 128
      required:
        - folderId
        - title
        - active
        - shareTokenVersion
        - assetOrder
        - assetCount
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.