GetModels
Retrieve a paginated list of 3D models for the authenticated user.
API Playground
Get a paginated list of 3D models for the currently authenticated user.
Your authentication token will be sent as: Authorization: Bearer <token>
Page number to request (1-based index)
Number of models per page (defaults to 8)
Endpoint
GET https://devapi.marketiger3d.com/v2/Model3D/GetModels?page={page}&pageSize={pageSize}
Authentication
This endpoint requires a Bearer token. Include the token in the Authorization header:
Authorization: Bearer <your_access_token>
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page | integer | Yes | Page number to retrieve (>= 1) |
| pageSize | integer | No | Number of models per page (defaults to 8, >= 1) |
Models are ordered by upload date in descending order (most recent first).
Example Request
curl -X GET "https://devapi.marketiger3d.com/v2/Model3D/GetModels?page=1&pageSize=8" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Success Response (200 OK)
When models are present on the requested page, the response is wrapped in success/data and uses camelCase field names:
{
"success": true,
"data": {
"models": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"status": 3,
"uploaded": "2024-01-01T10:00:00Z",
"fileName": "example.zip",
"volume": 7.99805,
"supportVolume": 1.32195,
"bounds": "x:20 y:20 z:20",
"price": 2385,
"parts": 1,
"scale": 1000,
"image": "https://s3.eu-north-1.amazonaws.com/.../08de3d77-17f5-4581-81d8-fcaa04701e93_0.png",
"additionalImages": [
"https://s3.eu-north-1.amazonaws.com/.../08de3d77-17f5-4581-81d8-fcaa04701e93_0.png",
"https://s3.eu-north-1.amazonaws.com/.../08de3d77-17f5-4581-81d8-fcaa04701e93_1.png"
]
}
],
"totalPages": 4,
"pageSize": 8,
"currentPage": 1,
"totalRecords": 25
}
}
Response Schema
| Field | Type | Description |
|---|---|---|
| success | boolean | Indicates if the request succeeded |
| data | object | Container for the response payload |
| data.models | array of objects | List of models on the requested page |
| data.totalPages | integer | Total number of available pages |
| data.pageSize | integer | Number of models per page |
| data.currentPage | integer | Current page number |
| data.totalRecords | integer | Total number of models for the user |
| data.models[].id | string (GUID) | Model ID |
| data.models[].status | integer | Processing status of the model |
| data.models[].uploaded | string (date-time) | When the model was uploaded |
| data.models[].fileName | string | Name of the uploaded file |
| data.models[].volume | number | Model volume (null if not processed) |
| data.models[].supportVolume | number | Estimated support volume (null if not processed) |
| data.models[].bounds | string | Bounding box dimensions (null if not processed) |
| data.models[].price | number | Calculated model price (null if not processed) |
| data.models[].parts | integer | Number of detected parts (null if not processed) |
| data.models[].scale | number | Scale factor (null if not processed) |
| data.models[].image | string (URL) | Primary preview image (temporary, pre-signed, null if not available) |
| data.models[].additionalImages | array of strings | Preview image URLs (temporary, pre-signed, empty if not available) |
Empty Page Response
If the requested page is valid but contains no models, the response includes an empty models array with pagination metadata:
{
"success": true,
"data": {
"models": [],
"totalPages": 1,
"pageSize": 8,
"currentPage": 1,
"totalRecords": 0
}
}
Error Responses
400 Bad Request (Invalid parameters)
When page or pageSize is less than or equal to 0:
{
"success": false,
"error": {
"type": "OPERATION_FAILED",
"message": "Page and pageSize must be greater than 0."
}
}
400 Bad Request (Authentication error)
{
"success": false,
"error": {
"type": "AUTHENTICATION",
"message": "User email not found."
}
}
or
{
"success": false,
"error": {
"type": "AUTHENTICATION",
"message": "User not found."
}
}
401 Unauthorized
{
"success": false,
"error": {
"type": "AUTHENTICATION",
"message": "Authentication required. Please provide a valid Bearer token."
}
}
Notes
- Models are returned in descending order by upload date (most recent first)
- Only models owned by the authenticated user are returned
- The
pageSizeparameter is optional and defaults to 8 if not provided - Image URLs (
imageandadditionalImages) are pre-signed S3 URLs that expire after approximately 5 minutes - Fields like
volume,supportVolume,bounds,price,parts, andscalemay benullif the model has not finished processing - The
statusfield indicates the processing status of the model:- Status 1: Uploaded (waiting to be processed)
- Status 2: Processing
- Status 3: Processed successfully
- Status 4: Failed to process