This page covers:
GET /api/FilePUT /api/FileDELETE /api/FilePUT /api/FileBinaryPUT /api/FileBinaryDirectGET /api/FileStatusFetch a file record by UID or by full file path.
Item Value Method GETPath /api/FileAuth User bearer token Response FileMap JSON
Parameter Required Format Notes fileUIDOne of fileUID or fileName GUID If both are present, fileUID is used first. fileNameOne of fileUID or fileName Full stored file path Example: Design/chair.step includeShapeletsNo true or falseAdds shapelet, page, and image detail where available. Defaults to false. lgFileNumberNo String Page/view selector for multi-page files. Defaults to "" (empty string). includeShapesNo true or falseInternal/mobile-only detail. Do not use unless directed. Defaults to false. accountNameNo String Only use if VizSeek explicitly tells you to. Defaults to null.
Field Meaning UIDFile UID VizSpaceIDCompany or owner context FileNameStored file path/name DisplayNameUser-facing display name AttributesSaved structured attributes ExtractedAttributesExtracted attributes, when populated ThumbNailURLFromIDThumbnail URL PNGURLFromIDLarge-image URL PDFUrlPDF viewer URL if applicable HasThumbnailThumbnail availability flag IndexingFinishedtrue when indexing is completeAssemblyParents / AssemblyChildrenAssembly relationships for 3D files
"UID" : " b5d3674c-488c-41cb-a9f7-58a42cac85dd " ,
"VizSpaceID" : " 24395dfe-7917-4976-a198-0fe3aa9a6a06 " ,
"FileName" : " Design/example-assembly.step " ,
"DisplayName" : " example-assembly.step " ,
" document_number=AX-1000 " ,
" document_type=Assembly " ,
"ThumbNailURLFromID" : " https://your-server.example.com/.../sm.jpg " ,
"PNGURLFromID" : " https://your-server.example.com/.../lg.png " ,
curl -G " https://your-server.example.com/api/File " \
-H " Authorization: Bearer USER_BEARER_TOKEN " \
--data-urlencode " fileUID=b5d3674c-488c-41cb-a9f7-58a42cac85dd " \
--data-urlencode " includeShapelets=true "
Upload a file as either:
a search-input file (isSearchInput=true, the default), or a persistent file in the company database (isSearchInput=false) Item Value Method PUTPath /api/FileAuth User bearer token Content-Type application/jsonResponse Plain file UID string
Parameter Required Format Notes fileYes URL-encoded string For search input, send only the extension such as .png or .stp. For database upload, send the full stored path such as Design/chair.step. isGZipCompressedNo true or falseLegacy. Only set this when the bytes are actually gzipped. isSearchInputNo true or falseDefaults to true. attributesNo URL-encoded nested query string Only applied when isSearchInput=false. QRCodeIdNo String Internal only. categoryIdNo Integer Required only for companies that use file categories. textOnlyNo true or falseSkip shape indexing. attrTemplateNo String Do not use unless VizSeek instructs you to. uidNo GUID If provided, the upload must be a valid GUID. Existing files with that UID are overwritten. rmIfDupNo true or falseRemove later duplicates that match this file. isPriorityNo true or falseDeprecated / no-op. Accepted for backward compatibility but ignored; upload priority is determined by your company profile. overwriteFileNo true, false, or omittedControls duplicate-path behavior for company database uploads. indexAssemblyComponentsNo true or falseIndex assembly components too. callbackParamNo String Included in callback payload when callback settings are configured in the UI. accountNameNo String Only use if VizSeek explicitly tells you to.
The body is a JSON string whose value is the base64-encoded file bytes:
Do not send raw binary here. Use /api/FileBinary or /api/FileBinaryDirect for raw binary uploads.
If isSearchInput=true, the file query value should be an extension, not a path. Use .png, .pdf, .stp, and so on. If isSearchInput=false, the attributes query parameter is decoded and parsed as a nested query string such as Width=10.5&Color=Blue. The current controller only reads attributes when isSearchInput=false. .ifz uploads must preserve the original extension before .ifz, for example gear.stl.ifz, not just .ifz.Uploads under 1024 bytes are rejected with HTTP 400. For PUT /api/File the 1024 is measured against the base64 string length, not the decoded byte count. server = " https://your-server.example.com "
token = " USER_BEARER_TOKEN "
filename = " example-input.dxf "
with open ( filename , " rb " ) as f:
body = json. dumps ( base64. b64encode ( f. read ()) . decode ( " ascii " ))
f " {server} /api/File?file=.dxf&isSearchInput=true" ,
" Authorization " : f "Bearer {token} " ,
" Content-Type " : " application/json " ,
server = " https://your-server.example.com "
token = " USER_BEARER_TOKEN "
filename = " example-assembly.step "
with open ( filename , " rb " ) as f:
body = json. dumps ( base64. b64encode ( f. read ()) . decode ( " ascii " ))
" document_number=AX-1000 "
" &document_type=Assembly "
" &material=Stainless Steel "
attributes_qs = urllib.parse. quote ( attributes_raw , safe = "" )
f " {server} /api/File?file=Design/example-assembly.step"
f "&attributes= {attributes_qs} " ,
" Authorization " : f "Bearer {token} " ,
" Content-Type " : " application/json " ,
PUT /api/File?file=.stp&isSearchInput=true HTTP / 1.1
Host : your-server.example.com
Authorization : Bearer USER_BEARER_TOKEN
Content-Type : application/json
Delete a file by UID.
Item Value Method DELETEPath /api/FileAuth User bearer token Response Boolean
curl -X DELETE " https://your-server.example.com/api/File?fileUID=b5d3674c-488c-41cb-a9f7-58a42cac85dd " \
-H " Authorization: Bearer USER_BEARER_TOKEN "
Same logical behavior as PUT /api/File, but the body is raw binary instead of a JSON base64 string.
Item Value Method PUTPath /api/FileBinaryAuth User bearer token Content-Type application/octet-streamResponse Plain file UID string
Use the same query parameters described for PUT /api/File.
with open ( " example-input.dxf " , " rb " ) as f:
f " {server} /api/FileBinary?file=.dxf&isSearchInput=true" ,
" Authorization " : f "Bearer {token} " ,
" Content-Type " : " application/octet-stream " ,
Same raw-binary upload pattern as FileBinary, but the response is a populated FileMap object instead of only the UID.
Item Value Method PUTPath /api/FileBinaryDirectAuth User bearer token Content-Type application/octet-streamResponse FileMap JSON
Parameter Required Notes includeShapeletsNo Include shapelet detail in the returned FileMap. lgFileNumberNo Page/view selector for multi-page assets. includeShapesNo Internal/mobile-only detail.
with open ( " example-input.dxf " , " rb " ) as f:
f " {server} /api/FileBinaryDirect?file=.dxf&isSearchInput=true&includeShapelets=true" ,
" Authorization " : f "Bearer {token} " ,
" Content-Type " : " application/octet-stream " ,
Poll the indexing state of an uploaded file.
Item Value Method GETPath /api/FileStatusAuth User bearer token Response String or null
Parameter Required Notes fileUIDYes File UID to poll
Response Meaning nullNot indexed yet, or indexing failed before a usable timestamp was written Timestamp string Indexing completed { dupFids: ..., simFids: ... }Indexing completed and duplicates/similar-file info is available
If the file was uploaded with rmIfDup=true, duplicate detection can remove the file after status is checked.
curl -G " https://your-server.example.com/api/FileStatus " \
-H " Authorization: Bearer USER_BEARER_TOKEN " \
--data-urlencode " fileUID=b5d3674c-488c-41cb-a9f7-58a42cac85dd "