A Project contains groups of scenes, as well as Asset Collections. It is primarily used for organization, and helps manage a full-scale animation production.
When authentication is active, projects are associated to the user that creates them and can be public or private. Users can only interact with projects that are either public, or that they own.
POST
/v1/project
¶Create a new Project.
Request Headers: | |
---|---|
|
|
Status Codes: |
|
POST /v1/project HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"name": "Test",
"description": "This is a test",
"category": "test",
"tags": ["testTag"],
"isPublic": true,
"sceneGroups": [
{
"name": "testGroup",
"description": "This is a test group",
"category": "test",
"scenes": ["1234"]
}
],
"assetCollectionIds": ["4321"]
}
curl -i -X POST http://localhost:8080/v1/project -H 'Content-Type: application/json' --data-raw '{"assetCollectionIds": ["4321"], "category": "test", "description": "This is a test", "isPublic": true, "name": "Test", "sceneGroups": [{"category": "test", "scenes": ["1234"], "name": "testGroup", "description": "This is a test group"}], "tags": ["testTag"]}'
HTTP/1.1 200 OK
Location: http://localhost:8080/v1/project
{
"id": "5be8eeb4f5eee94951e553a9",
"name": "Test",
"description": "This is a test",
"category": "test",
"tags": [
"testTag"
],
"sceneGroups": [
{
"name": "testGroup",
"description": "This is a test group",
"category": "test",
"scenes": [
"1234"
]
}
],
"assetCollectionIds": [
"4321"
]
}
GET /v1/project/{key} HTTP/1.1
Host: localhost:8080
curl -i 'http://localhost:8080/v1/project/{key}'
POST
/v1/project/
(key)¶Update the basic (String and numeric) attributes of an existing Project.
Request Headers: | |
---|---|
|
|
Status Codes: |
|
POST /v1/project/{key} HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"name": "AnotherName",
"description": "This is a second test",
"category": "testing"
}
curl -i -X POST 'http://localhost:8080/v1/project/{key}' -H 'Content-Type: application/json' --data-raw '{"category": "testing", "description": "This is a second test", "name": "AnotherName"}'
HTTP/1.1 200 OK
Location: http://localhost:8080/v1/project
{
"id": "5be8eeb4f5eee94951e553a9",
"name": "Test",
"description": "This is a test",
"category": "test",
"tags": [
"testTag"
],
"sceneGroups": [
{
"name": "testGroup",
"description": "This is a test group",
"category": "test",
"scenes": [
"1234"
]
}
],
"assetCollectionIds": [
"4321"
]
}
POST
/v1/project/
(key)/groups
¶Create a new Scene Group associated to the specified Project.
Request Headers: | |
---|---|
|
|
Status Codes: |
|
POST /v1/project/{key}/groups HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"name": "AnotherName",
"description": "This is a second test",
"category": "testing"
}
curl -i -X POST 'http://localhost:8080/v1/project/{key}/groups' -H 'Content-Type: application/json' --data-raw '{"category": "testing", "description": "This is a second test", "name": "AnotherName"}'
POST
/v1/project/
(key)/groups/{groupName}
¶Update the basic attributes (String and numeric) of an existing Scene Group associated to the specified Project.
Request Headers: | |
---|---|
|
|
Status Codes: |
|
POST /v1/project/{key}/groups/{groupName} HTTP/1.1
Host: localhost:8080
Content-Type: application/json
{
"name": "AnotherName",
"description": "This is a second test",
"category": "testing"
}
curl -i -X POST 'http://localhost:8080/v1/project/{key}/groups/{groupName}' -H 'Content-Type: application/json' --data-raw '{"category": "testing", "description": "This is a second test", "name": "AnotherName"}'
PUT
/v1/project/
(key)/groups/{groupName}/scenes/{sceneKey}
¶Add a Scene by ID to an existing Scene Group, which is associated to the specified Project.
Status Codes: |
|
---|
PUT /v1/project/{key}/groups/{groupName}/scenes/{sceneKey} HTTP/1.1
Host: localhost:8080
curl -i -X PUT 'http://localhost:8080/v1/project/{key}/groups/{groupName}/scenes/{sceneKey}'
DELETE
/v1/project/
(key)/groups/{groupName}/scenes/{sceneKey}
¶Remove a Scene by ID from an existing Scene Group, which is associated to the specified Project.
Status Codes: |
|
---|
DELETE /v1/project/{key}/groups/{groupName}/scenes/{sceneKey} HTTP/1.1
Host: localhost:8080
curl -i -X DELETE 'http://localhost:8080/v1/project/{key}/groups/{groupName}/scenes/{sceneKey}'
DELETE
/v1/project/
(key)/groups/{groupName}
¶Remove an existing Scene Group from the specified Project.
Status Codes: |
|
---|
DELETE /v1/project/{key}/groups/{groupName} HTTP/1.1
Host: localhost:8080
curl -i -X DELETE 'http://localhost:8080/v1/project/{key}/groups/{groupName}'
GET /v1/project?name=test&num_records=10&page=0 HTTP/1.1
Host: localhost:8080
curl -i 'http://localhost:8080/v1/project?name=test&num_records=10&page=0'
HTTP/1.1 200 OK
Location: http://localhost:8080/v1/project?name=AnotherName&num_records=10&page=0
[
{
"id": "5be8eeb4f5eee94951e553a9",
"name": "AnotherName",
"description": "This is a second test",
"category": "testing",
"tags": [
"testTag2"
],
"sceneGroups": [
{
"name": "testGroup2",
"description": "This is another test group",
"category": "testing",
"scenes": [
"12345"
]
}
],
"assetCollectionIds": [
"43212"
]
}
]