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: |
|
http
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
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"]}'
response
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"
]
}
http
GET /v1/project/{key} HTTP/1.1
Host: localhost:8080
curl
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: |
|
http
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
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"}'
response
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: |
|
http
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
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: |
|
http
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
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: |
|
|---|
http
PUT /v1/project/{key}/groups/{groupName}/scenes/{sceneKey} HTTP/1.1
Host: localhost:8080
curl
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: |
|
|---|
http
DELETE /v1/project/{key}/groups/{groupName}/scenes/{sceneKey} HTTP/1.1
Host: localhost:8080
curl
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: |
|
|---|
http
DELETE /v1/project/{key}/groups/{groupName} HTTP/1.1
Host: localhost:8080
curl
curl -i -X DELETE 'http://localhost:8080/v1/project/{key}/groups/{groupName}'
http
GET /v1/project?name=test&num_records=10&page=0 HTTP/1.1
Host: localhost:8080
curl
curl -i 'http://localhost:8080/v1/project?name=test&num_records=10&page=0'
response
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"
]
}
]