Projects

Attributes
id Integer 1 Unique numeric identifier
name String Project Name Human readable name identifying this project
starts_at Date 2017-12-01 Project start date
ends_at Date 2017-01-20 Project end date
last_clip_update Date 2017-01-20 Date of last clip update
personalized_overlay Boolean true Is true when personalized overlays should be active
Actions
List GET /projects
List running (active) projects GET /projects?scope=running
Show GET /projects/{id} -
Update PUT /projects/{id} data: {"project":{"starts_at":"new date", "ends_at":"new date"}}
Destroy DELETE /projects/{id} only possible if project is empty
List GET /projects/{id}/roles -
List project permissions GET /projects/{id}/permissions -
List role permissions GET /projects/{id}/roles/{role_id}/permissions -

Creating and maintaining projects must be done over the web-interface.

Show also lists the following fields. The numbers are kept in bytes and are not "humanized", so you can easily use them for calculation.

total_storage_limit (bytes)
which is the maximum amount of allowed storage. If the answer is nil you have no limit.
filesize (bytes)
which is the used space of your storage

Update starts_at and ends_at of a project

Example:

PUT /api/projects/9 HTTP/1.1
Authorization: Bearer example-token
Accept: application/json

data: {"project":{"starts_at":"2017-12-01","ends_at":"2020-12-01"}}

response:

HTTP/1.1 200 OK
Content-Type: application/json

{
  "status": 200,
  "status_message": "OK",
  "info": "",
  "data": {"project":{"id":9,"name":"Your project name","starts_at":"2017-12-01","ends_at":"2020-12-01", "total_storage_limit":null, "filesize":0}}
}