Resources

API – Metadata Reports

API Base URL: https://api-platform.vntana.com

For a collection of all Endpoints in our Admin API, view the documentation here. To view the collection of Public Endpoints, view the documentation hereNote: In the following guide and aforementioned documentation, you will see referenced in numerous Endpoints something called a Client. This refers to the folders one can create on the Platform within an Organization. The Client nomenclature is a legacy reference being replaced with Folder. These will be referenced as Client / Folder in all guides.

Report Generation Endpoint

The VNTANA Metadata App allows for the quick generation of reports containing various data about your Assets on the Platform. This is accomplished via API calls which can be utilized on their own and can be directly integrated into any pipeline. For generating pipelines, there is a single endpoint that needs to be called:

1
2
3
4
5
6
7
8
9
10
11
Method: POST
Endpoint: /v1/product-data/export
Headers: { x-auth-token: ‘Bearer ‘ + refreshToken }
Body: {
‘type’ : ‘CSV’,
‘clientsUuids’ : [],
‘requestedColumns’ : [],
‘includeColumnHeaders’ : true,
‘oneSheetPerWorkspace’ : true,
‘async’ : false
}
  • type – [required] Indicates what filetype the data should be returned as, options are [CSV, XLSX].

  • clientsUuids – [required] Indicates which Workspaces the data should be collected from.

  • requestColumns – [required] A list of all pieces of information that should be included in the sheet. Leave empty to include everything. See below for the full list of all options.

  • includeColumnHeaders – [optional] Indicates whether a header row should be included. Default true.

  • oneSheetPerWorkspace – [optional] Indicates whether Workspaces should be separated into their own sheets. Only applicable if type is set to XLSX. Default false.

  • async – [optional] Indicates whether the request is async or not. This allows for monitoring the request, see below on checking the status of a report request.

A successful request will return the following data:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
“success”: true,
“errors”: [],
“response”: {
“blobId”: “id.csv”,
“reportSize”: 10653,
“reportName”: “”,
“contentType”: “text/csv”,
“signedUrl”: “…”,
“generationUuid”: “”,
“status”: “COMPLETED”
}
}
This response contains the signedUrl parameter which can be used to download the newly generated report. It also identifies the generationUuid which can be used to track the status of the report generation if async was set to true.
Report Product Attributes

As shown above, the request takes a parameter called requestedColumns which is a list containing all data fields that should be returned in the report. The list of all options covers most pieces of information about an Asset, with some having specific behaviors to consider when generating. One key point to note on generating reports, the data that is returned is always Asset centric, meaning each row always corresponds to an Asset on the Platform. 

AttributeDescriptionNotes
PRODUCT_NAMESimply the name of an Asset
PRODUCT_UUIDThe UUID of an Asset
PRODUCT_STATUSThe conversion status of an AssetLIVE_PUBLIC, LIVE_INTERNAL, DRAFT, FAILED, TERMINATED
PRODUCT_ASSET_TYPEThe type of the AssetIndicates whether the asset is a 3D Asset, image, video, avatar, etc.
PRODUCT_ORIGINAL_FILE_NAMEThe name of the original file that was uploaded. This may be the same as the Asset Name.
PRODUCT_WORKSPACE_NAMEThe name of the Workspace this Asset is contained within.
PRODUCT_WORKSPACE_SLUGThe slug of the Workspace containing the Asset.This is a unique identifier for the Workspace, based on the original name of the Workspace. While it is possible to rename a Workspace, this slug will always remain the same.
PRODUCT_WORKSPACE_UUIDThe UUID of the Workspace containing the Asset.Another unique identifier for the Workspace, this id will never change.
PRODUCT_EMBED_LINKThe Embed Link of an Asset for sharing.
PRODUCT_DESCRIPTIONThe description of an Asset, if it has one.
PRODUCT_TAGSAll tags applied to an Asset.Due to the nature of tags not having any kind of ‘groupable' identifier, the tags will be returned in a single column with each row containing a list of each tag on the Asset. i.e. tag1|tag2|tag3.
PRODUCT_ATTRIBUTESAll attributes on an Asset.Attributes are a unique case in the possible items that can be returned. Due to the Showrooms feature, attributes exist on the Organization level, so selecting this option will provide a column for each attribute in the Organization, filling in individual rows based on whether the Asset in question has a value for that attribute. The column header will be the key of the attribute with the row value being the attribute value.
PRODUCT_PROJECT_UUIDA list of Project UUIDs the Asset is a part of.Returns only direct Project links, no sub-projects or parent-projects. May return multiple UUID’s if the Asset is linked to multiple, the value will be uuid1|uuid2|uuid3.
PRODUCT_PROJECT_NAMEA list of Project Names the Asset is a part of.Same as the Project UUID’s, only direct links with values like name1|name2|name3.
ORIGINAL_FILE_SIZEThe original size of the uploaded File in MB.
OPTIMIZED_FILE_SIZEThe file size of the Optimized Assets.Will return columns for each optimized file type, GLB, USDZ, FBX.
ORIGINAL_POLY_COUNTThe original poly count of the uploaded File.
OPTIMIZED_POLY_COUNTThe poly count of each optimized version.Returns counts for the GLB, USDZ, and FBX.
ORIGINAL_VERTEX_COUNTThe original vertex count of the uploaded File.
OPTIMIZED_VERTEX_COUNTThe vertex count of each optimized version.Returns counts for the GLB, USDZ, and FBX.
OPTIMIZATION_PRESETThe UUID and Name of the Optimization Preset applied to the Asset, if applicable.Returned in the format uuid|name.
VIEWER_PRESETThe UUID and Name of the Viewer Preset applied to the Asset, if applicable.Returned in the format uuid|name.
PRODUCT_CREATED_DATEThe timestamp of when the Asset was created.
PRODUCT_UPDATED_DATEThe timestamp of when the Asset was last updated.
AMAZON_PUBLISH_STATUSReturns the individual publish status for each Amazon marketplace linked to the Organization.If you have added the stores United States and Canada to your Organization, this value will return the columns Amazon Integration - United States and Amazon Integration - Canada with the publish status of the asset for each.
AMAZON_ASINSReturns the ASINs applied to an Asset per Amazon marketplace.If you have added the stores United States and Canada to your Organization, this will return the columns Amazon Integration - United States ASINs and Amazon Integration - Canada ASINs. The value of the rows will simply be the ASIN.
ASSET_DIMENSIONSReturns the dimensions in centimeters of the Assets bounding box.This is currently only used for the Amazon Integration.

Checking the Status of a Report

If the async option is used (set to true) when generating a report, the status can be checked using the following endpoint:

1
2
3
Method: GET
Endpoint: /v1/product-data/export/{generationUuid}/status
Headers: { x-auth-token: ‘Bearer ‘ + refreshToken }

This uses the generationUuid returned in the response of the generation request to identify the report when getting the status. A successful request will return the following response:

1
2
3
4
5
6
7
8
9
10
11
12
13
{
“success”: true,
“errors”: [],
“response”: {
“blobId”: “”,
“reportSize”: 10653,
“reportName”: “”,
“contentType”: “text/csv”,
“signedUrl”: “”,
“generationUuid”: “”,
“status”: “COMPLETED”
}
}

The response is the same response found from the regular request, with the signedUrl value allowing you to download the report is the status is COMPLETED.

On This Page

Accelerate Your
Digital Transformation

Learn how our platform can automate your 3D process.

Tap the magnifying glass to the left of your screen to search our resources.