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

# Add an asset via URL

> Add an asset to the system by providing a URL to the asset



## OpenAPI

````yaml /openapi.yaml post /api/kb/assets
openapi: 3.1.0
info:
  title: Nuwacom API
  description: API for Nuwacom application
  version: 1.0.0
servers:
  - url: https://{customer-tenant}.nuwacom.ai/
    description: Nuwacom API
security:
  - bearerAuth: []
paths:
  /api/kb/assets:
    post:
      tags:
        - Assets
      summary: Add an asset via URL
      description: Add an asset to the system by providing a URL to the asset
      operationId: postApiKbAssets
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                spaceId:
                  anyOf:
                    - type: string
                      minLength: 2
                      maxLength: 6
                    - type: string
                      minLength: 21
                      maxLength: 21
                  description: Unique ID of the space the asset should be added to.
                connectorId:
                  type: number
                  description: >-
                    Identifier of the connector (e.g., SharePoint, Google Drive)
                    the asset belongs to.
                metadata:
                  type: object
                  additionalProperties:
                    path: /api/subscription/paid-seats-left/{organizationId}
                  description: >-
                    JSON metadata string that will be stored alongside the asset
                    (e.g., author, custom tags).
                path:
                  type: array
                  items:
                    type: string
                  description: >-
                    Hierarchical path (array of folder names) describing where
                    the asset lives in the connector.
                fetchAuth:
                  anyOf:
                    - type: object
                      properties:
                        type:
                          enum:
                            - basic
                        username:
                          type: string
                        password:
                          type: string
                      required:
                        - type
                        - username
                        - password
                    - type: object
                      properties:
                        type:
                          enum:
                            - bearer
                        token:
                          type: string
                      required:
                        - type
                        - token
                mimeType:
                  type: string
                  description: >-
                    MIME type of the remote asset (e.g., "application/pdf",
                    "text/plain").
                name:
                  type: string
                  description: >-
                    Optional display name for the asset. Defaults to the
                    filename if omitted.
                url:
                  type: string
                  format: uri
                  description: >-
                    Reachable URL that the backend should fetch and ingest (can
                    be signed or public).
              required:
                - spaceId
                - mimeType
                - url
      responses:
        '201':
          description: Asset created successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                required:
                  - id
        '400':
          description: Bad request, invalid input
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````