Complete upload
POST /projects/:projectid/library/files:complete
Tell the library the bytes have landed.
Call this once you have PUT the file to its storageLink. It records the real size, extracts text where it can, and adds the file to search.
Authentication
- Project API key: The credential for everything external. Created in Project Settings, bound to one project, and limited to the scopes it was granted. Format:
proj.<keyId>.<secret>. - Execution token: Minted automatically for a running workflow and valid only for that workflow's project. Code nodes receive it as INTELLECTIBLE_EXECUTION_TOKEN — you never create one yourself. Format:
exec_<jwt>. - Required permission:
library.write.
Path parameters
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
projectid | string | Yes | - | The project id. |
Request body
Content type: application/json
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
path | string | Yes | - | The storage path returned by Create a file. |
parseOpts | object | No | Options for text extraction. | |
preventSearch | boolean | No | false | Skip adding the file to the search index. |
Example
{
"path": "libraryDocuments/{{PROJECT_ID}}/doc_7Yq1.pdf"
}
Example request
curl -X POST \
-H "Authorization: proj.KEY_ID.SECRET" \
-H "Content-Type: application/json" \
-d '{"path":"libraryDocuments/{{PROJECT_ID}}/doc_7Yq1.pdf"}' \
{{BASE_URL}}/projects/{{PROJECT_ID}}/library/files:complete
Responses
200
The file was processed.
400
path was missing, or the file could not be processed.