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

# Създаване на документ

> Добавяне на нов документ към база от знания

Този endpoint създава нов документ в база от знания. Документите се обработват асинхронно - endpoint-ът връща резултат незабавно, докато обработката продължава на заден план.

### Path параметри

<ParamField path="knowledgebaseId" type="integer" required>
  Уникалният идентификатор на базата от знания
</ParamField>

### Request Body

<ParamField body="name" type="string" required>
  Името на документа (максимум 255 символа)
</ParamField>

<ParamField body="description" type="string">
  Опционално описание на документа (максимум 255 символа)
</ParamField>

<ParamField body="type" type="string" required>
  Тип документ: `website`, `pdf`, `txt`, или `docx`
</ParamField>

#### Website документи

<ParamField body="url" type="string">
  Основният URL за scraping. Задължителен, ако `links` не е предоставен.
</ParamField>

<ParamField body="links" type="array">
  Масив от конкретни URL-и за scraping. Задължителен, ако `url` не е предоставен.

  <Expandable title="links properties">
    <ParamField body="link" type="string" required>
      Валиден URL за включване в документа
    </ParamField>
  </Expandable>
</ParamField>

<ParamField body="relative_links_limit" type="integer" default="10">
  Максимален брой относителни връзки за следване при scraping (1-50)
</ParamField>

#### Файлови документи (PDF, TXT, DOCX)

<ParamField body="file" type="file" required>
  Файлът за качване (максимум 20MB). Използвайте `multipart/form-data` encoding.
</ParamField>

### Response

<ResponseField name="message" type="string">
  Съобщение за успех
</ResponseField>

<ResponseField name="data" type="object">
  Създаденият документ обект

  <Expandable title="data properties">
    <ResponseField name="id" type="integer">
      Уникалният идентификатор на документа
    </ResponseField>

    <ResponseField name="name" type="string">
      Името на документа
    </ResponseField>

    <ResponseField name="description" type="string">
      Описанието на документа
    </ResponseField>

    <ResponseField name="type" type="string">
      Типът на документа
    </ResponseField>

    <ResponseField name="type_label" type="string">
      Четим етикет за типа
    </ResponseField>

    <ResponseField name="status" type="string">
      Статус на обработка (първоначално ще бъде `processing`)
    </ResponseField>

    <ResponseField name="status_label" type="string">
      Четим етикет за статуса
    </ResponseField>

    <ResponseField name="created_at" type="string">
      ISO 8601 timestamp на създаване
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json 201 Website Document Created theme={null}
  {
    "message": "Document created successfully. Processing will begin shortly.",
    "data": {
      "id": 1,
      "name": "Company Website",
      "description": "Main website content",
      "type": "website",
      "type_label": "Website",
      "status": "processing",
      "status_label": "Processing",
      "created_at": "2025-01-08T10:30:00.000000Z"
    }
  }
  ```

  ```json 201 PDF Document Created theme={null}
  {
    "message": "Document created successfully. Processing will begin shortly.",
    "data": {
      "id": 2,
      "name": "Product Manual",
      "description": "User guide for our product",
      "type": "pdf",
      "type_label": "PDF",
      "status": "processing",
      "status_label": "Processing",
      "created_at": "2025-01-08T10:35:00.000000Z"
    }
  }
  ```

  ```json 404 Knowledgebase Not Found theme={null}
  {
    "error": "Knowledgebase not found."
  }
  ```

  ```json 422 Validation Error theme={null}
  {
    "message": "A file is required for this document type.",
    "errors": {
      "file": [
        "A file is required for this document type."
      ]
    }
  }
  ```

  ```json 500 Processing Error theme={null}
  {
    "error": "Failed to create document. Please try again."
  }
  ```
</ResponseExample>

### Типове документи

| Тип       | Описание                                           | Вход                   |
| --------- | -------------------------------------------------- | ---------------------- |
| `website` | Извлича уеб страници и извлича текстово съдържание | URL или списък с URL-и |
| `pdf`     | Извлича текст от PDF файлове                       | Качване на PDF файл    |
| `txt`     | Обикновено текстово съдържание                     | Качване на TXT файл    |
| `docx`    | Извлича текст от Word документи                    | Качване на DOCX файл   |

### Пример: Създаване на Website документ

```bash theme={null}
curl -X POST https://call.aiployees.com/api/user/knowledgebases/1/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Company Website",
    "description": "Main website content",
    "type": "website",
    "url": "https://example.com",
    "relative_links_limit": 20
  }'
```

### Пример: Качване на PDF документ

```bash theme={null}
curl -X POST https://call.aiployees.com/api/user/knowledgebases/1/documents \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "name=Product Manual" \
  -F "description=User guide for our product" \
  -F "type=pdf" \
  -F "file=@/path/to/document.pdf"
```

<Note>
  Обработката на документи е асинхронна. Проверете [get document](/api-reference/knowledgebases/get-document) endpoint-а, за да видите кога обработката е завършена.
</Note>
