Skip to main content

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

NameTypeRequiredDescription
pageintegerYesPage number to retrieve (>= 1)
pageSizeintegerNoNumber 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

FieldTypeDescription
successbooleanIndicates if the request succeeded
dataobjectContainer for the response payload
data.modelsarray of objectsList of models on the requested page
data.totalPagesintegerTotal number of available pages
data.pageSizeintegerNumber of models per page
data.currentPageintegerCurrent page number
data.totalRecordsintegerTotal number of models for the user
data.models[].idstring (GUID)Model ID
data.models[].statusintegerProcessing status of the model
data.models[].uploadedstring (date-time)When the model was uploaded
data.models[].fileNamestringName of the uploaded file
data.models[].volumenumberModel volume (null if not processed)
data.models[].supportVolumenumberEstimated support volume (null if not processed)
data.models[].boundsstringBounding box dimensions (null if not processed)
data.models[].pricenumberCalculated model price (null if not processed)
data.models[].partsintegerNumber of detected parts (null if not processed)
data.models[].scalenumberScale factor (null if not processed)
data.models[].imagestring (URL)Primary preview image (temporary, pre-signed, null if not available)
data.models[].additionalImagesarray of stringsPreview 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 pageSize parameter is optional and defaults to 8 if not provided
  • Image URLs (image and additionalImages) are pre-signed S3 URLs that expire after approximately 5 minutes
  • Fields like volume, supportVolume, bounds, price, parts, and scale may be null if the model has not finished processing
  • The status field 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