Skip to content
OperadeDocs

Search documentation

Type to search documentation.

Documentation
Copy page
Open raw Markdown

Upload a knowledge file

Extract and index one supported knowledge file in a workspace folder.

Endpoint

POST/api/v1/workspaces/{workspace_id}/knowledge/files

Authentication

Operation classAuthenticationMinimum roleAPI key
dashboard-session-apiDashboard session cookie; mutations also require X-CX-Request: 1.adminNot allowed

Parameters

NameInTypeRequiredDescription
workspace_idpathstringYes—

Request body

multipart/form-data request schema

Field pathTypeReferenceFormatNullableRequiredEnumDescription
$objectBody_uploadKnowledgeFile—NoYes——
filestring——NoYes——
folder_idstring or null——YesNo——
namestring or null——YesNo——

Example

cURL
curl --request POST 'https://operade.ai/api/v1/workspaces/ws_demo/knowledge/files' \
  --cookie 'cx_session=YOUR_SESSION_COOKIE' \
  --header 'X-CX-Request: 1' \
  --form 'file=@./example-knowledge.txt'
Request body JSON
{
  "file": "./example-knowledge.txt"
}

Responses

StatusDescriptionContent
4XXHandled client errorapplication/json: ErrorResponse
201Successful Responseapplication/json: KnowledgeDocument

4XX application/json response schema

Field pathTypeReferenceFormatNullableRequiredEnumDescription
$objectErrorResponse—NoYes——
errorobjectErrorItem—NoYes——
error.codestring——NoYes——
error.detailsobject——NoNo——
error.messagestring——NoYes——

201 application/json response schema

Field pathTypeReferenceFormatNullableRequiredEnumDescription
$objectKnowledgeDocument—NoYes——
byte_sizeinteger——NoYes——
chunk_countinteger——NoYes——
created_atstring—date-timeNoYes——
created_byobjectKnowledgeCreator—NoYes——
created_by.emailstring——NoYes——
created_by.idstring——NoYes——
created_by.namestring——NoYes——
errorstring or null——YesYes——
folder_idstring or null——YesYes——
idstring——NoYes——
indexed_atstring or null—date-timeYesYes——
namestring——NoYes——
source_urlstring or null——YesYes——
statusstring——NoYes"pending", "indexing", "ready", "failed"—
typestring——NoYes"text", "file", "url"—
updated_atstring—date-timeNoYes——

Response example

Response body JSON
{
  "id": "string",
  "name": "string",
  "type": "text",
  "status": "pending",
  "error": "string",
  "byte_size": 0,
  "chunk_count": 0,
  "created_by": {
    "id": "string",
    "name": "string",
    "email": "string"
  },
  "created_at": "2026-01-01T00:00:00Z",
  "updated_at": "2026-01-01T00:00:00Z",
  "indexed_at": "2026-01-01T00:00:00Z",
  "source_url": "string",
  "folder_id": "string"
}

Errors

Reviewed common and route-declared errors are summarized here; the list is not exhaustive. Start with the distributed error index to find each code's canonical domain page.

StatusCodeDescription
401unauthenticatedAuthentication is missing, invalid, or revoked.
403forbiddenThe authenticated caller does not have access to this operation.
404not_foundThe requested workspace resource was not found.
422validation_failedThe request did not pass field or business validation.
On this page
  1. Endpoint
  2. Authentication
  3. Parameters
  4. Request body
  5. multipart/form-data request schema
  6. Example
  7. Responses
  8. 4XX application/json response schema
  9. 201 application/json response schema
  10. Response example
  11. Errors
  12. Related operations