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/v1 Production SmartVu API

Authentication

basicAuth HTTP basic

Contact [email protected]

Endpoints

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

NameTypeDescription
app_tokenrequiredstring

Responses

200Returns the newly created auth token in the displayed format.

Content type application/json

FieldTypeDescription
successbooleansuccess indicator
tokenstringAPI 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

FieldTypeDescription
[].platform_versionintegerVersion of Platform
[].tokenstringProject Token
[].namestringName 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

FieldTypeDescription
[].tokenstringToken of SmartVu
[].namestringName of SmartVu
[].spacestringToken of Workspace that contains SmartVu
[].sharedbooleanIndicates whether a SmartVu is shared
[].share_codestring, nullableIf SmartVu is shared, a share code will be delivered
[].password_enabledbooleanIf 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

FieldTypeDescription
project_tokenrequiredstringtoken of the project the SmartVu should be created in
titlerequiredstringtitle of the new SmartVu
descriptionstring(optional) description of the new SmartVu
item_tokenstring(optional) token of the 3D item that the SmartVu should display. If no item token is specified, an empty SmartVu will be created.
shareboolean(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

FieldTypeDescription
successboolean
smartvuobject
smartvu.tokenstringToken of SmartVu
smartvu.titlestringName of SmartVu
smartvu.item_tokenstring, nullableToken of Item that is behind a SmartVu
smartvu.descriptionstringDescription of SmartVu
smartvu.versionintegerVersion of SmartVu
smartvu.sharedbooleanIndicates whether a SmartVu is shared.
smartvu.share_codestring, nullableIf SmartVu is shared, a share code will be delivered.
smartvu.shared_versionstring, nullableIf 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Responses

200successful operation

Content type application/json

FieldTypeDescription
successboolean
smartvuobject
smartvu.tokenstringToken of SmartVu
smartvu.titlestringName of SmartVu
smartvu.item_tokenstring, nullableToken of Item that is behind a SmartVu
smartvu.descriptionstringDescription of SmartVu
smartvu.versionintegerVersion of SmartVu
smartvu.sharedbooleanIndicates whether a SmartVu is shared.
smartvu.share_codestring, nullableIf SmartVu is shared, a share code will be delivered.
smartvu.shared_versionstring, nullableIf 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Request body required

Content type application/json

FieldTypeDescription
titlestring(optional) new title of the SmartVu
descriptionstring(optional) new description of the SmartVu
item_tokenstring(optional) token of the 3D item that the SmartVu should display
shareboolean(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
passwordstring(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

FieldTypeDescription
successboolean
smartvuobject
smartvu.tokenstringToken of SmartVu
smartvu.titlestringName of SmartVu
smartvu.item_tokenstring, nullableToken of Item that is behind a SmartVu
smartvu.descriptionstringDescription of SmartVu
smartvu.versionintegerVersion of SmartVu
smartvu.sharedbooleanIndicates whether a SmartVu is shared.
smartvu.share_codestring, nullableIf SmartVu is shared, a share code will be delivered.
smartvu.shared_versionstring, nullableIf 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Responses

200successful operation

Content type application/json

FieldTypeDescription
successbooleanWas removal successful? Default: true.
messagestringRemoval 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Request body required

Content type multipart/form-data

FieldTypeDescription
preview_imagestring (binary)Image file (png or jpg)
Example
{
  "preview_image": "<binary>"
}

Responses

200successful operation

Content type application/json

FieldTypeDescription
successbooleanFeedback, whether operation was successful.
smartvuobject
smartvu.tokenstringToken of SmartVu
smartvu.preview_imagestringName of Preview Image
smartvu.preview_image_typestringContent 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Responses

200successful operation

Content type application/json

FieldTypeDescription
widgetsarray of Widget
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
widgets[].paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu

Request body required

Content type application/json

FieldTypeDescription
widgetsarray of Widget
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
widgets[].paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

FieldTypeDescription
widgetsarray of Widget
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
widgets[].paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu

Request body required

Content type application/json

FieldTypeDescription
widgetsarray of Widget
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
widgets[].paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

FieldTypeDescription
widgetsarray of Widget
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
widgets[].paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
widget_tokenrequiredstringToken of a Widget

Responses

200successful operation

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
widget_tokenrequiredstringToken of a Widget

Request body required

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
widget_tokenrequiredstringToken of a Widget

Request body required

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
widget_tokenrequiredstringToken of a Widget

Responses

200successful operation

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "media_widget", "action_button_widget".
paramsone of MediaWidgetParams | ActionButtonWidgetParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Responses

200successful operation

Content type application/json

FieldTypeDescription
widgetsarray of Action
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
widgets[].paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu

Request body required

Content type application/json

FieldTypeDescription
widgetsarray of Action
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
widgets[].paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

FieldTypeDescription
widgetsarray of Action
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
widgets[].paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu

Request body required

Content type application/json

FieldTypeDescription
widgetsarray of Action
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
widgets[].paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

FieldTypeDescription
widgetsarray of Action
widgets[].tokenstring(Optional) alpha-numeric Token with 8 characters.
widgets[].titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
widgets[].typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
widgets[].paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
widgets[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
action_tokenrequiredstringToken of a Action

Responses

200successful operation

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
action_tokenrequiredstringToken of a Action

Request body required

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
action_tokenrequiredstringToken of a Action

Request body required

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu
action_tokenrequiredstringToken of a Action

Responses

200successful operation

Content type application/json

FieldTypeDescription
tokenstring(Optional) alpha-numeric Token with 8 characters.
titlerequiredstringName of the Widget that is displayed in the SmartVu® Editor.
typerequiredstringType of Widget that defines what will be rendered. One of: "popup_with_pdf_action".
paramsone of PopupWithPDFActionParamsThe content of this property depends on the widget_type.
sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu®

Responses

200successful operation

Content type application/json

FieldTypeDescription
extensionsarray of Extension
extensions[].tokenstring(Optional) alpha-numeric Token with 8 characters.
extensions[].titlestringName of the Widget that is displayed in the SmartVu® Editor.
extensions[].typerequiredstringType of Widget that defines what will be rendered. One of: "lifesize_extension".
extensions[].paramsone of LifesizeExtensionParamsThe content of this property depends on the widget_type.
extensions[].sort_ordernumberSorting Order
<lang>objectExtensions wrapped with a language identifier (e.g. "en", "de", "fr").
<lang>.extensionsarray of Extension
<lang>.extensions[].tokenstring(Optional) alpha-numeric Token with 8 characters.
<lang>.extensions[].titlestringName of the Widget that is displayed in the SmartVu® Editor.
<lang>.extensions[].typerequiredstringType of Widget that defines what will be rendered. One of: "lifesize_extension".
<lang>.extensions[].paramsone of LifesizeExtensionParamsThe content of this property depends on the widget_type.
<lang>.extensions[].sort_ordernumberSorting 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

NameTypeDescription
smartvu_tokenrequiredstringToken of a SmartVu

Request body required

Content type application/json

FieldTypeDescription
extensionsarray of Extension
extensions[].tokenstring(Optional) alpha-numeric Token with 8 characters.
extensions[].titlestringName of the Widget that is displayed in the SmartVu® Editor.
extensions[].typerequiredstringType of Widget that defines what will be rendered. One of: "lifesize_extension".
extensions[].paramsone of LifesizeExtensionParamsThe content of this property depends on the widget_type.
extensions[].sort_ordernumberSorting Order
<lang>objectExtensions wrapped with a language identifier (e.g. "en", "de", "fr").
<lang>.extensionsarray of Extension
<lang>.extensions[].tokenstring(Optional) alpha-numeric Token with 8 characters.
<lang>.extensions[].titlestringName of the Widget that is displayed in the SmartVu® Editor.
<lang>.extensions[].typerequiredstringType of Widget that defines what will be rendered. One of: "lifesize_extension".
<lang>.extensions[].paramsone of LifesizeExtensionParamsThe content of this property depends on the widget_type.
<lang>.extensions[].sort_ordernumberSorting 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

FieldTypeDescription
extensionsarray of Extension
extensions[].tokenstring(Optional) alpha-numeric Token with 8 characters.
extensions[].titlestringName of the Widget that is displayed in the SmartVu® Editor.
extensions[].typerequiredstringType of Widget that defines what will be rendered. One of: "lifesize_extension".
extensions[].paramsone of LifesizeExtensionParamsThe content of this property depends on the widget_type.
extensions[].sort_ordernumberSorting Order
<lang>objectExtensions wrapped with a language identifier (e.g. "en", "de", "fr").
<lang>.extensionsarray of Extension
<lang>.extensions[].tokenstring(Optional) alpha-numeric Token with 8 characters.
<lang>.extensions[].titlestringName of the Widget that is displayed in the SmartVu® Editor.
<lang>.extensions[].typerequiredstringType of Widget that defines what will be rendered. One of: "lifesize_extension".
<lang>.extensions[].paramsone of LifesizeExtensionParamsThe content of this property depends on the widget_type.
<lang>.extensions[].sort_ordernumberSorting 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

FieldTypeDescription
folder_tokenrequiredstringtoken of the folder or SmartVu® the new item should be created in
folder_typerequiredstringfolder or feature depending on whether the item should be created in a folder or a SmartVu® One of: "feature", "folder". Default: "feature".
filenamerequiredstringfilename with its extension of the file that should be uploaded. (e.g. test.vf3d)
content_typerequiredstringcontent 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_sharestringIs 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

FieldTypeDescription
descriptionstring
presigned_urlstringS3 upload URL
callback_urlstringPublic API callback URL
upload_actionstringupload as new item
upload_filenamestringgenerated unique filename
resolved_content_typestringrecognized 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

NameTypeDescription
item_tokenrequiredstringitem token of an existing item

Request body required

Content type application/x-www-form-urlencoded

FieldTypeDescription
filenamerequiredstringfilename with its extension of the file that should be uploaded. (e.g. test.vf3d)
content_typerequiredstringcontent 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_sharestringIs 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

FieldTypeDescription
descriptionstring
presigned_urlstringS3 upload URL
callback_urlstringPublic API callback URL
upload_actionstringupload as new item
upload_filenamestringgenerated unique filename
resolved_content_typestringrecognized 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

NameTypeDescription
resource_tokenrequiredstring(URL param) resource token obtained from the response of POST /items/:upload_id/upload_complete

Responses

200successful operation

Content type application/json

FieldTypeDescription
resource_tokenstringResource Token
project_tokenstringtoken of the VUFRAME® Studio project the file was uploaded to
folder_tokenstringtoken of the VUFRAME® Studio folder or SmartVu the file was uploaded to
item_tokenstring, nullabletoken of the the item that was created for this file
readyboolean
finished_processingboolean
successboolean
statusstring
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"