3dverse Asset API (1.0)

Download OpenAPI specification:Download

API Gateway

This repository defines the public API routes and maps the request to the relevant services.

The routes are generated from the OpenAPI specs inside /spec/paths.

To regenerate the routes from the specs, run npm run generator. To run locally, run npm run start.

Users

List users

Retrieve a list of all users in the current application.

Authorizations:
ApiKey
query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Register a user

Registers the target user in the current application.

Authorizations:
ApiKey
Request Body schema: application/json

The user unique username.

username
required
string non-empty

Used only for debug purposes

Responses

Request samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "username": "John-Mitchell"
}

Response samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "username": "John-Mitchell",
  • "registered_at": "2019-08-24T14:15:22Z"
}

Get user details

Retrieves details about the target user.

Authorizations:
ApiKey
path Parameters
user_id
required
string <uuid> (UserId)

User unique identifier

Responses

Response samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "username": "John-Mitchell",
  • "registered_at": "2019-08-24T14:15:22Z"
}

Update user details

Updates the details of the target user.

Authorizations:
ApiKey
path Parameters
user_id
required
string <uuid> (UserId)

User unique identifier

Request Body schema: application/json

Change the username

username
required
string non-empty

Used only for debug purposes

Responses

Request samples

Content type
application/json
{
  • "user_id": "a169451c-8525-4352-b8ca-070dd449a1a5",
  • "username": "John-Mitchell"
}

Delete user

Deletes the target user.

Authorizations:
ApiKey
path Parameters
user_id
required
string <uuid> (UserId)

User unique identifier

Responses

Response samples

Content type
application/json
{
  • "deleted_assets": {
    }
}

List groups

Lists all user groups.

Authorizations:
ApiKey
path Parameters
user_id
required
string <uuid> (UserId)

User unique identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List upload tasks

Lists all upload tasks of the target user.

Authorizations:
ApiKey
path Parameters
user_id
required
string <uuid> (UserId)

User unique identifier

query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

Responses

Response samples

Content type
application/json
[
  • {
    }
]

User Authentication

Generate a user token

Generates a user token. This user token identifies the user when making a request.

Authorizations:
ApiKey
path Parameters
user_id
required
string <uuid> (UserId)

User unique identifier

Request Body schema: application/json
scope
required
string
Enum: "read" "write" "manage"

Token permission scope

ttl
string <duration>
Default: "1h"

Time to live

Responses

Request samples

Content type
application/json
{
  • "scope": "read",
  • "ttl": "1h"
}

Response samples

Content type
application/json
{
  • "user_token": "string",
  • "expires_in": 0,
  • "expires_on": 0
}

Groups

Create a group

Creates a new user group.

Authorizations:
ApiKey
Request Body schema: application/json
name
required
string non-empty
description
string
required
Array of objects (GroupMember)

Responses

Request samples

Content type
application/json
{
  • "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  • "name": "Delta Force",
  • "description": "The 1st Special Forces Operational Detachment-Delta (1st SFOD-D).",
  • "members": [
    ]
}

Response samples

Content type
application/json
{
  • "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  • "name": "Delta Force",
  • "description": "The 1st Special Forces Operational Detachment-Delta (1st SFOD-D).",
  • "created_at": "2019-08-24T14:15:22Z",
  • "members": [
    ]
}

Get group details

Gets a group details.

Authorizations:
ApiKeyUserToken
path Parameters
group_id
required
string <uuid> (GroupId)

Group unique identifier

Responses

Response samples

Content type
application/json
{
  • "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  • "name": "Delta Force",
  • "description": "The 1st Special Forces Operational Detachment-Delta (1st SFOD-D).",
  • "created_at": "2019-08-24T14:15:22Z",
  • "members": [
    ]
}

Update group details

Updates a group details.

Authorizations:
ApiKeyUserToken
path Parameters
group_id
required
string <uuid> (GroupId)

Group unique identifier

Request Body schema: application/json
name
required
string non-empty
description
required
string

Responses

Request samples

Content type
application/json
{
  • "group_id": "306db4e0-7449-4501-b76f-075576fe2d8f",
  • "name": "Delta Force",
  • "description": "The 1st Special Forces Operational Detachment-Delta (1st SFOD-D).",
  • "members": [
    ]
}

Delete group

Deletes a group and all its access rights.

Authorizations:
ApiKeyUserToken
path Parameters
group_id
required
string <uuid> (GroupId)

Group unique identifier

Responses

Grant access to group

Grants member access to the group.

Authorizations:
ApiKeyUserToken
path Parameters
group_id
required
string <uuid> (GroupId)

Group unique identifier

member_type
required
string
Enum: "users" "groups"

User or group

member_id
required
string <uuid>

User or group unique identifier

Request Body schema: application/json
group_access
required
string
Enum: "read" "write" "manage"
folder_access
required
string
Enum: "read" "write" "manage"

Responses

Request samples

Content type
application/json
{
  • "group_access": "read",
  • "folder_access": "read"
}

Revoke access to group

Revoke requested user access to group.

Authorizations:
ApiKeyUserToken
path Parameters
group_id
required
string <uuid> (GroupId)

Group unique identifier

member_type
required
string
Enum: "users" "groups"

User or group

member_id
required
string <uuid>

User or group unique identifier

Responses

Folders

List folders

Lists all accessible folders

Authorizations:
ApiKeyUserToken
query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a folder

Creates a folder.

Authorizations:
ApiKey
Request Body schema: application/json
name
required
string non-empty

Folder name

subfolders
Array of objects (Folder)

Responses

Request samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "parent_folder_id": "26caaf35-00f1-4c8f-a2ac-cb04b9b9a6ec",
  • "name": "Characters",
  • "created_by": {
    },
  • "subfolders": [
    ]
}

Response samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "parent_folder_id": "26caaf35-00f1-4c8f-a2ac-cb04b9b9a6ec",
  • "name": "Characters",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "subfolders": [
    ],
  • "source_file_count": 0,
  • "asset_count": 0
}

Get folder details

Gets the requested folder details.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Responses

Response samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "parent_folder_id": "26caaf35-00f1-4c8f-a2ac-cb04b9b9a6ec",
  • "name": "Characters",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "subfolders": [
    ],
  • "source_file_count": 0,
  • "asset_count": 0
}

Move folders

Move folders inside the specified folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json
Array (non-empty)
string <uuid> (FolderId)

Folder unique identifier

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Update folder details

Updates the folder details.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json
name
string non-empty

Folder name

Responses

Request samples

Content type
application/json
{
  • "name": "Characters"
}

Delete folder

Deletes the requested folder. The target folder must be empty.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Responses

Create a subfolder

Creates a subfolder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json
name
required
string non-empty

Folder name

subfolders
Array of objects (Folder)

Responses

Request samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "parent_folder_id": "26caaf35-00f1-4c8f-a2ac-cb04b9b9a6ec",
  • "name": "Characters",
  • "created_by": {
    },
  • "subfolders": [
    ]
}

Response samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "parent_folder_id": "26caaf35-00f1-4c8f-a2ac-cb04b9b9a6ec",
  • "name": "Characters",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "subfolders": [
    ],
  • "source_file_count": 0,
  • "asset_count": 0
}

Lists all subfolders

Lists all subfolders of requested folder. This request can be recursive.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Folder Access

List member access

List member access to the targeted folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Responses

Response samples

Content type
application/json
{
  • "users": [
    ],
  • "groups": [
    ]
}

Grant member access

Grants member access to the targeted folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

member_type
required
string
Enum: "users" "groups"

User or group

member_id
required
string <uuid>

User or group unique identifier

Request Body schema: application/json
access
required
string
Enum: "read" "write" "manage"

Responses

Request samples

Content type
application/json
{
  • "access": "read"
}

Revoke member access

Revokes member access to a target folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

member_type
required
string
Enum: "users" "groups"

User or group

member_id
required
string <uuid>

User or group unique identifier

Responses

Folder Source files

Upload source file(s)

Uploads the specified source file(s).

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: multipart/form-data
conversion_pipeline
required
string (ConversionPipeline)
Enum: "auto-detect" "volume" "scene" "texture" "animation" "beta-pipeline"
Array of objects

Instead of submitting a source file as a multipart/form-data field, you can also submit a URL to a source file. This is useful if you want to upload a source file that is already available on a storage service, or upload a source file that is too large to upload via the API.

options
object

Options for the conversion pipeline. For future use.

Responses

Response samples

Content type
application/json
{
  • "upload_task_id": "b10b7b4d-5f5b-4227-81be-b65c01192c43"
}

List source files

Lists all source files in a folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

object (Filters)

A filter object containing properties to filter the query by

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Move source files

Move source files inside the specified folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json
Array
string <uuid> (SourceFileId)

Source file unique identifier

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

List upload tasks

Lists all upload tasks in a folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Folder Assets

List assets

Lists assets.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

object (_index_AssetListFilters)

Filter options

recursive
boolean
Default: false

If true, the request will return all assets in the target folder and all subfolders recursively. If false, only the assets in the target folder will be returned.

Responses

Response samples

Content type
application/json
{
  • "action_maps": [
    ],
  • "algorithms": [
    ],
  • "animation_graphs": [
    ],
  • "animation_sequences": [
    ],
  • "animation_sets": [
    ],
  • "animations": [
    ],
  • "collision_geometries": [
    ],
  • "cubemaps": [
    ],
  • "event_maps": [
    ],
  • "materials": [
    ],
  • "meshes": [
    ],
  • "modules": [
    ],
  • "point_clouds": [
    ],
  • "render_graphs": [
    ],
  • "scenes": [
    ],
  • "scripts": [
    ],
  • "shaders": [
    ],
  • "skeletons": [
    ],
  • "sounds": [
    ],
  • "textures": [
    ],
  • "textures_1d": [
    ],
  • "textures_3d": [
    ],
  • "volume_materials": [
    ]
}

Create new asset

Creates a new asset.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json

Asset creation options.

One of
asset_type
required
string (_index_AssetTypeCreatable)
Enum: "action_map" "algorithm" "animation_graph" "animation_sequence" "cubemap" "event_map" "material" "module" "render_graph" "scene" "script" "shader" "volume_material"
name
required
string non-empty

Responses

Request samples

Content type
application/json
Example
{
  • "asset_type": "scene",
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
  • "name": "my_asset",
  • "source_to_copy_asset_id_map": {
    }
}

Move assets

Move assets inside the specified folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json

A flat list of asset ids to move.

Array (non-empty)
string <uuid> (_index_AssetId)

Asset unique identifier

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Create material

Creates a material.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json

Material description.

dataJson
required
object

Data object following the descriptor of the attached shader

isDoubleSided
required
boolean

Whether the faces of the geometry are rendered from both sides or not

name
required
string

Name of the asset

shaderRef
required
string <uuid>

The implemented shader

Responses

Request samples

Content type
application/json
{
  • "dataJson": { },
  • "isDoubleSided": true,
  • "name": "string",
  • "shaderRef": "acdae6f2-6d2b-40ed-ad9c-d2ac6d8eb82e"
}

Response samples

Content type
application/json
{
  • "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4"
}

Create cubemap

Creates a cubemap.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Request Body schema: application/json

Cubemap description.

faces
required
Array of strings <uuid> = 6 items

The 6 images forming the cube faces

name
required
string

Name of the asset

Responses

Request samples

Content type
application/json
{
  • "faces": [
    ],
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4"
}

Import assets

Imports or replaces multiple assets submitted as a package. The package must be a zip archive containing the assets to import.

The package should contain the assets themselves at the root level of the archive with their descriptions in JSON format, and their payloads (e.g. textures, meshes, etc.) and contain all the assets' dependencies if they do not already exist.

Supported assets are :

  • scene
  • mesh
  • material
  • animation
  • animation_set
  • animation_graph
  • skeleton
  • texture_1d
  • texture
  • texture_3d
  • collision_geometry
  • cubemap
  • volume_material
  • event_map
  • action_map
  • sound
  • point_cloud

The packaged assets' files should be named according to the following pattern:

- desc.[asset_type].{uuid}
- payload.[mesh|texture|animation|skeleton|texture_1d|texture_3d|collision_geometry|sound].{uuid}
- payload.[texture_1d|texture|texture_3d].mips[0-16].{uuid}
- payload.point_cloud.[position|color].{uuid}
- payload.texture_3d.histogram.{uuid}

The package may also contain an overwrite.json file that describes which assets to overwrite. The overwrite.json file is only used if the overwrite query parameter is set to only-specified.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

query Parameters
"never" (string) or "only-specified" (string) or "always" (string) (_index_OverwriteOptions)
Default: "never"

Overwrite behavior when an asset with the same id already exists

Request Body schema: application/zip
string <binary> (Asset package)

The asset package to import

Responses

Response samples

Content type
application/json
{
  • "asset_ids": {
    },
  • "skipped_files": [
    ]
}

Folder Sessions

List sessions Deprecated

Lists all sessions running on scenes contained in a specified folder.

Authorizations:
ApiKeyUserToken
path Parameters
folder_id
required
string <uuid> (FolderId)

Folder unique identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Source files

List source files

List source files.

Authorizations:
ApiKeyUserToken
query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

object (Filters)

A filter object containing properties to filter the query by

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Delete source files

Deletes the target source files. Deleting a source file is permanent.

Authorizations:
ApiKeyUserToken
Request Body schema: application/json
source_file_ids
required
Array of strings <uuid> (SourceFileId) non-empty

List of source files to delete

delete_assets
boolean
Default: false

If true, delete the assets associated with the source files as well.

Responses

Request samples

Content type
application/json
{
  • "source_file_ids": [
    ],
  • "delete_assets": false
}

Download source file

Downloads the target source file.

Authorizations:
ApiKeyUserToken
path Parameters
source_file_id
required
string <uuid> (SourceFileId)

Source file unique identifier

Responses

Get source file details

Get source file details.

Authorizations:
ApiKeyUserToken
path Parameters
source_file_id
required
string <uuid> (SourceFileId)

Source file unique identifier

Responses

Response samples

Content type
application/json
{
  • "source_file_id": "2c63f495-4e59-4976-a6f1-8f22fcc6afab",
  • "source_file_original_name": "my_scene.fbx",
  • "name": "My Scene (FBX)",
  • "size": 12354
}

Update source file details

Updates details for a specific source file.

Authorizations:
ApiKeyUserToken
path Parameters
source_file_id
required
string <uuid> (SourceFileId)

Source file unique identifier

Request Body schema: application/json
name
required
string non-empty

Source file display name

Responses

Request samples

Content type
application/json
{
  • "source_file_id": "2c63f495-4e59-4976-a6f1-8f22fcc6afab",
  • "name": "My Scene (FBX)"
}

List linked assets

Lists all assets generated from the requested source file.

Authorizations:
ApiKeyUserToken
path Parameters
source_file_id
required
string <uuid> (SourceFileId)

Source file unique identifier

Responses

Response samples

Content type
application/json
{
  • "action_maps": [
    ],
  • "algorithms": [
    ],
  • "animation_graphs": [
    ],
  • "animation_sequences": [
    ],
  • "animation_sets": [
    ],
  • "animations": [
    ],
  • "collision_geometries": [
    ],
  • "cubemaps": [
    ],
  • "event_maps": [
    ],
  • "materials": [
    ],
  • "meshes": [
    ],
  • "modules": [
    ],
  • "point_clouds": [
    ],
  • "render_graphs": [
    ],
  • "scenes": [
    ],
  • "scripts": [
    ],
  • "shaders": [
    ],
  • "skeletons": [
    ],
  • "sounds": [
    ],
  • "textures": [
    ],
  • "textures_1d": [
    ],
  • "textures_3d": [
    ],
  • "volume_materials": [
    ]
}

Upload tasks

List upload tasks

Lists all upload tasks. These upload tasks relate to uploaded source files.

Authorizations:
ApiKey
query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get upload task

Gets information related to an upload task. This upload task relates to uploaded source files.

Authorizations:
ApiKeyUserToken
path Parameters
upload_task_id
required
string <uuid> (UploadTaskId)

Upload task unique identifier

Responses

Response samples

Content type
application/json
{
  • "upload_task_id": "b10b7b4d-5f5b-4227-81be-b65c01192c43",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "uploaded_at": "2019-08-24T14:15:22Z",
  • "uploaded_by": {
    },
  • "progress": 0.5,
  • "download_progress": 0.5,
  • "status": "converting",
  • "conversion_tasks": [
    ]
}

Get conversion task metadata

Gets metadata related to a conversion task. This metadata is produced by the conversion task.

Authorizations:
ApiKey
path Parameters
asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

filename
required
string
Example: file.json

Metadata filename, produced by the conversion task.

Responses

Assets

List all assets

Returns a list of all assets.

Authorizations:
ApiKeyUserToken
query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

object (Filter)

Filter options

Responses

Response samples

Content type
application/json
{
  • "action_maps": [
    ],
  • "algorithms": [
    ],
  • "animation_graphs": [
    ],
  • "animation_sequences": [
    ],
  • "animation_sets": [
    ],
  • "animations": [
    ],
  • "collision_geometries": [
    ],
  • "cubemaps": [
    ],
  • "event_maps": [
    ],
  • "materials": [
    ],
  • "meshes": [
    ],
  • "modules": [
    ],
  • "point_clouds": [
    ],
  • "render_graphs": [
    ],
  • "scenes": [
    ],
  • "scripts": [
    ],
  • "shaders": [
    ],
  • "skeletons": [
    ],
  • "sounds": [
    ],
  • "textures": [
    ],
  • "textures_1d": [
    ],
  • "textures_3d": [
    ],
  • "volume_materials": [
    ]
}

Delete assets

Batch delete assets. You MUST NOT reference assets.

Authorizations:
ApiKeyUserToken
Request Body schema: application/json
Array (non-empty)
string <uuid> (_index_AssetId)

Asset unique identifier

Responses

Request samples

Content type
application/json
[
  • "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]

Delete asset

Deletes the asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Get asset source file

Gets the source file of the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
{
  • "source_file_id": "2c63f495-4e59-4976-a6f1-8f22fcc6afab",
  • "source_file_original_name": "my_scene.fbx",
  • "name": "My Scene (FBX)",
  • "size": 12354
}

Get asset folder

Gets the asset folder from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
{
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "parent_folder_id": "26caaf35-00f1-4c8f-a2ac-cb04b9b9a6ec",
  • "name": "Characters",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "subfolders": [
    ],
  • "source_file_count": 0,
  • "asset_count": 0
}

Package asset

Packages and downloads the target asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Export an asset

Downloads an asset payload in a given format. Only mesh is supported for the moment. This endpoint requires special export permission.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container_exportable
required
string (_index_AssetContainerExportable)
Enum: "meshes" "sounds"

Asset that can be exported and downloaded from the api

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

format
required
string
Enum: "obj" "stl"

Exported mesh format

query Parameters
scale
number
Default: 1

Apply a scale on the exported mesh

sub_mesh_index
number >= 0

Export a specific sub-mesh from a mesh asset

Responses

Asset Parts

Get asset details

Gets the asset details from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
{
  • "asset_id": "b4695157-0d1d-4da0-8f9e-5c53149389e4",
  • "contributors": [
    ],
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "last_edited_at": "2019-08-24T14:15:22Z",
  • "last_edited_by": {
    },
  • "name": "SM_Sphere",
  • "type": "scene"
}

Get asset dependencies

Gets the asset dependencies from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

"all" (string) or "direct" (string) or max (number) (Depth)
Default: "all"

Filter level

object (Filter)

Filter options

Array of "name" (string) or "dependencies" (string) or "count" (string) or "public" (string) or "payload_info" (string) (Properties)

Include additional properties to the asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get asset references

Gets the asset references from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

query Parameters
offset
integer
Default: 0

Pagination offset

limit
integer
Default: 10

Pagination limit

Array of "name" (string) or "count" (string) or "public" (string) (Properties)

Include additional properties to the asset

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get asset description

Gets the asset description from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
Example
{
  • "actions": {
    },
  • "name": "string",
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f"
}

Update asset description

Updates asset description. Supports only updating name.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Request Body schema: application/json
name
string non-empty

Responses

Request samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "name": "string"
}

Get asset payload

Gets the asset payload from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container_with_payload
required
string (_index_AssetContainerWithPayload)
Enum: "animations" "animation_sequences" "collision_geometries" "meshes" "point_clouds" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d"

Asset that has payload

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

query Parameters
Texture mip level (string) or Texture 3D histogram"histogram" (string) or Point cloud position"position" (string) or Point cloud color"color" (string)

Some assets have sub-resources that can be requested. For example, texture assets can have mip levels, point cloud assets can have position and color payloads.

Responses

Get asset history

Gets the asset history from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
{ }

Get asset metadata

Gets the asset metadata from the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
{ }

Get asset code

Gets the code of the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container_with_code
required
string (_index_AssetContainerWithCode)
Enum: "algorithms" "animation_sequences" "modules" "scripts" "shaders"

Asset that has code

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Get asset thumbnail

Gets the asset thumbnail from the specified asset.

Authorizations:
UserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

query Parameters
size
required
string
Enum: "large" "medium" "small" "tiny"

The size of the thumbnail

default_url
string <uri>

A default image url to redirect to if the thumbnail is not found

Responses

Assign a thumbnail

Assigns a thumbnail to the specified asset.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container
required
string (_index_AssetContainer)
Enum: "action_maps" "algorithms" "animations" "animation_graphs" "animation_sequences" "animation_sets" "collision_geometries" "cubemaps" "event_maps" "materials" "meshes" "modules" "point_clouds" "render_graphs" "scenes" "scripts" "shaders" "skeletons" "sounds" "textures" "textures_1d" "textures_3d" "volume_materials"

Asset container

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Request Body schema:
string <binary>

The image payload in .jpg format.

Responses

Get custom types

Gets the asset custom types from the specified asset recursively.

Authorizations:
ApiKeyUserToken
path Parameters
asset_container_with_custom_types
required
string (_index_AssetContainerWithCustomTypes)
Value: "modules"

Asset that has custom types

asset_id
required
string <uuid> (_index_AssetId)

Asset identifier

Responses

Response samples

Content type
application/json
{ }

Scenes

List sessions Deprecated

Lists all sessions running a specified scene.

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get scene dimensions

Get the axis aligned bounding box of the specified scene.

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

Responses

Response samples

Content type
application/json
{
  • "max": [
    ],
  • "min": [
    ]
}

Create entity

Create a new entity in a scene

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

Request Body schema: application/json

Entity components to create

Any of
required
object (Animation Controller)

Responses

Request samples

Content type
application/json
Example
{
  • "animation_controller": {
    }
}

Response samples

Content type
application/json
{
  • "entity_id": "8161163a-f227-466f-bc01-090a01e80165"
}

Get entity

Get a specific entity from a scene

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

entity_id
required
string <uuid>

Entity unique identifier

query Parameters
compute_global_transform
boolean
Default: false

Compute the entity global transform in the scene space

Responses

Response samples

Content type
application/json
Example
{
  • "animation_controller": {
    },
  • "euid": {
    }
}

Update entity

Update a specific entity from a scene

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

entity_id
required
string <uuid>

Entity unique identifier

Request Body schema: application/json

Entity components to update

Any of
required
object (Animation Controller)

Responses

Request samples

Content type
application/json
Example
{
  • "animation_controller": {
    }
}

Delete entity

Delete a specific entity from a scene

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

entity_id
required
string <uuid>

Entity unique identifier

Responses

Get scene settings

Get the settings of a scene.

Authorizations:
ApiKeyUserToken
path Parameters
scene_id
required
string <uuid> (_index_AssetId)

Scene unique identifier

Responses

Response samples

Content type
application/json
{ }

Sessions

List sessions

Lists all running rendering sessions.

Authorizations:
ApiKeyUserToken
query Parameters
object (Filter)

Filter options

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a session

Create a new rendering session

Authorizations:
UserToken
Request Body schema: application/json
scene_id
required
string <uuid> (_index_AssetId)

The unique identifier of the scene to launch.

renderer_version
string

The version of the renderer to use.

is_transient
boolean
Default: false

Whether the session should be created as transient or not.

Responses

Request samples

Content type
application/json
{
  • "scene_id": "861eef56-1159-4a95-802f-abab2d0cc192",
  • "renderer_version": "string",
  • "is_transient": false
}

Response samples

Content type
application/json
{
  • "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82"
}

Get session details

Retrieves details about the target session.

Authorizations:
ApiKeyUserToken
path Parameters
session_id
required
string <uuid>

Session unique identifier

Responses

Response samples

Content type
application/json
{
  • "session_id": "1ffd059c-17ea-40a8-8aef-70fd0307db82",
  • "scene_id": "861eef56-1159-4a95-802f-abab2d0cc192",
  • "scene_name": "My character",
  • "folder_id": "7695bac3-9397-4ec2-9335-45a2a16f1901",
  • "max_users": 10,
  • "creator_user_id": "7cd45191-9c6d-4e03-9d6c-fdf3d3c08277",
  • "created_at": "2019-08-24T14:15:22Z",
  • "country_code": "US",
  • "continent_code": "NA",
  • "is_transient_session": "NA",
  • "clients": [
    ]
}

Kill session

Forcefully terminates a session.

Authorizations:
ApiKeyUserToken
path Parameters
session_id
required
string <uuid>

Session unique identifier

Responses

Join a session

Creates a new client for the user and returns a token to join the session.

Authorizations:
UserToken
path Parameters
session_id
required
string <uuid>

Session unique identifier

Responses

Response samples

Content type
application/json
{
  • "session_token": "string",
  • "endpoint_info": {
    }
}

Kick client

Kick a client from a running session.

Authorizations:
ApiKeyUserToken
path Parameters
session_id
required
string <uuid>

Session unique identifier

client_id
required
string <uuid>

Client unique identifier

Responses

Guests

Join a session as guest

Join a session as guest. The guest token is required in the guest_token header.

Authorizations:
GuestToken

Responses

Response samples

Content type
application/json
{
  • "session_token": "string",
  • "endpoint_info": {
    }
}

Generate guest token

Generates a token to join the session as a guest.

Authorizations:
ApiKeyUserToken
path Parameters
session_id
required
string <uuid>

Session unique identifier

Responses

Response samples

Content type
application/json
{
  • "guest_token": "a5q3vg"
}