Simplio3D

Assets

Manage 3D models, textures, and graphics. Upload, organize, and retrieve assets with signed download URLs.

List Assets

GET/assets
// Get all assets (optionally filter by type)
const response = await fetch(BASE_URL + '/assets?type=3d', {
  headers: { 'Authorization': 'Bearer ' + accessToken }
});

Upload Asset

POST/assets
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('name', 'Chair Model');
formData.append('type', '3d');
formData.append('category', 'furniture');

const response = await fetch(BASE_URL + '/assets', {
  method: 'POST',
  headers: { 'Authorization': 'Bearer ' + accessToken },
  body: formData
});

Get Asset

GET/assets/:assetId
const response = await fetch(BASE_URL + '/assets/asset_123', {
  headers: { 'Authorization': 'Bearer ' + accessToken }
});

Update Asset

PUT/assets/:assetId
const response = await fetch(BASE_URL + '/assets/asset_123', {
  method: 'PUT',
  headers: {
    'Authorization': 'Bearer ' + accessToken,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ name: 'Renamed Asset', category: 'new-category' })
});

Delete Asset

DELETE/assets/:assetId
const response = await fetch(BASE_URL + '/assets/asset_123', {
  method: 'DELETE',
  headers: { 'Authorization': 'Bearer ' + accessToken }
});

Download Asset (Signed URL)

GET/assets/:assetId/download
const response = await fetch(BASE_URL + '/assets/asset_123/download', {
  headers: { 'Authorization': 'Bearer ' + accessToken }
});

const data = await response.json();
// { "success": true, "url": "https://...signed-url..." }

Continue reading