Skip to main content

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>.
  • Required permission: library.write.

Path parameters​

NameTypeRequiredDefaultDescription
projectidstringYes-The project id.

Request body​

Content type: application/json

NameTypeRequiredDefaultDescription
pathstringYes-The storage path returned by Create a file.
parseOptsobjectNoOptions for text extraction.
preventSearchbooleanNofalseSkip 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.