Skip to content
Main site Contact

Utilities

This page covers:

  • GET /api/ValidUploadFileTypes
  • GET /api/Version
  • PUT /api/ConvertFiles
  • GET /api/VizSeekFileCount
  • GET /api/MonthlyUsage

Return the currently allowed upload file extensions.

ItemValue
MethodGET
Path/api/ValidUploadFileTypes
AuthApp bearer token is sufficient
ResponseString array
Terminal window
curl "https://your-server.example.com/api/ValidUploadFileTypes" \
-H "Authorization: Bearer APP_BEARER_TOKEN"
[
".pdf",
".png",
".jpg",
".jpeg",
".webp",
".dxf",
".dwg",
".step",
".stp",
".stl"
]

Return the API version and the engine/backend version.

ItemValue
MethodGET
Path/api/Version
AuthNo bearer token
ResponseJSON object with apiVersion and engineVersion
Terminal window
curl "https://your-server.example.com/api/Version"
{
"apiVersion": "1.2.345",
"engineVersion": "2026.05.08"
}

Convert one or more 3D files to either STL or STEP and return a ZIP as base64 text.

ItemValue
MethodPUT
Path/api/ConvertFiles
AuthUser bearer token
Content-Typeapplication/json
ResponsePlain base64 string containing a ZIP file
ParameterRequiredNotes
fileNamesYesComma-separated file names, in the same order as the uploaded file array
conversionExtensionYesstl or step
useCompanyFolderNoInternal-use option

The body is a JSON string whose contents are a JSON array of base64-encoded file byte arrays:

"[\"BASE64_FILE_1\",\"BASE64_FILE_2\"]"
import base64
import json
import requests
files = []
for path in ["part1.step", "part2.step"]:
with open(path, "rb") as f:
files.append(base64.b64encode(f.read()).decode("ascii"))
body = json.dumps(json.dumps(files))
resp = requests.put(
f"{server}/api/ConvertFiles?fileNames=part1.step,part2.step&conversionExtension=stl",
headers={
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
},
data=body,
)
resp.raise_for_status()
zip_bytes = base64.b64decode(resp.text)
with open("converted.zip", "wb") as f:
f.write(zip_bytes)

Return the current database file count for the authenticated user’s company.

ItemValue
MethodGET
Path/api/VizSeekFileCount
AuthUser bearer token
ResponseInteger
Terminal window
curl "https://your-server.example.com/api/VizSeekFileCount" \
-H "Authorization: Bearer USER_BEARER_TOKEN"

Return file-count and token-usage summary for the current month or a historical billed month.

ItemValue
MethodGET
Path/api/MonthlyUsage
AuthUser bearer token
ResponseMonthlyUsageResponse JSON
ParameterRequiredNotes
yearNoUse with month for historical data
monthNoUse with year for historical data
  • If year and month are both omitted, the endpoint returns live current-month usage.
  • If one is missing, the endpoint still falls back to current-month usage.
  • If both are present and they match the current month, the endpoint returns live current-month usage.
  • If both are present for a past month, the endpoint returns the archived monthly invoice row if one exists.
Terminal window
curl -G "https://your-server.example.com/api/MonthlyUsage" \
-H "Authorization: Bearer USER_BEARER_TOKEN" \
--data-urlencode "year=2026" \
--data-urlencode "month=4"
{
"BillingPeriod": "08/01/2025 - 08/31/2025",
"FilePlanLimit": 25000,
"RemainingFiles": 18345,
"FileCount": {
"Doc": 6,
"2D": 555,
"3D": 1212,
"Photo": 188,
"Total": 6655
},
"TokenPlanLimit": 6000,
"RemainingTokens": 5849.6,
"TokenUsage": {
"TokenFileIndex": 5.0,
"TokenTableIndex": 0.0,
"TokenStorage": 133.1,
"TokenVSearch": 8.0,
"TokenTSearch": 0.5,
"TokenRAG": 1.0,
"TokenCompare": 2.5,
"Token2DPMI": 0.3,
"Token3DConvert": 0.0,
"Total": 150.4
}
}