Create and manage calculation projects. Each user can have multiple projects to organize their calculations.
List Projects
List all projects for the authenticated user.
query Parameters
limitintegerNumber of projects per page
Default: 25pageintegerPage number
Default: 1statestring · enumFilter by project state
Enum values:activearchiveddeletedDefault: active
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
List of projects
projectsobject[] · requiredpaginationobject · required
Create Project
Create a new project to organize your calculations.
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body
namestring · requiredProject name
projectNumberstringOptional project number
clientNamestringOptional client name
buildingStandardstring · enumBuilding standard/code region (US=United States, EU=Europe/Eurocode, AU=Australia, CA=Canada, NZ=New Zealand)
Enum values:USEUAUCANZDefault: USunitSystemstring · enumUnit system (FPS=Imperial, MKS=Metric)
Enum values:FPSMKSDefault: FPS
Responses
Project created successfully
projectIdstring · uuid · requiredUnique identifier for the created project
namestring · requiredProject name
projectUrlstring · uriDirect link to the project in the ClearCalcs web app. Always emitted in practice; not marked
requiredso existing consumers using strict schema validation against the previous spec are not broken.
Get Project
Get details of a specific project.
path Parameters
projectIdstring · requiredProject UUID
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Project details
projectIdstring · uuid · requiredUnique identifier for the project
namestring · requiredProject name
projectUrlstring · uriDirect link to the project in the ClearCalcs web app. Always emitted in practice; not marked
requiredso existing consumers using strict schema validation against the previous spec are not broken.
List Project Sheets
List all calculation sheets in a project.
path Parameters
projectIdstring · requiredProject UUID
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
List of sheets in the project
sheetsobject[] · requiredpaginationobject · required
Export Project to PDF
Kick off an asynchronous PDF export for a project. Returns immediately with an exportId — the PDF is generated in the background by AWS Lambda (Puppeteer rendering each sheet, then combined with watermarks).
Poll GET /v1/exports/{exportId} until state === "completed", then download from the exportUrl (presigned S3 URL, refreshed on each poll with a 10-minute TTL).
If no sheetIds are provided, all sheets in the project are exported.
path Parameters
projectIdstring · requiredProject UUID
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Request Body optional
sheetIdsstring[]Sheet UUIDs to include in the export. Defaults to all sheets in the project.
printModestring · enumLevel of detail in the PDF.
supersummary= one-line per sheet,summary= standard output,details= full working.Enum values:supersummarysummarydetailsDefault: summarypaperSizestring · enumEnum values:A4LetterDefault: LetterlocalestringBCP-47 locale used for number and unit formatting (e.g.
en-US,en-AU,en-GB).Default: en-USincludeTocbooleanInclude a table-of-contents page at the start of the PDF.
Default: false
Responses
Export job accepted. Poll GET /v1/exports/{exportId} until state === "completed".
exportIdstring · uuid · requiredstatestring · enum · requiredEnum values:processingcompletedfailedprogressPercentnumber · min: 0 · max: 100 · requiredexportUrlstring · uri · requiredPresigned S3 URL. Only valid for download once
state === "completed". Expires 10 minutes after this response.
Get Export Status
Poll for the current state of a PDF export job. While the job is running, state is processing and progressPercent advances from 0 to 100. When state === "completed", download the PDF from exportUrl (presigned, expires 10 minutes after this response — re-poll to get a fresh URL).
If state === "failed", the export will not complete and a new one must be kicked off.
path Parameters
exportIdstring · uuid · requiredExport ID returned from
POST /v1/projects/{projectId}/export
Headers
Authorizationstring · requiredThe
Authorizationheader is used to authenticate with the API using your API key. Value is of the formatBearer YOUR_KEY_HERE.
Responses
Current export status
exportIdstring · uuid · requiredstatestring · enum · requiredEnum values:processingcompletedfailedprogressPercentnumber · min: 0 · max: 100 · requiredexportUrlstring · uri · requiredPresigned S3 URL. Only valid for download once
state === "completed". Expires 10 minutes after this response.