---
title: "Preload Knowledge Source"
method: POST
path: "/api/v1/knowledge/{knowledge_source_id}/preload"
tags: ["knowledge"]
---

# Preload Knowledge Source

`POST /api/v1/knowledge/{knowledge_source_id}/preload`

## Request

- Base URL: `https://api.gnosari.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.gnosari.com/api/v1/knowledge/{knowledge_source_id}/preload`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-AUTH-TOKEN`

Trigger asynchronous preload of a knowledge source.

This endpoint records a domain event via the neoqueue outbox pattern.
The actual loading happens asynchronously via the outbox dispatcher.

To track progress, poll GET /knowledge/{id} and check the loading_status field:
- unloaded: Not yet loaded
- loading: Currently being loaded
- loaded: Successfully loaded
- failed: Loading failed

## Path parameters

- `knowledge_source_id` integer, required

## Query parameters

- `force` string: Force reload even if already loaded

## Response `200`

Successful Response

- PreloadResponse: Response for knowledge source preload endpoint.
  - `success` boolean, required: Whether the preload request was accepted
  - `message` string, required: Human-readable result description
  - `event_id` string, nullable: Background job event ID, null if already loading
  - `knowledge_source_id` integer, required: ID of the knowledge source being preloaded
  - `knowledge_source_name` string, required: Name of the knowledge source
  - `status` string, required: Current knowledge source status
  - `note` string, required: Additional context about the preload state

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/gnosari/apis/gnosari-api.md) · [All operations](https://skmtc.dev/gnosari/apis/gnosari-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gnosari/apis/gnosari-api/revisions/f299cf53ae5f?raw)
