Save Configuration API Documentation - V1.0.0
API keys
Generate temporary public key
This is a POST method that generates a temporary public key
POST https://save-configuration.unlimited3d.com/api/key/generate
Headers Parameters:
Name |
Type |
Required |
secret_key |
string |
yes |
public_key |
string |
yes |
Body Parameters:
Name |
Type |
Required |
Description |
ttl |
integer |
no |
Time to leave in seconds. Default 600 (10 minutes). Maximum 7200(2 hours). |
group_scope |
array |
yes |
Array of groups that key can be used for |
Example response:
{
"public_key": "jwt token representing temp public key",
"expires_at": 1734432950, // Unix timestamp, when key will expire,
"group_scope": ["test"] // Scope of the key
}
Configuration and files
Save Configuration
This is a POST method that saves a custom configuration.
POST https://save-configuration.unlimited3d.com/api/configurations/save
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Body Parameters:
Name |
Type |
Required |
Description |
group |
string |
yes |
The name of the group |
Example response:
{
"id": 8, // Id of configuration
"status": "started", // Status, can be "started" or "confirmed"
"group": "test", // Group that configuration is assigned to
"created_at": "2024-12-17T10:48:46.482Z",
"updated_at": "2024-12-17T10:48:46.482Z",
"s3_signed_url": "s3 temp url to PUT json to" // Default expiry 10 minutes
}
Confirm
This is a POST method that confirms a configuration.
POST https://save-configuration.unlimited3d.com/api/configurations/{id}/confirm
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
id |
integer |
yes |
id of configuration client wants to confirm |
Example response:
{
"id": 8, // Id of configuration
"status": "confirmed",
"group": "test",
"size_bytes": 753, // Size of file uploaded to S3, in bytes
"created_at": "2024-12-17T10:48:46.000Z",
"updated_at": "2024-12-17T10:51:59.000Z"
}
Get configurations
This is a POST method that retrieves the paginated list of configurations
POST https://save-configuration.unlimited3d.com/api/configurations
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
page |
integer |
no |
representing the page of paginated results |
Body Parameters:
Name |
Type |
Required |
Description |
groups |
array |
yes |
array of groups to get |
Example response:
{
"data": [
{
"id": 7,
"status": "confirmed",
"group": "test",
"created_at": "2024-12-16T13:48:25.000Z",
"updated_at": "2024-12-16T13:48:49.000Z"
},
{
"id": 8,
"status": "confirmed",
"group": "test",
"created_at": "2024-12-17T10:48:46.000Z",
"updated_at": "2024-12-17T10:51:59.000Z"
}
],
"pagination": {
"count": 2, // Number of results on current page
"pages": 1, // Total number of pages
"total": 2 // Total number of results
}
}
Get a specific configuration
This is a GET method that retrieves a specific configuration
GET https://save-configuration.unlimited3d.com/api/configurations/{id}
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
id |
integer |
yes |
id of configuration client wants to get |
Example response:
{
"id": 8,
"status": "confirmed",
"group": "test",
"size_bytes": 753, // Size of file in bytes
"tmp_file_url": "https://storage-save-configuration.unlimited3d.com/4ad62fc1-b5d3-49d2-958d-64998f29f66b.json?Policy=eyJT.....", // Cloud front temp url, default expiry 5 days
"tmp_url_expires_at": 1734865227, // When will the temp url expiry
"created_at": "2024-12-17T10:48:46.000Z",
"updated_at": "2024-12-17T10:51:59.000Z"
}
Get files
This is a GET method that retrieves the paginated list of files associated with the configuration.
GET https://save-configuration.unlimited3d.com/api/configurations/{id}/files
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
id |
integer |
yes |
id of configuration client wants to get files for |
page |
integer |
no |
representing the page of paginated results |
Example response:
{
"data": [
{
"id": 2,
"status": "confirmed",
"size_bytes": 753,
"created_at": "2024-12-17T11:12:04.000Z",
"updated_at": "2024-12-17T11:15:35.000Z",
"tmp_file_url": "https://storage-save-configuration.unlimited3d.com/ed971bb2-2b23-4fcf-af38-19d049fc21cc.png?Policy=eyJT....", // Cloud front temp url, default expiry 5 days
"tmp_url_expires_at": 1734866209 // When will the temp url expiry
}
],
"pagination": {
"count": 1,
"pages": 1,
"total": 1
}
}
Save file
This is a POST method that saves a file for a specific configuration.
POST https://save-configuration.unlimited3d.com/api/configurations/{id}/files/save
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
id |
integer |
yes |
id of configuration client wants to save file for |
Body Parameters:
Name |
Type |
Required |
Description |
ext |
string |
yes |
file extension |
Example response:
{
"id": 2, // Id of file
"status": "started", // Same as configuration, "started" or "confirmed"
"created_at": "2024-12-17T11:12:04.989Z",
"updated_at": "2024-12-17T11:12:04.989Z",
"s3_signed_url": "s3 temp url to PUT file to" // Default expiry 10 minutes
}
Confirm file
This is a POST method that confirms a file for a specific configuration.
POST https://save-configuration.unlimited3d.com/api/configurations/{saved_config_id}/files/{id}/confirm
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
id |
integer |
yes |
id of the file, returned by previous API |
Body Parameters:
Name |
Type |
Required |
Description |
saved_config_id |
integer |
yes |
id of configuration client wants to save file for |
Example response:
{
"id": 2,
"status": "confirmed",
"size_bytes": 753, // Size of file, in bytes
"created_at": "2024-12-17T11:12:04.000Z",
"updated_at": "2024-12-17T11:15:35.000Z"
}
Get a specific file
This is a GET method that retrieves a file saved for a specific configuration.
GET https://save-configuration.unlimited3d.com/api/configurations/{saved_config_id}/files/{id}
Headers Parameters:
Name |
Type |
Required |
Authorization |
string |
yes |
Parameters:
Name |
Type |
Required |
Description |
saved_config_id |
integer |
yes |
id of configuration client wants to save file for |
id |
integer |
yes |
id of the file, returned by previous API |
Example response:
{
"id": 4,
"status": "confirmed",
"size_bytes": 1852368,
"created_at": "2024-12-17T14:13:40.000Z",
"updated_at": "2024-12-17T14:14:06.000Z",
"tmp_file_url": "https://storage-save-configuration.unlimited3d.com/35cb9173-26ec-424c-bcfd-603db1c07a9a.jpg?Policy=eyJTdG....",
"tmp_url_expires_at": 1734880024
}