REST API reference
API overview · GraphQL reference
Use the endpoint explorer below to browse REST v2 operations by resource, inspect request bodies, and review response schemas. Use Filter by tag or path to find a resource group such as Projects or an endpoint containing reports.
Authentication
Base URL: https://api.preimage.ai/v2
REST requests use a bearer token in the Authorization header. Contact support@preimage.ai to arrange REST access and token setup for your integration.
curl 'https://api.preimage.ai/v2/workspace' \ --header "Authorization: Bearer $PREIMAGE_REST_TOKEN"Set PREIMAGE_REST_TOKEN in your server-side environment to the token provided for your integration. The workspace API key used by GraphQL is a different credential.
In the explorer, choose Authorize and enter the token without the Bearer prefix. Authorization is kept only for the current page session. Try it out sends a real request to the production API; write operations change data and may start processing.
Explore endpoints
This reference covers selected workspace, project, scan, floor, report, transfer, and virtual tour operations. Available actions depend on your permissions and enabled features. Response schemas are shown where they are defined in the API specification.
Download the OpenAPI specification to use with compatible clients or code-generation tools.
The endpoint explorer could not load. Use the endpoint index below or download the OpenAPI specification.
Endpoint index
Find an operation by its method and path. Expand it in the explorer for parameters and schemas.
-
GET /workspace— List user workspaces -
GET /workspace/projects/{workspaceId}— List workspace projects -
GET /workspace/{workspaceId}/timeline— Get workspace timeline -
GET /workspace/stats/{workspaceId}— Get workspace statistics -
GET /workspace/users/{workspaceId}— List workspace users -
POST /project— Create a new project -
GET /project/{projectId}— Get project details -
PATCH /project/{projectId}— Update project details -
DELETE /project/{projectId}— Delete a project -
POST /project/{projectId}/upload-url— Get signed URL for file upload -
GET /project/scans/{projectId}— Get project scans -
GET /projects/{projectId}/floors— Get Floors -
POST /scan— Create a new scan -
DELETE /scan— Delete multiple scans -
GET /scan/{scanId}— Get scan details -
PUT /scan/{scanId}— Update scan details -
DELETE /scan/{scanId}— Delete a scan -
GET /scan/{scanId}/files— Get scan files -
POST /scan/{scanId}/triggerProcessing— Trigger scan processing -
POST /scan/add-outputs— Add additional outputs to an existing scan -
GET /scan/{scanId}/density-image— Get Density Image -
PATCH /scan/{scanId}/mark-as-uploaded— Mark scan files as uploaded -
PUT /scan/{scanId}/move-to-project/{targetProjectId}— Move Scan -
GET /scan/{scanId}/reports— Get Reports by Scan ID -
POST /scan/{scanId}/reports— Request Report -
PATCH /floor/{floorId}— Update Floor -
DELETE /floor/{floorId}— Delete Floor -
PATCH /floor/{floorId}/update-metadata— Update Floor metadata -
POST /workspaces/{workspaceId}/projects/{projectId}/transfers— Create a project transfer -
PATCH /workspaces/{workspaceId}/projects/{projectId}/transfers/{transferId}— Update a project transfer -
GET /virtual-tour/{tourId}/reference-measurements— Get Reference Measurements -
DELETE /virtual-tour/{tourId}/reference-measurements— Delete All Reference Measurements of a Virtual Tour
Troubleshooting
| Response | What to check |
|---|---|
400 | Required fields, parameter types, IDs, and request body format. |
401 | Whether the bearer token is missing, invalid, or expired. |
403 | Whether the authenticated account has permission for the workspace and operation. |
404 | Whether the resource exists and the ID and route are correct. |
If a browser request cannot reach the API, try the equivalent request from your server or terminal. Include the method, path, response status, and approximate request time when contacting support; remove tokens and signed URLs.