Skip to content

Knowledge bases

Upload document

Upload one document as multipart form data. Processing continues asynchronously after the document is accepted. OAuth scope: `api:write`.

POST/api/v2/knowledge/{knowledgeBaseId}/documents

Upload one document as multipart form data. Processing continues asynchronously after the document is accepted.

OAuth scope: api:write.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:write

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:write.

Path parameters

knowledgeBaseIdstringRequired

Unique knowledge base identifier.

minLength
1

Query parameters

workspaceIdstringRequired

Workspace that owns the knowledge base.

minLength
1
maxLength
128

Request body

Required

Multipart form containing the document file.

object

Multipart form containing the document file.

1 field
filestringRequired

Document file to upload; the maximum size is 100 MiB.

format
binary
maxLength
104857600
Additional propertiesvalue

Additional multipart form fields are ignored.

Responses

201

The accepted document queued for processing.

object

An accepted knowledge document summary.

1 field
dataobjectRequired

Response data.

11 fields
idstringRequired

Unique document identifier.

knowledgeBaseIdstringRequired

Knowledge base to which the document belongs.

filenamestringRequired

Original filename of the uploaded document.

fileSizenumberRequired

File size in bytes.

mimeTypestringRequired

MIME type of the document file.

processingStatusstringRequired

Current document processing state.

enum
["pending","processing","completed","failed"]
chunkCountnumberRequired

Number of indexed chunks; zero until processing completes.

tokenCountnumberRequired

Total tokens extracted from the document.

characterCountnumberRequired

Total characters extracted from the document.

enabledbooleanRequired

Whether the document is enabled for search.

createdAtvalueRequired

ISO 8601 timestamp when the document was uploaded, or null.

format
date-time
Schema details

Any of

Option 1string
Option 2null

Additional properties are not allowed.

Additional properties are not allowed.

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit