SmartVu® API
REST API for SmartVus, 3D models and their resources.
v1.1.4Download smartvu-api.yml
The Vuframe® Public API offers a number of endpoints to view, create and edit different types of content within the VUFRAME® platform. The public API can be accessed by any Vuframe® Studio user. This specific API controls everything related to SmartVu®'s, which are editable visual representations to show and share products virtually – in 3D, Augmented Reality & Virtual Reality.
The base URL for all the endpoints listed below is
https://api.vuframe.com/public/v1
Authentication
In order to integrate the Vuframe® Public API into your own application, you will first need to register an SSO app by contacting us directly. This is required as the API access is currently an enterprise-only feature.
After your SSO app is set up, you will receive a unique token that allows you to communicate with the Vuframe® Public API.
In addition to the SSO app token, all requests to the Vuframe® Public API need to be authenticated with an authentication token that is bound to an active Vuframe® Studio account. This authentication token can be obtained with the "/sso/{app_token}/create_token" endpoint.
The required authentication mechanism for all other endpoints is Basic Auth with the following credentials:
Username: SSO_APP_TOKEN Password: USER_AUTH_TOKEN
Servers
https://api.vuframe.com/public/v1Production SmartVu API
Authentication
basicAuthHTTP basic
Contact info@vuframe.com
Endpoints
- Authentication
- Workspaces
- SmartVu®
- GET
/smartvusGet a list of all folders and SmartVu®'s - POST
/smartvusCreate a new SmartVu® - GET
/smartvus/{smartvu_token}Get an existing SmartVu® - PATCH
/smartvus/{smartvu_token}Update an existing SmartVu® - DELETE
/smartvus/{smartvu_token}Remove an existing SmartVu® - POST
/smartvus/{smartvu_token}/preview_imageAdd or Replace SmartVu® Preview Image
- GET
- Widgets
- GET
/smartvus/{smartvu_token}/widgetsGet all widgets of a SmartVu® - PUT
/smartvus/{smartvu_token}/widgetsReplace all Widgets - PATCH
/smartvus/{smartvu_token}/widgetsUpdate Widgets - GET
/smartvus/{smartvu_token}/widgets/{widget_token}⚠️ Not implemented yet: Get single Widget - PUT
/smartvus/{smartvu_token}/widgets/{widget_token}⚠️ Not implemented yet: Replace single Widget - PATCH
/smartvus/{smartvu_token}/widgets/{widget_token}⚠️ Not implemented yet: Update single Widget - DELETE
/smartvus/{smartvu_token}/widgets/{widget_token}⚠️ Not implemented yet: Remove single Widget
- GET
- Actions
- GET
/smartvus/{smartvu_token}/actionsGet all actions of a SmartVu® - PUT
/smartvus/{smartvu_token}/actionsReplace all Actions - PATCH
/smartvus/{smartvu_token}/actionsUpdate Actions - GET
/smartvus/{smartvu_token}/actions/{action_token}⚠️ Not implemented yet: Get single Action - PUT
/smartvus/{smartvu_token}/actions/{action_token}⚠️ Not implemented yet: Replace single Action - PATCH
/smartvus/{smartvu_token}/actions/{action_token}⚠️ Not implemented yet: Update single Action - DELETE
/smartvus/{smartvu_token}/actions/{action_token}⚠️ Not implemented yet: Remove single Action
- GET
- Extensions
- Item Upload & Processing
Authentication
Create SSO Auth Token for VUFRAME® Studio User
POST/sso/{app_token}/create_token
Authentication basicAuth
Creates an authentication token for a Vuframe® Studio user. This token can then be used to access the various endpoints of the Vuframe® Public API. If the user already has a valid auth token for the given SSO app, the existing token will be returned instead of creating a new one.
This endpoint uses Basic Auth with the following Credentials:
Username: Your Vuframe® Studio Email
Password: Your Vuframe® Studio Password
Path parameters
| Name | Type | Description |
|---|---|---|
app_tokenrequired | string |
Responses
200Returns the newly created auth token in the displayed format.
Content type application/json
| Field | Type | Description |
|---|---|---|
success | boolean | success indicator |
token | string | API Token |
Example
{
"success": true,
"token": "string"
}405Invalid input
No body.
Example request
curl -X POST "https://api.vuframe.com/public/v1/sso/{app_token}/create_token" \
-u "USER:PASSWORD"Workspaces
Get a list of all workspaces
GET/projects
Authentication basicAuth
Returns a list of all VUFRAME® Studio workspaces the user has access to.
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
[].platform_version | integer | Version of Platform |
[].token | string | Project Token |
[].name | string | Name of Project |
Example
[
{
"platform_version": 0,
"token": "string",
"name": "string"
}
]400Invalid status value
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/projects" \
-u "USER:PASSWORD"SmartVu®
Get a list of all folders and SmartVu®'s
GET/smartvus
Authentication basicAuth
Returns a list of all SmartVu's and folders the current user has access to.
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
[].token | string | Token of SmartVu |
[].name | string | Name of SmartVu |
[].space | string | Token of Workspace that contains SmartVu |
[].shared | boolean | Indicates whether a SmartVu is shared |
[].share_code | string, nullable | If SmartVu is shared, a share code will be delivered |
[].password_enabled | boolean | If SmartVu is shared, you can set a password to it. If this is done, this value will be true. |
Example
[
{
"token": "string",
"name": "string",
"space": "string",
"shared": true,
"share_code": "string",
"password_enabled": true
}
]400Invalid value
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus" \
-u "USER:PASSWORD"Create a new SmartVu®
POST/smartvus
Authentication basicAuth
Create a new SmartVu in one of the project the current user has access to.
Notes:
- The values "share_code" and "shared_version" are only present if the request param "share" was set to true (null otherwise)
- Using the share code from the response, the user is able to access the share page for the newly created SmartVu under https://share.vuframe.com/ or
Request body required
Content type application/x-www-form-urlencoded
| Field | Type | Description |
|---|---|---|
project_tokenrequired | string | token of the project the SmartVu should be created in |
titlerequired | string | title of the new SmartVu |
description | string | (optional) description of the new SmartVu |
item_token | string | (optional) token of the 3D item that the SmartVu should display. If no item token is specified, an empty SmartVu will be created. |
share | boolean | (optional) if true, the new SmartVu will be shared immediately. |
Example
{
"project_token": "string",
"title": "string",
"description": "string",
"item_token": "string",
"share": true
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
success | boolean | |
smartvu | object | |
smartvu.token | string | Token of SmartVu |
smartvu.title | string | Name of SmartVu |
smartvu.item_token | string, nullable | Token of Item that is behind a SmartVu |
smartvu.description | string | Description of SmartVu |
smartvu.version | integer | Version of SmartVu |
smartvu.shared | boolean | Indicates whether a SmartVu is shared. |
smartvu.share_code | string, nullable | If SmartVu is shared, a share code will be delivered. |
smartvu.shared_version | string, nullable | If SmartVu is shared, the version of the SmartVu will be delivered. |
Example
{
"success": true,
"smartvu": {
"token": "string",
"title": "string",
"item_token": "string",
"description": "string",
"version": 0,
"shared": true,
"share_code": "string",
"shared_version": "string"
}
}400Invalid parameters supplied
No body.
Example request
curl -X POST "https://api.vuframe.com/public/v1/smartvus" \
-u "USER:PASSWORD"Get an existing SmartVu®
GET/smartvus/{smartvu_token}
Authentication basicAuth
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
success | boolean | |
smartvu | object | |
smartvu.token | string | Token of SmartVu |
smartvu.title | string | Name of SmartVu |
smartvu.item_token | string, nullable | Token of Item that is behind a SmartVu |
smartvu.description | string | Description of SmartVu |
smartvu.version | integer | Version of SmartVu |
smartvu.shared | boolean | Indicates whether a SmartVu is shared. |
smartvu.share_code | string, nullable | If SmartVu is shared, a share code will be delivered. |
smartvu.shared_version | string, nullable | If SmartVu is shared, the version of the SmartVu will be delivered. |
Example
{
"success": true,
"smartvu": {
"token": "string",
"title": "string",
"item_token": "string",
"description": "string",
"version": 0,
"shared": true,
"share_code": "string",
"shared_version": "string"
}
}405Invalid input
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}" \
-u "USER:PASSWORD"Update an existing SmartVu®
PATCH/smartvus/{smartvu_token}
Authentication basicAuth
Edit and/or share an existing SmartVu.
Notes:
- The values "version" and "shared_version" show the latest and the public version revision of the SmartVu respectively
- If the SmartVu is not shared, "share_code" and "shared_version" are set to null
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
title | string | (optional) new title of the SmartVu |
description | string | (optional) new description of the SmartVu |
item_token | string | (optional) token of the 3D item that the SmartVu should display |
share | boolean | (optional) - if true, the new version of the SmartVu is shared - if false, the SmartVu is unshared (no longer publicly accessible) - if not specified or null, the share status of the SmartVu remains unchanged |
password | string | (optional) set password protection to this SmartVu |
Example
{
"title": "string",
"description": "string",
"item_token": "string",
"share": true,
"password": "string"
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
success | boolean | |
smartvu | object | |
smartvu.token | string | Token of SmartVu |
smartvu.title | string | Name of SmartVu |
smartvu.item_token | string, nullable | Token of Item that is behind a SmartVu |
smartvu.description | string | Description of SmartVu |
smartvu.version | integer | Version of SmartVu |
smartvu.shared | boolean | Indicates whether a SmartVu is shared. |
smartvu.share_code | string, nullable | If SmartVu is shared, a share code will be delivered. |
smartvu.shared_version | string, nullable | If SmartVu is shared, the version of the SmartVu will be delivered. |
Example
{
"success": true,
"smartvu": {
"token": "string",
"title": "string",
"item_token": "string",
"description": "string",
"version": 0,
"shared": true,
"share_code": "string",
"shared_version": "string"
}
}405Invalid input
No body.
Example request
curl -X PATCH "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"title":"string","description":"string","item_token":"string","share":true,"password":"string"}'Remove an existing SmartVu®
DELETE/smartvus/{smartvu_token}
Authentication basicAuth
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
success | boolean | Was removal successful? Default: true. |
message | string | Removal Message |
Example
{
"success": true,
"message": "string"
}405Invalid input
No body.
Example request
curl -X DELETE "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}" \
-u "USER:PASSWORD"Add or Replace SmartVu® Preview Image
POST/smartvus/{smartvu_token}/preview_image
Authentication basicAuth
Add or replace the preview image of a SmartVu specified by its token. This will overwrite the automatically added preview image.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Request body required
Content type multipart/form-data
| Field | Type | Description |
|---|---|---|
preview_image | string (binary) | Image file (png or jpg) |
Example
{
"preview_image": "<binary>"
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
success | boolean | Feedback, whether operation was successful. |
smartvu | object | |
smartvu.token | string | Token of SmartVu |
smartvu.preview_image | string | Name of Preview Image |
smartvu.preview_image_type | string | Content Type of Preview Image |
Example
{
"success": true,
"smartvu": {
"token": "string",
"preview_image": "string",
"preview_image_type": "string"
}
}400Invalid parameters supplied
No body.
Example request
curl -X POST "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/preview_image" \
-u "USER:PASSWORD" \
-F "preview_image=..."Widgets
Get all widgets of a SmartVu®
GET/smartvus/{smartvu_token}/widgets
Authentication basicAuth
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Widget | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
widgets[].params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}
]
}404Invalid input
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets" \
-u "USER:PASSWORD"Replace all Widgets
PUT/smartvus/{smartvu_token}/widgets
Authentication basicAuth
Replace Widgets with given Widgets.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Widget | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
widgets[].params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}
]
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Widget | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
widgets[].params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}
]
}400Invalid input
No body.
Example request
curl -X PUT "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"widgets":[{"token":"string","title":"string","type":"media_widget","params":{"items":["string"],"display_mode":"grid"},"sort_order":0}]}'Update Widgets
PATCH/smartvus/{smartvu_token}/widgets
Authentication basicAuth
Append one or multiple Widgets.
Notes:
- Currently it is only possible to add new entries -> This will change in the final release.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Widget | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
widgets[].params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}
]
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Widget | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
widgets[].params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}
]
}400Invalid input
No body.
Example request
curl -X PATCH "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"widgets":[{"token":"string","title":"string","type":"media_widget","params":{"items":["string"],"display_mode":"grid"},"sort_order":0}]}'⚠️ Not implemented yet: Get single Widget
GET/smartvus/{smartvu_token}/widgets/{widget_token}
Authentication basicAuth
This endpoint is not implemented yet.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
widget_tokenrequired | string | Token of a Widget |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets/{widget_token}" \
-u "USER:PASSWORD"⚠️ Not implemented yet: Replace single Widget
PUT/smartvus/{smartvu_token}/widgets/{widget_token}
Authentication basicAuth
Replace Widget with given Widget.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
widget_tokenrequired | string | Token of a Widget |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X PUT "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets/{widget_token}" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"token":"string","title":"string","type":"media_widget","params":{"items":["string"],"display_mode":"grid"},"sort_order":0}'⚠️ Not implemented yet: Update single Widget
PATCH/smartvus/{smartvu_token}/widgets/{widget_token}
Authentication basicAuth
Update Widget with given values.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
widget_tokenrequired | string | Token of a Widget |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X PATCH "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets/{widget_token}" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"token":"string","title":"string","type":"media_widget","params":{"items":["string"],"display_mode":"grid"},"sort_order":0}'⚠️ Not implemented yet: Remove single Widget
DELETE/smartvus/{smartvu_token}/widgets/{widget_token}
Authentication basicAuth
Remove Widget by Token.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
widget_tokenrequired | string | Token of a Widget |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget". |
params | one of MediaWidgetParams | ActionButtonWidgetParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "media_widget",
"params": {
"items": [
"string"
],
"display_mode": "grid"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X DELETE "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/widgets/{widget_token}" \
-u "USER:PASSWORD"Actions
Get all actions of a SmartVu®
GET/smartvus/{smartvu_token}/actions
Authentication basicAuth
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Action | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
widgets[].params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}
]
}404Invalid input
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions" \
-u "USER:PASSWORD"Replace all Actions
PUT/smartvus/{smartvu_token}/actions
Authentication basicAuth
Replace Actions with given Actions.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Action | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
widgets[].params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}
]
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Action | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
widgets[].params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}
]
}400Invalid input
No body.
Example request
curl -X PUT "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"widgets":[{"token":"string","title":"string","type":"popup_with_pdf_action","params":{"pdf_file":"string","popup_title":"string","button_action":"string","button_title":"string"},"sort_order":0}]}'Update Actions
PATCH/smartvus/{smartvu_token}/actions
Authentication basicAuth
Append one or multiple Actions.
Notes:
- Currently it is only possible to add new entries -> This will change in the final release.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Action | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
widgets[].params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}
]
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
widgets | array of Action | |
widgets[].token | string | (Optional) alpha-numeric Token with 8 characters. |
widgets[].titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
widgets[].typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
widgets[].params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
widgets[].sort_order | number | Sorting Order |
Example
{
"widgets": [
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}
]
}400Invalid input
No body.
Example request
curl -X PATCH "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"widgets":[{"token":"string","title":"string","type":"popup_with_pdf_action","params":{"pdf_file":"string","popup_title":"string","button_action":"string","button_title":"string"},"sort_order":0}]}'⚠️ Not implemented yet: Get single Action
GET/smartvus/{smartvu_token}/actions/{action_token}
Authentication basicAuth
This endpoint is not implemented yet.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
action_tokenrequired | string | Token of a Action |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions/{action_token}" \
-u "USER:PASSWORD"⚠️ Not implemented yet: Replace single Action
PUT/smartvus/{smartvu_token}/actions/{action_token}
Authentication basicAuth
Replace Action with given Action.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
action_tokenrequired | string | Token of a Action |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X PUT "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions/{action_token}" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"token":"string","title":"string","type":"popup_with_pdf_action","params":{"pdf_file":"string","popup_title":"string","button_action":"string","button_title":"string"},"sort_order":0}'⚠️ Not implemented yet: Update single Action
PATCH/smartvus/{smartvu_token}/actions/{action_token}
Authentication basicAuth
Update Action with properties.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
action_tokenrequired | string | Token of a Action |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X PATCH "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions/{action_token}" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"token":"string","title":"string","type":"popup_with_pdf_action","params":{"pdf_file":"string","popup_title":"string","button_action":"string","button_title":"string"},"sort_order":0}'⚠️ Not implemented yet: Remove single Action
DELETE/smartvus/{smartvu_token}/actions/{action_token}
Authentication basicAuth
Remove Action by Token
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
action_tokenrequired | string | Token of a Action |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
token | string | (Optional) alpha-numeric Token with 8 characters. |
titlerequired | string | Name of the Widget that is displayed in the SmartVu® Editor. |
typerequired | string | Type of Widget that defines what will be rendered. One of: "popup_with_pdf_action". |
params | one of PopupWithPDFActionParams | The content of this property depends on the widget_type. |
sort_order | number | Sorting Order |
Example
{
"token": "string",
"title": "string",
"type": "popup_with_pdf_action",
"params": {
"pdf_file": "string",
"popup_title": "string",
"button_action": "string",
"button_title": "string"
},
"sort_order": 0
}400Invalid input
No body.
Example request
curl -X DELETE "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/actions/{action_token}" \
-u "USER:PASSWORD"Extensions
Get all Extensions of a SmartVu®
GET/smartvus/{smartvu_token}/extensions
Authentication basicAuth
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu® |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
extensions | array of Extension | |
extensions[].token | string | (Optional) alpha-numeric Token with 8 characters. |
extensions[].title | string | Name of the Widget that is displayed in the SmartVu® Editor. |
extensions[].typerequired | string | Type of Widget that defines what will be rendered. One of: "lifesize_extension". |
extensions[].params | one of LifesizeExtensionParams | The content of this property depends on the widget_type. |
extensions[].sort_order | number | Sorting Order |
<lang> | object | Extensions wrapped with a language identifier (e.g. "en", "de", "fr"). |
<lang>.extensions | array of Extension | |
<lang>.extensions[].token | string | (Optional) alpha-numeric Token with 8 characters. |
<lang>.extensions[].title | string | Name of the Widget that is displayed in the SmartVu® Editor. |
<lang>.extensions[].typerequired | string | Type of Widget that defines what will be rendered. One of: "lifesize_extension". |
<lang>.extensions[].params | one of LifesizeExtensionParams | The content of this property depends on the widget_type. |
<lang>.extensions[].sort_order | number | Sorting Order |
Example
{
"extensions": [
{
"token": "string",
"title": "string",
"type": "lifesize_extension",
"params": {
"mode": "floor",
"initial_mode": "3d"
},
"sort_order": 0
}
],
"<lang>": {
"extensions": [
{
"token": "string",
"title": "string",
"type": "lifesize_extension",
"params": {
"mode": "floor",
"initial_mode": "3d"
},
"sort_order": 0
}
]
}
}404Invalid input
No body.
Example request
curl -X GET "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/extensions" \
-u "USER:PASSWORD"Replace all Extensions
PUT/smartvus/{smartvu_token}/extensions
Authentication basicAuth
Replace Extensions with provided Extensions.
Path parameters
| Name | Type | Description |
|---|---|---|
smartvu_tokenrequired | string | Token of a SmartVu |
Request body required
Content type application/json
| Field | Type | Description |
|---|---|---|
extensions | array of Extension | |
extensions[].token | string | (Optional) alpha-numeric Token with 8 characters. |
extensions[].title | string | Name of the Widget that is displayed in the SmartVu® Editor. |
extensions[].typerequired | string | Type of Widget that defines what will be rendered. One of: "lifesize_extension". |
extensions[].params | one of LifesizeExtensionParams | The content of this property depends on the widget_type. |
extensions[].sort_order | number | Sorting Order |
<lang> | object | Extensions wrapped with a language identifier (e.g. "en", "de", "fr"). |
<lang>.extensions | array of Extension | |
<lang>.extensions[].token | string | (Optional) alpha-numeric Token with 8 characters. |
<lang>.extensions[].title | string | Name of the Widget that is displayed in the SmartVu® Editor. |
<lang>.extensions[].typerequired | string | Type of Widget that defines what will be rendered. One of: "lifesize_extension". |
<lang>.extensions[].params | one of LifesizeExtensionParams | The content of this property depends on the widget_type. |
<lang>.extensions[].sort_order | number | Sorting Order |
Example
{
"extensions": [
{
"token": "string",
"title": "string",
"type": "lifesize_extension",
"params": {
"mode": "floor",
"initial_mode": "3d"
},
"sort_order": 0
}
],
"<lang>": {
"extensions": [
{
"token": "string",
"title": "string",
"type": "lifesize_extension",
"params": {
"mode": "floor",
"initial_mode": "3d"
},
"sort_order": 0
}
]
}
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
extensions | array of Extension | |
extensions[].token | string | (Optional) alpha-numeric Token with 8 characters. |
extensions[].title | string | Name of the Widget that is displayed in the SmartVu® Editor. |
extensions[].typerequired | string | Type of Widget that defines what will be rendered. One of: "lifesize_extension". |
extensions[].params | one of LifesizeExtensionParams | The content of this property depends on the widget_type. |
extensions[].sort_order | number | Sorting Order |
<lang> | object | Extensions wrapped with a language identifier (e.g. "en", "de", "fr"). |
<lang>.extensions | array of Extension | |
<lang>.extensions[].token | string | (Optional) alpha-numeric Token with 8 characters. |
<lang>.extensions[].title | string | Name of the Widget that is displayed in the SmartVu® Editor. |
<lang>.extensions[].typerequired | string | Type of Widget that defines what will be rendered. One of: "lifesize_extension". |
<lang>.extensions[].params | one of LifesizeExtensionParams | The content of this property depends on the widget_type. |
<lang>.extensions[].sort_order | number | Sorting Order |
Example
{
"extensions": [
{
"token": "string",
"title": "string",
"type": "lifesize_extension",
"params": {
"mode": "floor",
"initial_mode": "3d"
},
"sort_order": 0
}
],
"<lang>": {
"extensions": [
{
"token": "string",
"title": "string",
"type": "lifesize_extension",
"params": {
"mode": "floor",
"initial_mode": "3d"
},
"sort_order": 0
}
]
}
}400Invalid input
No body.
Example request
curl -X PUT "https://api.vuframe.com/public/v1/smartvus/{smartvu_token}/extensions" \
-u "USER:PASSWORD" \
-H "Content-Type: application/json" \
-d '{"extensions":[{"token":"string","title":"string","type":"lifesize_extension","params":{"mode":"floor","initial_mode":"3d"},"sort_order":0}],"<lang>":{"extensions":[{"token":"string","title":"string","type":"lifesize_extension","params":{"mode":"floor","initial_mode":"3d"},"sort_order":0}]}}'Item Upload & Processing
Create a new item
POST/items
Authentication basicAuth
Prepare the upload of a new file to the specified folder or SmartVu.
Returns:
- A presigned Amazon S3 URL that allows the user to upload their file to the VUFRAME® cloud storage with a PUT-Request.
- A callback URL pointing to another Public API endpoint that the user needs to call after the file has been uploaded successfully. As soon as this callback is received, VUFRAME® Studio will start processing the uploaded file.
Please Notice
After this request it is required to initiate 2 other requests!
- The first follow up is the actual upload of the data to the presigend Amazon S3 URL by PUT.
- The second one will notify the Vuframe Platform, that the data was uploaded. This is achieved by requesting the callback URL by GET.
Request body required
Content type application/x-www-form-urlencoded
| Field | Type | Description |
|---|---|---|
folder_tokenrequired | string | token of the folder or SmartVu® the new item should be created in |
folder_typerequired | string | folder or feature depending on whether the item should be created in a folder or a SmartVu® One of: "feature", "folder". Default: "feature". |
filenamerequired | string | filename with its extension of the file that should be uploaded. (e.g. test.vf3d) |
content_typerequired | string | content type identifier describing the type of file that should be uploaded (see List of supported content types: List of supported Content Types One of: "any_3d", "aura3d_files", "fbx_files", "obj_files", "c4d_files", "vidya_zip", "pdf_files", "image_files". Default: "any_3d". |
auto_share | string | Is a stringified boolean and defines, whether the uploaded item should be auto shared, if it has the folder_type='feature'. Possible values: 'true' | 'false', '1' | '0' |
Example
{
"folder_token": "string",
"folder_type": "feature",
"filename": "string",
"content_type": "any_3d",
"auto_share": "string"
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
description | string | |
presigned_url | string | S3 upload URL |
callback_url | string | Public API callback URL |
upload_action | string | upload as new item |
upload_filename | string | generated unique filename |
resolved_content_type | string | recognized content type |
Example
{
"description": "string",
"presigned_url": "string",
"callback_url": "string",
"upload_action": "string",
"upload_filename": "string",
"resolved_content_type": "string"
}400Invalid Folder Token supplied
No body.
Example request
curl -X POST "https://api.vuframe.com/public/v1/items" \
-u "USER:PASSWORD"Add new revision for Item
PUT/items/{item_token}
Authentication basicAuth
The functionality is just the same as creating a new item with one difference: We expect an Item Token of an existing Item.
Path parameters
| Name | Type | Description |
|---|---|---|
item_tokenrequired | string | item token of an existing item |
Request body required
Content type application/x-www-form-urlencoded
| Field | Type | Description |
|---|---|---|
filenamerequired | string | filename with its extension of the file that should be uploaded. (e.g. test.vf3d) |
content_typerequired | string | content type identifier describing the type of file that should be uploaded (see List of supported content types: List of supported Content Types One of: "any_3d", "aura3d_files", "fbx_files", "obj_files", "c4d_files", "vidya_zip", "pdf_files", "image_files". Default: "any_3d". |
auto_share | string | Is a stringified boolean and defines, whether the uploaded item should be auto shared, if it has the folder_type='feature'. Possible values: 'true' | 'false', '1' | '0' |
Example
{
"filename": "string",
"content_type": "any_3d",
"auto_share": "string"
}Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
description | string | |
presigned_url | string | S3 upload URL |
callback_url | string | Public API callback URL |
upload_action | string | upload as new item |
upload_filename | string | generated unique filename |
resolved_content_type | string | recognized content type |
Example
{
"description": "string",
"presigned_url": "string",
"callback_url": "string",
"upload_action": "string",
"upload_filename": "string",
"resolved_content_type": "string"
}400Invalid Item Token supplied
No body.
Example request
curl -X PUT "https://api.vuframe.com/public/v1/items/{item_token}" \
-u "USER:PASSWORD"Get file processing status
GET/items/{resource_token}/status
Authentication basicAuth
Get the current processing status of a 3D file that was uploaded using the Public API.
Notes:
- As the item for the file is only created after the file has finished processing, the value "item_token" is null until then. After the item has been created, you can assign it to a new or existing SmartVu using its token
- The value "ready" is true only if the item has finished processing and the processing task was completed successfully
- While the processing task is running, the value "success" is null - The value "status" offers a short description of the processing step the file is currently undergoing
Path parameters
| Name | Type | Description |
|---|---|---|
resource_tokenrequired | string | (URL param) resource token obtained from the response of POST /items/:upload_id/upload_complete |
Responses
200successful operation
Content type application/json
| Field | Type | Description |
|---|---|---|
resource_token | string | Resource Token |
project_token | string | token of the VUFRAME® Studio project the file was uploaded to |
folder_token | string | token of the VUFRAME® Studio folder or SmartVu the file was uploaded to |
item_token | string, nullable | token of the the item that was created for this file |
ready | boolean | |
finished_processing | boolean | |
success | boolean | |
status | string |
Example
{
"resource_token": "string",
"project_token": "string",
"folder_token": "string",
"item_token": "string",
"ready": true,
"finished_processing": true,
"success": true,
"status": "string"
}Example request
curl -X GET "https://api.vuframe.com/public/v1/items/{resource_token}/status" \
-u "USER:PASSWORD"