diff --git a/docs/openapi.json b/docs/openapi.json index 3cb60ccdf9..f188dc2648 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -1 +1 @@ -{"basePath":"/api","definitions":{" Common fields for all model instances":{"properties":{" id":{"description":"A unique ID made of letters, hyphens and numbers","example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"created_at":{"description":"The creation date","format":"date-time","type":"string"},"updated_at":{"description":"The update date","format":"date-time","type":"string"}},"type":"object"},"Asset":{"properties":{"canceled":{"default":"False","description":"True if the asset has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the asset","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Asset brief","type":"string"},"entity_type_id":{"description":"Asset type ID","format":"UUID","type":"string"},"name":{"description":"Name of asset","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"AssetInstance":{"properties":{"active":{"default":"True","type":"boolean"},"asset_id":{"description":"Instantiated asset","format":"UUID","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"type":"string"},"name":{"type":"string"},"number":{"type":"integer"},"scene_id":{"description":"Target scene","format":"UUID","type":"string"},"target_asset_id":{"description":"Use when instantiating an asset in an asset is required","format":"UUID","type":"string"}},"type":"object"},"AssetType":{"properties":{"name":{"type":"string"}},"type":"object"},"AttachmentFile":{"properties":{"comment_id":{"description":"Comment to which the file is attached","format":"UUID","type":"string"},"extension":{"description":"Extension of attachment file","type":"string"},"mimetype":{"type":"string"},"name":{"description":"Name of attachment file","type":"string"},"size":{"description":"Size of attachment file","type":"integer"}},"type":"object"},"BuildJob":{"properties":{"ended_at":{"format":"date-time","type":"string"},"job_type":{"description":"Type of build job (archive, movie)","type":"string"},"playlist_id":{"description":"Playlist ID","format":"UUID","type":"string"},"status":{"description":"Status of build job (running, failed, succeeded)","type":"string"}},"type":"object"},"Comment":{"properties":{"checklist":{"format":"json","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"object_id":{"description":"Unique ID of the commented model instance","format":"UUID","type":"string"},"object_type":{"description":"Model type of the comment model instance","type":"string"},"person_id":{"description":"The person who publishes the comment","format":"UUID","type":"string"},"pinned":{"type":"boolean"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"replies":{"default":"[]","format":"json","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"task_status_id":{"description":"Task status attached to comment","format":"UUID","type":"string"},"text":{"type":"string"}},"type":"object"},"CustomAction":{"properties":{"entity_type":{"default":"all","type":"string"},"is_ajax":{"default":"False","description":"True if the custom action is ajax, False otherwise","type":"boolean"},"name":{"description":"Name of custom action","type":"string"},"url":{"type":"string"}},"type":"object"},"DataImportError":{"properties":{"event_data":{"description":"JSON field to add event data","format":"json","type":"string"},"source":{"items":{"enum":["csv","shotgun"],"type":"string"},"type":"array"}},"type":"object"},"DayOff":{"properties":{"date":{"format":"date","type":"string"},"person_id":{"description":"The person who will take the day off","format":"UUID","type":"string"}},"type":"object"},"Department":{"properties":{"color":{"description":"Color of department","type":"string"},"name":{"description":"Name of department","type":"string"}},"type":"object"},"DesktopLoginLog":{"properties":{"date":{"format":"date","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"}},"type":"object"},"Episode":{"properties":{"canceled":{"default":"False","description":"True if the episode has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the episode","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Episode brief","type":"string"},"name":{"description":"Name of episode","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"Event":{"properties":{"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"name":{"description":"Name of event","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"user_id":{"description":"The user who made the action that emitted the event","format":"UUID","type":"string"}},"type":"object"},"FileStatus":{"properties":{"color":{"type":"string"},"name":{"type":"string"}},"type":"object"},"LoginLog":{"properties":{"ip_address":{"description":"IP address of device used to login","type":"string"},"origin":{"description":"web, script","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"}},"type":"object"},"Metadata":{"properties":{"choices":{"description":"Array of string that represents the available values for this metadate (this metatada is considered as a free field if this array is empty)","format":"json","type":"string"},"entity_type":{"description":"Asset or Shot","type":"string"},"field_name":{"description":"Technical field name","type":"string"},"for_client":{"type":"boolean"},"name":{"description":"Field name for GUI","type":"string"},"project_id":{"description":"ID of project for which metadata are added","format":"UUID","type":"string"}},"type":"object"},"Milestone":{"properties":{"data":{"description":"Milestone date of production schedule","format":"date","type":"string"},"name":{"description":"Name of milestone","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"News":{"properties":{"author_id":{"description":"Person who wrote the comment","format":"UUID","type":"string"},"change":{"default":"False","type":"boolean"},"comment_id":{"description":"Posted comment ID","format":"UUID","type":"string"},"preview_file_id":{"description":"Preview file ID","format":"UUID","type":"string"},"task_id":{"description":"Task ID","format":"UUID","type":"string"}},"type":"object"},"Notification":{"properties":{"author_id":{"description":"Author of the event to notify","format":"UUID","type":"string"},"change":{"description":"True if there is status change related to this status, False otherwise","type":"boolean"},"comment_id":{"description":"Comment related to the notification, if there is any","format":"UUID","type":"string"},"person_id":{"description":"The user to who the notification is aimed at","format":"UUID","type":"string"},"read":{"description":"True if user read it, False otherwise","type":"boolean"},"reply_id":{"description":"Reply related to notification","format":"UUID","type":"string"},"task_id":{"description":"Task related to the notification, if there is any","format":"UUID","type":"string"},"type":{"description":"Type of notification","type":"string"}},"type":"object"},"Organisation":{"properties":{"chat_token_discord":{"type":"string"},"chat_token_slack":{"type":"string"},"chat_webhook_mattermost":{"type":"string"},"has_avatar":{"default":"False","description":"True if the organisation has an avatar, Flase otherwise","type":"boolean"},"hd_by_default":{"default":"False","type":"boolean"},"hours_by_day":{"type":"float"},"name":{"description":"Name of organisaition","type":"string"},"timesheets_locked":{"default":"False","description":"True if the organisation's timesheets are locked, False otherwise","type":"boolean"},"use_original_file_name":{"default":"False","description":"True if the organisation uses original file names, Flase otherwise","type":"boolean"}},"type":"object"},"OutputFile":{"properties":{"asset_instance_id":{"description":"Asset instance ID","format":"UUID","type":"string"},"canceled":{"type":"boolean"},"checksum":{"description":"Checksum of output file","type":"string"},"comment":{"description":"Comment on output file","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Output file brief","type":"string"},"entity_id":{"description":"Asset or Shot concerned by the output file","format":"UUID","type":"string"},"extension":{"description":"Extension of output file","type":"string"},"file_status_id":{"description":"File status ID","format":"UUID","type":"string"},"name":{"description":"Name of output file","type":"string"},"nb_elements":{"default":"1","description":"For image sequence","type":"integer"},"output_type_id":{"description":"Type of output (geometry, cache, etc.)","format":"UUID","type":"string"},"path":{"description":"File path on the production hard drive","type":"string"},"person_id":{"description":"Author of the file","format":"UUID","type":"string"},"representation":{"description":"Precise what kind of output it is (abc, jpgs, pngs, etc.)","type":"string"},"revision":{"description":"Revision number of output file","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"size":{"description":"Size of output file","type":"integer"},"source":{"description":"Created by a script, a webgui or a desktop gui","type":"string"},"source_file_id":{"description":"Working file that led to create this output file","format":"UUID","type":"string"},"task_type_id":{"description":"Task type related to this output file (modeling, animation, etc.)","format":"UUID","type":"string"},"temporal_entity_id":{"description":"Shot, scene or sequence needed for output files related to an asset instance","format":"UUID","type":"string"}},"type":"object"},"OutputType":{"properties":{"name":{"type":"string"},"short_name":{"type":"string"}},"type":"object"},"Person":{"properties":{"active":{"description":"True if the person is still in the studio, False otherwise","type":"boolean"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"desktop_login":{"description":"Login used on desktop","type":"string"},"email":{"description":"Serve as login","type":"string"},"first_name":{"type":"string"},"has_avatar":{"default":"False","description":"True if user has an avatar, Flase otherwise","type":"boolean"},"last_name":{"type":"string"},"last_presence":{"description":"Last time the person worked for the studio","format":"date","type":"string"},"locale":{"type":"string"},"notifications_discord_enabled":{"type":"boolean"},"notifications_discord_userid":{"type":"string"},"notifications_enabled":{"type":"boolean"},"notifications_mattermost_enabled":{"type":"boolean"},"notifications_mattermost_userid":{"type":"string"},"notifications_slack_enabled":{"type":"boolean"},"notifications_slack_userid":{"type":"string"},"password":{"format":"byte","type":"string"},"phone":{"type":"string"},"role":{"default":"user","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"timezone":{"type":"string"}},"type":"object"},"Playlist":{"properties":{"episode_id":{"description":"Episode ID","format":"UUID","type":"string"},"for_client":{"default":"False","type":"boolean"},"for_entity":{"default":"shot","type":"string"},"is_for_all":{"default":"False","type":"boolean"},"name":{"description":"Name of playlist","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shots":{"description":"JSON field describing shot and preview listed in","format":"json","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"PreviewFile":{"properties":{"asset_instance_id":{"description":"Asset instance ID","format":"UUID","type":"string"},"canceled":{"type":"boolean"},"checksum":{"description":"Checksum of output file","type":"string"},"comment":{"description":"Comment on output file","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Preview file brief","type":"string"},"entity_id":{"description":"Asset or Shot concerned by the output file","format":"UUID","type":"string"},"extension":{"description":"Extension of preview file","type":"string"},"file_size":{"default":"0","description":"Size of output file","type":"integer"},"file_status_id":{"description":"File status ID","format":"UUID","type":"string"},"name":{"description":"Name of preview file","type":"string"},"nb_elements":{"default":"1","description":"For image sequence","type":"integer"},"original_name":{"description":"Original name of preview file","type":"string"},"output_type_id":{"description":"Type of output (geometry, cache, etc.)","format":"UUID","type":"string"},"path":{"description":"File path on the production hard drive","type":"string"},"person_id":{"description":"Author of the file","format":"UUID","type":"string"},"position":{"default":"1","description":"Position of preview file","type":"integer"},"representation":{"description":"Precise what kind of output it is (abc, jpgs, pngs, etc.)","type":"string"},"revision":{"default":"1","description":"Revision number of preview file","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source":{"description":"Created by a script, a webgui or a desktop gui","type":"string"},"source_file_id":{"description":"Working file that led to create this output file","format":"UUID","type":"string"},"task_type_id":{"description":"Task type related to this output file (modeling, animation, etc.)","format":"UUID","type":"string"},"temporal_entity_id":{"description":"Shot, scene or sequence needed for output files related to an asset instance","format":"UUID","type":"string"}},"type":"object"},"Project":{"properties":{"code":{"description":"Utility field for the pipeline to identify the project","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Project brief","type":"string"},"end_date":{"format":"date","type":"string"},"episode_span":{"default":"0","type":"integer"},"file_tree":{"description":"Templates to use to build file paths","format":"json","type":"string"},"fps":{"description":"Frames per second","type":"string"},"has_avatar":{"default":"False","description":"True if the project has an avatar, False otherwise","type":"boolean"},"is_clients_isolated":{"default":"False","description":"True if the clients are isolated from the project, False otherwise","type":"boolean"},"man_days":{"description":"Estimated number of working days to complete the project","type":"integer"},"max_retakes":{"default":"0","type":"integer"},"name":{"description":"Name of project","type":"string"},"nb_episodes":{"default":"0","type":"integer"},"production_type":{"default":"short","description":"short, featurefilm or tvshow","type":"string"},"project_status_id":{"description":"Project status ID","format":"UUID","type":"string"},"ratio":{"type":"string"},"resolution":{"type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"start_date":{"format":"date","type":"string"}},"type":"object"},"ProjectStatus":{"properties":{"color":{"type":"string"},"name":{"type":"string"}},"type":"object"},"ScheduleItem":{"properties":{"end_date":{"format":"date","type":"string"},"man_days":{"format":"date","type":"string"},"object_id":{"description":"Object ID","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"start_date":{"format":"date","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"SearchFilter":{"properties":{"entity_type":{"description":"Type of entity","type":"string"},"list_type":{"description":"Type of list","type":"string"},"name":{"description":"Name of search filter","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"search_query":{"type":"string"}},"type":"object"},"Sequence":{"properties":{"canceled":{"default":"False","description":"True if the sequence has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the sequence","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Sequence brief","type":"string"},"name":{"description":"Name of sequence","type":"string"},"parent_id":{"description":"Episode ID","format":"UUID","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"Shot":{"properties":{"canceled":{"default":"False","description":"True if the shot has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the shot","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Shot brief","type":"string"},"entity_type_id":{"description":"Shot type ID","format":"UUID","type":"string"},"name":{"description":"Name of shot","type":"string"},"parent_id":{"description":"Episode ID","format":"UUID","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"Software":{"properties":{"file_extension":{"description":"Main extension used for this software's files","type":"string"},"name":{"description":"Name of software","type":"string"},"secondary_extensions":{"description":"Other extensions used for this software's files","format":"json","type":"string"},"short_name":{"description":"Short name of software","type":"string"}},"type":"object"},"StatusAutomation":{"properties":{"entity_type":{"default":"asset","type":"string"},"in_task_status_id":{"description":"Task status ID","format":"UUID","type":"string"},"in_task_type_id":{"description":"Task type ID","format":"UUID","type":"string"},"out_field_type":{"description":"Field type (status, ready_for)","type":"string"},"out_task_status_id":{"description":"Task status ID","format":"UUID","type":"string"},"out_task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"SubscriptionToNotifications":{"properties":{"entity_id":{"description":"Entity ID","format":"UUID","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"},"task_id":{"description":"Task ID","format":"UUID","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"Task":{"properties":{"assigner_id":{"description":"Person ID","format":"UUID","type":"string"},"completion_rate":{"default":"0","description":"Completion rate of task","type":"integer"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Task brief","type":"string"},"due_date":{"format":"date-time","type":"string"},"duration":{"default":"0","description":"Duration of task","type":"float"},"end_date":{"format":"date-time","type":"string"},"entity_id":{"description":"Entity ID","format":"UUID","type":"string"},"estimation":{"default":"0","description":"Estimation of duration of task","type":"float"},"last_comment_date":{"format":"date-time","type":"string"},"name":{"description":"Name of task","type":"string"},"nb_assets_ready":{"default":"0","description":"Number of assets ready","type":"integer"},"priority":{"default":"0","description":"Priority of task","type":"integer"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"real_start_date":{"format":"date-time","type":"string"},"retake_count":{"default":"0","description":"Retake count of task","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"sort_order":{"default":"0","description":"Sort order of task","type":"integer"},"start_date":{"format":"date-time","type":"string"},"task_status_id":{"description":"Task status ID","format":"UUID","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"TaskStatus":{"properties":{"color":{"type":"string"},"is_artist_allowed":{"default":"True","description":"True if the artist is allowed, False otherwise","type":"boolean"},"is_client_allowed":{"default":"True","description":"True if the client is allowed, False otherwise","type":"boolean"},"is_default":{"default":"False","description":"True if the task is default, False otherwise","type":"boolean"},"is_done":{"default":"False","description":"True if the task is done, False otherwise","type":"boolean"},"is_feedback_request":{"default":"False","description":"True if feedback was requested, False otherwise","type":"boolean"},"is_retake":{"default":"False","description":"True if the task was retaken, False otherwise","type":"boolean"},"name":{"description":"Name of task status","type":"string"},"short_name":{"description":"Short name of task status","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"}},"type":"object"},"TaskType":{"properties":{"allow_timelog":{"default":"True","description":"True if timelog is allowed, False otherwise","type":"boolean"},"color":{"default":"#FFFFFF","type":"string"},"department_id":{"description":"Department ID","format":"UUID","type":"string"},"for_entity":{"default":"Asset","type":"string"},"name":{"description":"Name of task type","type":"string"},"priority":{"default":"1","description":"Priority of task type","type":"integer"},"short_name":{"description":"Short name of task type","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"}},"type":"object"},"TimeSpent":{"properties":{"date":{"format":"date","type":"string"},"duration":{"type":"float"},"person_id":{"description":"The person who performed the working time","format":"UUID","type":"string"},"task_id":{"description":"Related task ID","format":"UUID","type":"string"}},"type":"object"},"WorkingFile":{"properties":{"checksum":{"description":"Checksum of working file","type":"string"},"comment":{"description":"Comment on working file","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"working file brief","type":"string"},"entity_id":{"description":"Entity for which the working is made","format":"UUID","type":"string"},"name":{"description":"Name of working file","type":"string"},"path":{"description":"File path on the production hard drive","type":"string"},"person_id":{"description":"Author of the file","format":"UUID","type":"string"},"revision":{"description":"Revision number of working file","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"size":{"description":"Size of working file","type":"integer"},"software_id":{"description":"Software used to build this working file","format":"UUID","type":"string"},"task_id":{"description":"Task for which the working file is made","format":"UUID","type":"string"}},"type":"object"}},"externalDocs":{"description":"Read the installation documentation","url":"https://zou.cg-wire.com"},"host":"localhost:8080","info":{"contact":{"name":"CGWire","url":"https://www.cg-wire.com"},"description":"\n## Welcome to the Kitsu API specification\n```Version: 0.17.21```\n\nThe Kitsu API allows to store and manage the data of your animation/VFX production. Through it you can link all the tools of your pipeline and make sure they are all synchronized.\n\nAn easy to use Python client to access this API is available:\n[Python Kitsu Client documentation](https://gazu.cg-wire.com/)\n\n## Authentication
\n\n

Before you can use any of the endpoints outline below,\nyou will have to get a JWT token to authorize your requests.\n\nYou can get a authorization token using a (form-encoded) POST request to ```/auth/login```.\nWith curl this would look something like ```curl -X POST /auth/login -d \"email=&password=```.\n\nThe response is a JSON object, specifically you'll need to provide the ```access_token``` for your future requests.\n\nHere is a complete authentication process as an example (again using curl):\n```\n$ curl -X POST /api/auth/login -d \"email=&password=\"'\n{\"login\": true\", \"access_token\": \"eyJ0e...\", ...}\n$ jwt=eyJ0e... # Store the access token for easier use\n$ curl -H \"Authorization: Bearer $jwt\" /api/data/projects\n[{...},\n{...}]\n```\n[OpenAPI definition](/openapi.json)\n","license":{"name":"AGPL 3.0","url":"https://www.gnu.org/licenses/agpl-3.0.en.html"},"title":"Kitsu API","version":"0.17.21"},"openapi":"3.1","paths":{"/":{"get":{"responses":{"200":{"description":"API name and version"}},"summary":"Get API name and version.","tags":["Index"]}},"/actions/entities/{entity_id}/set-main-preview/{preview_file_id}":{"put":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Main preview set"}},"summary":"Set main preview to given file.","tags":["Previews"]}},"/actions/persons/{person_id}/assign":{"put":{"description":"If a given task ID is wrong, it ignores it.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"List of tasks ID","in":"body","name":"Task","schema":{"properties":{"task_ids":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_ids"],"type":"object"}}],"responses":{"200":{"description":"Given tasks lists assigned to given person"}},"summary":"Assign given task lists to given person.","tags":["Tasks"]}},"/actions/persons/{person_id}/change-password":{"post":{"description":"Prior to modifying the password, it requires to be admin. An admin can't change other admins password. The new password requires a confirmation to ensure that the admin didn't make a mistake by typing the new password.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password_2","required":true,"type":"string"}],"responses":{"200":{"description":"Password changed"},"400":{"description":"Invalid password or inactive user"}},"summary":"Allow admin to change password for given user.","tags":["Persons"]}},"/actions/persons/{person_id}/departments/add":{"post":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"User added to given department"}},"summary":"Add a user to given department.","tags":["Persons"]}},"/actions/persons/{person_id}/departments/{department_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"department_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"User removed from given department"}},"summary":"Remove a user from given department.","tags":["Persons"]}},"/actions/persons/{person_id}/disable-two-factor-authentication":{"delete":{"description":"Prior to disable two factor authentication, it requires to be admin. An admin can't disable two factor authentication for other admins.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Two factor authentication disabled"},"400":{"description":"Inactive user"}},"summary":"Allow admin to disable two factor authentication for given user.","tags":["Persons"]}},"/actions/persons/{person_id}/invite":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Email sent"}},"summary":"Sends an email to given person to invite him/her to connect to Kitsu.","tags":["Persons"]}},"/actions/preview-files/{preview_file_id}/set-main-preview":{"put":{"description":"This preview will be used to illustrate the entity.","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given preview set as main preview"}},"summary":"Set given preview as main preview of the related entity.","tags":["Previews"]}},"/actions/preview-files/{preview_file_id}/update-annotations":{"put":{"description":"Modifications are applied via three fields:\n* `annotations` to give all the annotations that need to be added.\n\n* `updates` that list annotations that needs to be modified.\n\n* `deletions` to list the IDs of annotations that needs to be removed.\n","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Orders of previews changed for a single revision"}},"summary":"Allow to modify the annotations stored at the preview level.","tags":["Previews"]}},"/actions/preview-files/{preview_file_id}/update-position":{"put":{"description":"This preview will be used to illustrate the entity.","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Orders of previews changed for a single revision"}},"summary":"Allow to change orders of previews for a single revision.","tags":["Previews"]}},"/actions/projects/{project_id}/delete-tasks":{"post":{"description":"See it as a way to batch delete tasks.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks matching id list given in parameter deleted"}},"summary":"Delete tasks matching id list given in parameter.","tags":["Tasks"]}},"/actions/projects/{project_id}/set-file-tree":{"post":{"description":"Template files are located on the server side. Each template has a name which means that you just have to give a name to \"select\" the template to link with the project.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Tree name","schema":{"properties":{"tree_name":{"type":"string"}},"required":["tree_name"],"type":"object"}}],"responses":{"200":{"description":"Template file defined"},"400":{"description":"Selected tree not available"}},"summary":"Define a template file to use for given project.","tags":["Files"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/assets/create-tasks":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"New task for given asset and task type created"}},"summary":"Create a new task for given asset and task type.","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/create-tasks/{entity_type}/":{"post":{"description":"entity type.
","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"List of created tasks."}},"summary":"Create a new task with given task type for each entity of given","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/delete-tasks":{"delete":{"description":"It's mainly used when tasks are created by mistake at the beginning of the project.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"All tasks for given task type and project deleted"}},"summary":"Delete all tasks for a given task type and project.","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/edits/create-tasks":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"New task for given edit and task type created"}},"summary":"Create a new task for given edit and task type.","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/shots/create-tasks":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"New task for given shot and task type created"}},"summary":"Create a new task for given shot and task type.","tags":["Tasks"]}},"/actions/projects/{project_id}/tasks/comment-many":{"post":{"description":"Each comment requires a text, a task id, a task_status and a person as arguments. This way, comments keep history of status changes. When the comment is created, it updates the task status with given task status.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"person ID, name, comment, revision and change status of task","in":"body","name":"Comment","schema":{"properties":{"checklist":{"properties":{"item 1":{"type":"string"}},"type":"object"},"comment":{"type":"string"},"created_at":{"example":"2022-07-12T13:00:00","format":"date-time","type":"string"},"object_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_status_id"],"type":"object"}}],"responses":{"201":{"description":"Given files added to the comment entry as attachments"}},"summary":"Create several comments at once.","tags":["Comments"]}},"/actions/tasks/clear-assignation":{"put":{"parameters":[{"description":"List of tasks ID and person ID","in":"body","name":"Task","schema":{"properties":{"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_ids":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_ids"],"type":"object"}}],"responses":{"200":{"description":"All assignations removed"}},"summary":"Remove all assignations set to given task.","tags":["Tasks"]}},"/actions/tasks/{task_id}/assign":{"put":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Person ID","in":"body","name":"Person","schema":{"properties":{"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["person_id"],"type":"object"}}],"responses":{"200":{"description":"Given task assigned to given person"},"400":{"description":"Assignee non-existent in database"}},"summary":"Assign given task list to given person.","tags":["Tasks"]}},"/actions/tasks/{task_id}/comment":{"post":{"description":"It requires a text, a task_status and a person as arguments. This way, comments keep history of status changes. When the comment is created, it updates the task status with given task status.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"person ID, name, comment, revision and change status of task","in":"body","name":"Comment","schema":{"properties":{"checklist":{"properties":{"item 1":{"type":"string"}},"type":"object"},"comment":{"type":"string"},"created_at":{"example":"2022-07-12T13:00:00","format":"date-time","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_status_id"],"type":"object"}}],"responses":{"201":{"description":"New comment created"}},"summary":"Create a new comment for given task.","tags":["Comments"]}},"/actions/tasks/{task_id}/comments/{comment_id}/add-attachment":{"post":{"consumes":["image/png","image/gif","image/jpeg","multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"files","required":true,"type":"file"}],"responses":{"201":{"description":"Given files added to the comment entry as attachments"}},"summary":"Add given files to the comment entry as attachments.","tags":["Comments"]}},"/actions/tasks/{task_id}/comments/{comment_id}/add-preview":{"post":{"description":"Revision is automatically set: it is equal to last revision + 1, or can be set manually.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"revision","required":false,"schema":{"properties":{"duration":{"type":"integer"}},"type":"object"}},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"Preview added to given task"}},"summary":"Add a preview to given task.","tags":["Tasks"]}},"/actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Preview deleted from given comment"}},"summary":"Delete preview from given comment.","tags":["Tasks"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"Preview added to given comment"}},"summary":"Add a preview to given comment.","tags":["Tasks"]}},"/actions/tasks/{task_id}/set-main-preview":{"put":{"description":"This preview will be used as thumbnail to illustrate the entity.
","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given preview set as main preview"}},"summary":"Set last preview from given task as main preview of the related entity.","tags":["Task"]}},"/actions/tasks/{task_id}/time-spents":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Time spent on given task"},"404":{"description":"Wrong date format"}},"summary":"Get time spent on a given task.","tags":["Tasks"]}},"/actions/tasks/{task_id}/time-spents/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Time spent on given task and date"},"404":{"description":"Wrong date format"}},"summary":"Get time spent on a given task and date.","tags":["Tasks"]}},"/actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}":{"post":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"},{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Duration","schema":{"properties":{"duration":{"type":"float"}},"type":"object"}}],"responses":{"201":{"description":"Time spent by given person on given task for given day is set"},"404":{"description":"Wrong date format"}},"summary":"Set time spent by a person on a task for a given day.","tags":["Tasks"]}},"/actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}/add":{"post":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"},{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Duration","schema":{"properties":{"duration":{"type":"float"}},"type":"object"}}],"responses":{"201":{"description":"Given timeframe added to time spent by given person on given task for given day"},"404":{"description":"Wrong date format"}},"summary":"Add given timeframe to time spent by a person on a task for a given day.","tags":["Tasks"]}},"/actions/tasks/{task_id}/to-review":{"put":{"description":"It creates a new preview file entry and set path from the hard disk.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"person ID, name, comment, revision and change status of task","in":"body","name":"Task","schema":{"properties":{"change_status":{"type":"boolean"},"comment":{"type":"string"},"name":{"type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"revision":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Task status changed to \"to review\""},"400":{"description":"Given person not found"}},"summary":"Change a task status to \"to review\".","tags":["Tasks"]}},"/actions/user/clear-avatar":{"delete":{"description":"file.
","responses":{"204":{"description":"Avatar file deleted"}},"summary":"Set `has_avatar` flag to False for current user and remove its avatar","tags":["User"]}},"/actions/user/sequences/{sequence_id}/task-types/{task_type_id}/subscribe":{"post":{"description":"When a user subscribes, he gets notified every time a comment is posted on tasks related to the sequence.","parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Subscription entry created"}},"summary":"Create a subscription entry for given sequence, task type and current user.","tags":["User"]}},"/actions/user/sequences/{sequence_id}/task-types/{task_type_id}/unsubscribe":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Subscription entry removed"}},"summary":"Remove a subscription entry for given sequence, tasl type and current user.","tags":["User"]}},"/actions/user/tasks/{task_id}/subscribe":{"post":{"description":"When a user subscribes, he gets notified everytime a comment is posted on the task.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Subscription entry created"}},"summary":"Create a subscription entry for given task and current user.","tags":["User"]}},"/actions/user/tasks/{task_id}/unsubscribe":{"delete":{"description":"The user will no longer receive notifications for this task.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Subscription entry removed"}},"summary":"Remove the subscription entry matching given task and current user.","tags":["User"]}},"/actions/working-files/{working_file_id}/comment":{"put":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Comment","schema":{"properties":{"comment":{"type":"string"}},"required":["comment"],"type":"object"}}],"responses":{"200":{"description":"Comment updated on given working file"}},"summary":"Update comment on given working file.","tags":["Files"]}},"/actions/working-files/{working_file_id}/modified":{"put":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Working file modification date updated"}},"summary":"Update working file modification date with current date.","tags":["Files"]}},"/auth/authenticated":{"get":{"description":"response.
","responses":{"200":{"description":"User authenticated"},"401":{"description":"Person not found"}},"summary":"Returns information if the user is authenticated else it returns a 401","tags":["Authentication"]}},"/auth/change-password":{"post":{"description":"Prior to modifying the password, it requires to give the current password (to make sure the user changing the password is not someone who stealed the session). The new password requires a confirmation to ensure that the user didn't make a mistake by typing his new password.","parameters":[{"format":"password","in":"formData","name":"old_password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password_2","required":true,"type":"string"}],"responses":{"200":{"description":"Password changed"},"400":{"description":"Invalid password or inactive user"}},"summary":"Allow the user to change his password.","tags":["Authentication"]}},"/auth/email-otp":{"delete":{"responses":{"200":{"description":"OTP by email disabled."},"400":{"description":"Invalid password. Wrong or expired token. Inactive user. Wrong 2FA."}},"summary":"Resource to allow a user to disable OTP by email.","tags":["Authentication"]},"get":{"responses":{"200":{"description":"OTP by email sent"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to send an OTP by email to user.","tags":["Authentication"]},"post":{"responses":{"200":{"description":"OTP by email enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to enable OTP by email.","tags":["Authentication"]},"put":{"responses":{"200":{"description":"OTP by email enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to pre-enable OTP by email.","tags":["Authentication"]}},"/auth/fido":{"delete":{"responses":{"200":{"description":"FIDO device unregistered."},"400":{"description":"Invalid password Wrong or expired token Inactive user Wrong 2FA"}},"summary":"Resource to allow a user to unregister a FIDO device.","tags":["Authentication"]},"get":{"responses":{"200":{"description":"Challenge for FIDO device."},"400":{"description":"Wrong parameter."}},"summary":"Resource to get a challenge for a FIDO device.","tags":["Authentication"]},"post":{"responses":{"200":{"description":"FIDO device registered."},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to register a FIDO device.","tags":["Authentication"]},"put":{"responses":{"200":{"description":"FIDO device pre-registered."},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to pre-register a FIDO device.","tags":["Authentication"]}},"/auth/login":{"post":{"description":"Login is based on email and password. If no user match given email and a destkop ID, it looks in matching the desktop ID with the one stored in database. It is useful for clients that run on desktop tools and that don't know user email.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"format":"password","in":"formData","name":"password","required":true,"type":"string","x-example":"mysecretpassword"},{"format":"password","in":"formData","name":"otp","required":false,"type":"string","x-example":123456}],"responses":{"200":{"description":"Login successful"},"400":{"description":"Login failed"},"500":{"description":"Database not reachable"}},"summary":"Log in user by creating and registering auth tokens.","tags":["Authentication"]}},"/auth/logout":{"get":{"description":"Once logged out, current user cannot access the API anymore.","responses":{"200":{"description":"Logout successful"},"500":{"description":"Access token not found"}},"summary":"Log user out by revoking his auth tokens.","tags":["Authentication"]}},"/auth/recovery-codes":{"put":{"responses":{"200":{"description":"new recovery codes."},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to generate new recovery codes.","tags":["Authentication"]}},"/auth/refresh-token":{"get":{"description":"This route allows to make their lifetime long before they get outdated.","responses":{"200":{"description":"Access Token"}},"summary":"Tokens are considered as outdated every two weeks.","tags":["Authentication"]}},"/auth/register":{"post":{"parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password_2","required":true,"type":"string"},{"in":"formData","name":"first_name","required":true,"type":"string"},{"in":"formData","name":"last_name","required":true,"type":"string"}],"responses":{"201":{"description":"Registration successful"},"400":{"description":"Invalid password or email"}},"summary":"Allow a user to register himself to the service.","tags":["Authentication"]}},"/auth/reset-password":{"post":{"description":"It uses a classic scheme: a token is sent by email to the user. Then he can change his password.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"}],"responses":{"200":{"description":"Reset token sent"},"400":{"description":"Email not listed in database"}},"summary":"Resource to allow a user to change his password when he forgets it.","tags":["Authentication"]},"put":{"description":"It uses a classic scheme: a token is sent by email to the user. Then he can change his password.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"format":"JWT token","in":"formData","name":"token","required":true,"type":"string"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password2","required":true,"type":"string"}],"responses":{"200":{"description":"Password reset"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to change his password when he forgets it.","tags":["Authentication"]}},"/auth/totp":{"delete":{"responses":{"200":{"description":"TOTP disabled"},"400":{"description":"TOTP not enabled"}},"summary":"Resource to allow a user to disable TOTP.","tags":["Authentication"]},"post":{"responses":{"200":{"description":"TOTP enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to enable TOTP.","tags":["Authentication"]},"put":{"responses":{"200":{"description":"TOTP enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to pre-enable TOTP.","tags":["Authentication"]}},"/config":{"get":{"responses":{"200":{"description":"Crisp token"}},"summary":"Get crisp token.","tags":["Index"]}},"/data/asset-instances/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path":{"post":{"description":"Generate file path based on several parameters: asset instance, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision in case no revision is given in parameter.","parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Asset instance, output type, task type, revision, mode, name and separator.","in":"body","name":"File","schema":{"properties":{"extension":{"type":"string"},"mode":{"default":"output","type":"string"},"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"separator":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Output file path generated"},"400":{"description":"Malformed file tree"}},"summary":"Generate an output file path from file tree template","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/last-revisions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last revisions of output files for given instance grouped by output type and file name"}},"summary":"Get last revisions of output files for given instance grouped by output type and file name.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/new":{"post":{"description":"Some output files are linked to assets through an instance of this asset for a given shot. Each time a CG artist is satisfied by what he did on a working file, he can create an output file that will be linked to a target instance. It keeps track of the working file at the origin of the output file. An output type is required for better categorization (textures, caches, ...). A task type can be set too to give the department related to the output file.","parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, mode, output type ID, task type ID, person ID, working file ID, file status ID, comment, extension, representation, revision, number of elements and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"extension":{"type":"string"},"file_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"is_sequence":{"default":false,"type":"boolean"},"mode":{"default":"output","type":"string"},"name":{"default":"main","type":"string"},"nb_elements":{"default":1,"type":"integer"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"sep":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"working_file_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"200":{"description":"New output file created","schema":{"type":"file"}},"400":{"description":"Given output file already exists Given person not found Given output type not found"}},"summary":"Create new output file linked to assets through an instance of this asset for a given shot.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/next-revision":{"post":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, output type ID, task type ID.","in":"body","name":"File","schema":{"properties":{"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Next revision for given asset instance, output type, task type and name"}},"summary":"Get next revision for given asset instance, output type, task type and name.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All types of output generated for given instance"}},"summary":"Return all types of output generated for given instance.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-types/{output_type_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"output_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given asset instance and given output type"}},"summary":"Get all output files for given asset instance and given output type.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given asset instance and given output type"}},"summary":"Get all output files for given asset instance and given output type.","tags":["Files"]}},"/data/asset-instances/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/asset-types":{"get":{"responses":{"200":{"description":"All asset types"}},"summary":"Retrieve all asset types (entity types that are not shot, sequence or episode).","tags":["Assets"]}},"/data/asset-types/{asset_type_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given asset type"}},"summary":"Retrieve given asset type.","tags":["Assets"]}},"/data/assets":{"get":{"description":"Adds project name and asset type name.
","responses":{"200":{"description":"All assets"}},"summary":"Retrieve all entities that are not shot or sequence.","tags":["Assets"]}},"/data/assets/all":{"get":{"description":"Adds project name and asset type name.
","responses":{"200":{"description":"All assets"}},"summary":"Retrieve all entities that are not shot or sequence.","tags":["Assets"]}},"/data/assets/with-tasks":{"get":{"description":"Adds project name and asset type name and all related tasks. If episode_id is given as parameter, it returns assets not linked to an episode and assets linked to given episode.","responses":{"200":{"description":"All assets with tasks"}},"summary":"Retrieve all entities that are not shot or sequence.","tags":["Assets"]}},"/data/assets/{asset_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given asset deleted"}},"summary":"Delete given asset.","tags":["Assets"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given asset"}},"summary":"Retrieve given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/asset-asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset instances instantiated inside given asset"}},"summary":"Retrieve all asset instances instantiated inside this asset.","tags":["Assets"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset instance created inside given asset"}},"summary":"Create an asset instance inside given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for a given asset"}},"summary":"Retrieve all assets for a given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/cast-in":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of given asset"}},"summary":"Resource to retrieve the casting of a given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of given asset"}},"summary":"Resource to retrieve the casting of a given asset.","tags":["Assets"]},"put":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Modification of assets linked to given asset"}},"summary":"Resource to allow the modification of assets linked to a asset.","tags":["Assets"]}},"/data/assets/{asset_id}/scene-asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scene asset instances linked to asset"}},"summary":"Retrieve all scene asset instances linked to asset.","tags":["Assets"]}},"/data/assets/{asset_id}/shot-asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot asset instances linked to asset"}},"summary":"Retrieve all shot asset instances linked to asset.","tags":["Assets"]}},"/data/assets/{asset_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given asset"}},"summary":"Retrieve all task types related to a given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given shot"}},"summary":"Retrieve all tasks related to a given shot.","tags":["Assets"]}},"/data/attachment-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/attachment-files/{attachment_file_id}/file/{file_name}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"attachment_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"file_name","required":true,"type":"string","x-example":"filename"}],"produces":["multipart/form-data","image/png","image/gif","image/jpeg"],"responses":{"200":{"description":"Attachment file downloaded","schema":{"type":"file"}},"404":{"description":"Download failed"}},"summary":"Download attachment file.","tags":["Comments"]}},"/data/attachment-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/comments":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/comments/{instance_id}":{"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/custom-actions/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/custom-actions/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/day-offs/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/day-offs/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/departments":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/departments/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/edits":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"query","name":"name","required":false,"type":"string","x-example":"Name of edit"},{"default":false,"in":"query","name":"force","required":false,"type":"boolean"}],"responses":{"200":{"description":"All edit entries"}},"summary":"Retrieve all edit entries.","tags":["Edits"]}},"/data/edits/all":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"query","name":"name","required":false,"type":"string","x-example":"Name of edit"},{"default":false,"in":"query","name":"force","required":false,"type":"boolean"}],"responses":{"200":{"description":"All edit entries"}},"summary":"Retrieve all edit entries.","tags":["Edits"]}},"/data/edits/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"query","name":"name","required":false,"type":"string","x-example":"Name of edit"},{"default":false,"in":"query","name":"force","required":false,"type":"boolean"}],"responses":{"200":{"description":"All edits and all related tasks."}},"summary":"Retrieve all edits, adds project name and all related tasks.","tags":["Edits"]}},"/data/edits/{edit_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given edit deleted"}},"summary":"Delete given edit.","tags":["Edits"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given edit"}},"summary":"Retrieve given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/preview-files":{"get":{"description":"It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.","parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All previews related to given edit"}},"summary":"Retrieve all previews related to a given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given edit"}},"summary":"Retrieve all task types related to a given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given edit"}},"summary":"Retrieve all tasks related to a given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/versions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Data versions of given edit"}},"summary":"Retrieve data versions of given edit.","tags":["Edits"]}},"/data/entities":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/entities/{entity_id}/news":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All news linked to given entity"}},"summary":"Retrieve all news linked to a given entity.","tags":["Entities"]}},"/data/entities/{entity_id}/output-file-path":{"post":{"description":"Generate file path based on several parameters: entity, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision if not given.","parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Entity, output type, task type, revision, mode, name and separator.","in":"body","name":"File","schema":{"properties":{"extension":{"type":"string"},"mode":{"default":"output","type":"string"},"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"separator":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Output file path generated"},"400":{"description":"Malformed file tree"}},"summary":"Generate an output file path from file tree template","tags":["Files"]}},"/data/entities/{entity_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given asset instance and given output type"}},"summary":"Get all output files for given asset instance and given output type.","tags":["Files"]}},"/data/entities/{entity_id}/output-files/last-revisions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last revisions of output files for given entity grouped by output type and file name"}},"summary":"Get last revisions of output files for given entity grouped by output type and file name.","tags":["Files"]}},"/data/entities/{entity_id}/output-files/new":{"post":{"description":"Output files are linked to entities. Each time a CG artist is satisfied by what he did on a working file, he can create an output file that will be linked to a target entity (an asset, a shot, a sequence, ...). It keeps track of the working file at the origin of the output file. An output type is required for better categorization (textures, caches, ...). A task type can be set too to give the department related to the output file. Revision is automatically set.","parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, mode, output type ID, task type ID, person ID, working file ID, file status ID, comment, extension, representation, revision, number of elements and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"extension":{"type":"string"},"file_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"mode":{"default":"output","type":"string"},"name":{"type":"string"},"nb_elements":{"default":1,"type":"integer"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"sep":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"working_file_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"200":{"description":"New output file created","schema":{"type":"file"}},"400":{"description":"Given output file already exists Given person not found Given output type not found"}},"summary":"Create new output file linked to a given entity.","tags":["Files"]}},"/data/entities/{entity_id}/output-files/next-revision":{"post":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, output type ID, task type ID.","in":"body","name":"File","schema":{"properties":{"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Next revision for given entity, output type, task type and name"}},"summary":"Get next revision for given entity, output type, task type and name.","tags":["Files"]}},"/data/entities/{entity_id}/output-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All types of output generated for given entity"}},"summary":"Return all types of output generated for given entity.","tags":["Files"]}},"/data/entities/{entity_id}/output-types/{output_type_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"output_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given entity and given output type"}},"summary":"Get all output files for given entity and given output type.","tags":["Files"]}},"/data/entities/{entity_id}/preview-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All preview files linked to given entity"}},"summary":"Retrieve all preview files linked to a given entity.","tags":["Entities"]}},"/data/entities/{entity_id}/task-types/{task_type_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given entity asset, episode, sequence, shot or scene"}},"summary":"Return tasks related to given entity asset, episode, sequence, shot or scene.","tags":["Tasks"]}},"/data/entities/{entity_id}/time-spents":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All time spents linked to given entity"}},"summary":"Retrieve all time spents linked to a given entity.","tags":["Entities"]}},"/data/entities/{entity_id}/working-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All working files for given entity and possibly a task and a name"}},"summary":"Get all working files for a given entity and possibly a task and a name.","tags":["Files"]}},"/data/entities/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]}},"/data/entity-links/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/entity-links/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/entity-types":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/entity-types/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/episodes":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episode entries"}},"summary":"Retrieve all episode entries.","tags":["Shots"]}},"/data/episodes/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episodes"}},"summary":"Retrieve all episodes, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/episodes/{episode_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given episode deleted"}},"summary":"Delete given episode.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given episode"}},"summary":"Retrieve given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/asset-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets tasks related to given episode"}},"summary":"Retrieve all assets tasks related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/edit-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given episode"}},"summary":"Retrieve all tasks related to a given episode.","tags":["Edits"]}},"/data/episodes/{episode_id}/edits":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All efits related to given episode"}},"summary":"Retrieve all edits related to a given episode.","tags":["Edits"]}},"/data/episodes/{episode_id}/sequences":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequence entries for given episode"}},"summary":"Retrieve all sequence entries for a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/shot-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots tasks related to given episode"}},"summary":"Retrieve all shots tasks related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots related to given episode"}},"summary":"Retrieve all shots related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given episode"}},"summary":"Retrieve all task types related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given episode"}},"summary":"Retrieve all tasks related to a given episode.","tags":["Shots"]}},"/data/events/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/events/last":{"get":{"parameters":[{"format":"date","in":"query","name":"after","type":"string","x-example":"2022-07-12"},{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12"},{"default":false,"in":"query","name":"only_files","type":"boolean"},{"default":100,"in":"query","name":"page_size","type":"integer","x-example":100},{"format":"UUID","in":"query","name":"project_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All login logs"}},"summary":"Retrieve last events.","tags":["Events"]}},"/data/events/login-logs/last":{"get":{"parameters":[{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12T00:00:00"},{"in":"query","name":"page_size","type":"integer","x-example":100}],"responses":{"200":{"description":"All login logs"}},"summary":"Retrieve all login logs.","tags":["Events"]}},"/data/events/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/file-status/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/file-status/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/files/{file_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Information about file"}},"summary":"Get information about a file that could be a working file as much as an output file.","tags":["Files"]}},"/data/metadata-descriptors/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/metadata-descriptors/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/milestones/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/milestones/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/news/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/news/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/notifications/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/notifications/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/organisations":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/organisations/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/output-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/output-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/output-types":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/output-types/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/persons":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/persons/day-offs/{year}/{month}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"All day off recorded for given month"}},"summary":"Return all day off recorded for given month.","tags":["Persons"]}},"/data/persons/new":{"post":{"description":"Set password to None if not provided. User role can be set but only admins can create admin users.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"in":"formData","name":"phone","required":false,"type":"integer","x-example":"06 12 34 56 78"},{"in":"formData","name":"role","required":false,"type":"string","x-example":"user"},{"in":"formData","name":"first_name","required":true,"type":"string"},{"in":"formData","name":"last_name","required":false,"type":"string"}],"responses":{"201":{"description":"User created"}},"summary":"Create a new user in the database.","tags":["Persons"]}},"/data/persons/presence-logs/{month_date}":{"get":{"parameters":[{"format":"date","in":"path","name":"month_date","required":true,"type":"string","x-example":"2022-07"}],"responses":{"200":{"description":"CSV file containing the presence logs based on a daily basis"}},"summary":"Return a csv file containing the presence logs based on a daily basis.","tags":["Persons"]}},"/data/persons/task-dates":{"get":{"description":"date of all tasks of assigned to this person and the last end date.
","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"For each person, the first start date of all tasks of assigned to this person and the last end date."}},"summary":"For schedule usages, for each active person, it returns the first start","tags":["Tasks"]}},"/data/persons/time-spents/day-table/{year}/{month}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"Table giving time spent by user and by day for given year and month"}},"summary":"Return a table giving time spent by user and by day for given year and month.","tags":["Persons"]}},"/data/persons/time-spents/month-table/{year}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"Table giving time spent by user and by month for given year"}},"summary":"Return a table giving time spent by user and by month for given year.","tags":["Persons"]}},"/data/persons/time-spents/week-table/{year}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"Table giving time spent by user and by week for given year"}},"summary":"Return a table giving time spent by user and by week for given year.","tags":["Persons"]}},"/data/persons/time-spents/year-table/":{"get":{"responses":{"200":{"description":"Table giving time spent by user and by month for given year"}},"summary":"Return a table giving time spent by user and by month for given year.","tags":["Persons"]}},"/data/persons/{instance_id}":{"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/persons/{person_id}/day-offs/month/{year}/{month}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"All day off recorded for given month and person"}},"summary":"Return all day off recorded for given month and person.","tags":["Persons"]}},"/data/persons/{person_id}/day-offs/week/{year}/{week}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":52,"minimum":1,"name":"week","required":true,"type":"integer","x-example":35}],"responses":{"200":{"description":"All day off recorded for given week and person"}},"summary":"Return all day off recorded for given week and person.","tags":["Persons"]}},"/data/persons/{person_id}/day-offs/year/{year}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"All day off recorded for given year and person"}},"summary":"Return all day off recorded for given year and person.","tags":["Persons"]}},"/data/persons/{person_id}/day-offs/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Day off object for given person and date"},"404":{"description":"Wrong date format"}},"summary":"Get day off object for given person and date.","tags":["Persons"]}},"/data/persons/{person_id}/desktop-login-logs":{"get":{"description":"Desktop login logs can only be created by current user.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Desktop login logs"}},"summary":"Retrieve desktop login logs.","tags":["Persons"]},"post":{"description":"Add a new log entry for desktop logins.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"formData","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"201":{"description":"Desktop login log entry created."}},"summary":"Create desktop login logs.","tags":["Persons"]}},"/data/persons/{person_id}/done-tasks":{"get":{"description":"It return only tasks related to open projects.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks assigned to user that are done"}},"summary":"Return task assigned to given user of which status has is_done flag sets to true.","tags":["Tasks"]}},"/data/persons/{person_id}/quota-shots/day/{year}/{month}/{day}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7},{"in":"path","maximum":31,"minimum":1,"name":"day","required":true,"type":"integer","x-example":12}],"responses":{"200":{"description":"Ended shots used for quota calculation of this day"},"404":{"description":"Wrong date format"}},"summary":"Get ended shots used for quota calculation of this day.","tags":["Persons"]}},"/data/persons/{person_id}/quota-shots/month/{year}/{month}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"Ended shots used for quota calculation of this month"},"404":{"description":"Wrong date format"}},"summary":"Get ended shots used for quota calculation of this month.","tags":["Persons"]}},"/data/persons/{person_id}/quota-shots/week/{year}/{week}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":52,"minimum":1,"name":"week","required":true,"type":"integer","x-example":35}],"responses":{"200":{"description":"Ended shots used for quota calculation of this week"},"404":{"description":"Wrong date format"}},"summary":"Get ended shots used for quota calculation of this week.","tags":["Persons"]}},"/data/persons/{person_id}/related-tasks/{task_type_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All Tasks for given task type"}},"summary":"For all entities assigned to given person (that have at least one task assigned to given person), returns all tasks for given task type.","tags":["Tasks"]}},"/data/persons/{person_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks assigned to user that are not done"}},"summary":"Return task assigned to given user of which status has is_done flag sets to false.","tags":["Tasks"]}},"/data/persons/{person_id}/time-spents/day/{year}/{month}/{day}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7},{"in":"path","maximum":31,"minimum":1,"name":"day","required":true,"type":"integer","x-example":12}],"responses":{"200":{"description":"Aggregated time spents for given person and day"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and day.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/month/{year}/{month}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"Aggregated time spents for given person and month"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and month.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/week/{year}/{week}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":52,"minimum":1,"name":"week","required":true,"type":"integer","x-example":35}],"responses":{"200":{"description":"Aggregated time spents for given person and week"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and week.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/year/{year}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"Aggregated time spents for given person and year"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and year.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Time spents for given person and date"},"404":{"description":"Wrong date format"}},"summary":"Get time spents for given person and date.","tags":["Persons"]}},"/data/playlists/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/playlists/entities/{entity_id}/preview-files":{"get":{"description":"It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.","parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All previews related to given entity"}},"summary":"Retrieve all previews related to a given entity.","tags":["Playlists"]}},"/data/playlists/preview-files/running":{"get":{"responses":{"200":{"description":"All preview files from open productions with states equals to processing or broken"}},"summary":"Retrieve all preview files from open productions with states equals to processing or broken.","tags":["Previews"]}},"/data/playlists/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/playlists/{playlist_id}/build/mp4":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["multipart/form-data"],"responses":{"200":{"description":"Given playlist built as mp4 movie"}},"summary":"Build given playlist as mp4 movie.","tags":["Playlists"]}},"/data/playlists/{playlist_id}/download/zip":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["multipart/form-data"],"responses":{"200":{"description":"Given playlist downloaded as zip","schema":{"type":"file"}}},"summary":"Download given playlist as zip.","tags":["Playlists"]}},"/data/playlists/{playlist_id}/jobs/{build_job_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"build_job_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given build job removed"}},"summary":"Remove given build job related to given playlist.","tags":["Playlists"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"build_job_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Build job related to given playlist"}},"summary":"Retrieve build job related to given playlist.","tags":["Playlists"]}},"/data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"build_job_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["multipart/form-data"],"responses":{"200":{"description":"Given playlist build downloaded as .mp4"},"400":{"description":"Build not finished, need to retry later"}},"summary":"Download given playlist build as .mp4.","tags":["Playlists"]}},"/data/preview-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/preview-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/preview-files/{preview_file_id}/extract-frame":{"get":{"description":" ","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Extracted frame"}},"summary":"Extract a frame from a preview_file","tags":["Previews"]}},"/data/project-status":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/project-status/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/projects":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/projects/all":{"get":{"description":"Ensure that user has at least the manager level before that.","responses":{"200":{"description":"All projects listed in database"}},"summary":"Return all projects listed in database.","tags":["Projects"]}},"/data/projects/news":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12"},{"format":"date","in":"query","name":"after","type":"string","x-example":"2022-07-12"},{"in":"query","name":"page","type":"integer","x-example":1},{"in":"query","name":"page_size","type":"integer","x-example":50},{"format":"UUID","in":"query","name":"person_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_type_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_status_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"default":false,"in":"query","name":"episode_id","type":"boolean"},{"default":false,"in":"query","name":"only_preview","type":"boolean"}],"responses":{"200":{"description":"All news from user open projects."}},"summary":"Retrieve all news related to a given project","tags":["News"]}},"/data/projects/open":{"get":{"description":"Most of the time, past projects are not needed.","responses":{"200":{"description":"All running projects"}},"summary":"Return the list of projects currently running.","tags":["Projects"]}},"/data/projects/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/projects/{project_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset types for given project"}},"summary":"Retrieve all asset types for given project.","tags":["Assets"]}},"/data/projects/{project_id}/asset-types/{asset_type_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for given project and entity type"}},"summary":"Retrieve all assets for given project and entity type.","tags":["Assets"]}},"/data/projects/{project_id}/asset-types/{asset_type_id}/assets/new":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, description, data and ID of asset","in":"body","name":"Asset","schema":{"properties":{"data":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"source_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["name","description","data","source_id"],"type":"object"}}],"responses":{"201":{"description":"New asset resource created"}},"summary":"Create new asset resource.","tags":["Assets"]}},"/data/projects/{project_id}/asset-types/{asset_type_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of assets from given asset type"}},"summary":"Resource to retrieve the casting of assets from given asset type.","tags":["Breakdown"]}},"/data/projects/{project_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for given project"}},"summary":"Retrieve all assets for given project.","tags":["Assets"]}},"/data/projects/{project_id}/attachment-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All attachment files related to given project"}},"summary":"Return all attachment files related to given project.","tags":["Comments"]}},"/data/projects/{project_id}/build-jobs":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All build jobs related to given project"}},"summary":"Retrieve all build jobs related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/comments":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All comments to tasks related to given project"}},"summary":"Retrieve all comments to tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/edits":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All edits related to given project"}},"summary":"Retrieve all edits related to a given project.","tags":["Edits"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of edit"},{"in":"formData","name":"description","type":"string","x-example":"Description of edit"},{"format":"UUID","in":"formData","name":"episode_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Edit created for given project"}},"summary":"Create an edit for given project.","tags":["Edits"]}},"/data/projects/{project_id}/entities/{entity_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of given entity"}},"summary":"Resource to retrieve the casting of a given entity.","tags":["Breakdown"]},"put":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Modification of assets linked to an entity"}},"summary":"Resource to allow the modification of assets linked to an entity.","tags":["Breakdown"]}},"/data/projects/{project_id}/entity-links":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All entity links related to given project"}},"summary":"Retrieve all entity links related to given project.","tags":["Breakdown"]}},"/data/projects/{project_id}/entity-links/{entity_link_id}":{"delete":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"entity_link_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Entity link deleted"}},"summary":"Delete given entity link.","tags":["Breakdown"]}},"/data/projects/{project_id}/episodes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episodes related to given project"}},"summary":"Retrieve all episodes related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of the episode"},{"in":"formData","name":"description","required":true,"type":"string","x-example":"Description of the episode"}],"responses":{"201":{"description":"Episode created for given project"}},"summary":"Create an episode for given project.","tags":["Shots"]}},"/data/projects/{project_id}/episodes/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of episodes"}},"summary":"Resource to retrieve the casting of episodes.","tags":["Breakdown"]}},"/data/projects/{project_id}/episodes/retake-stats":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Number of tasks by status, task types and episodes for given project"}},"summary":"Retrieve number of tasks by status, task_types and episodes for given project.","tags":["Shots"]}},"/data/projects/{project_id}/episodes/stats":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Number of tasks by status, task types and episodes for given project"}},"summary":"Retrieve number of tasks by status, task_types and episodes for given project.","tags":["Shots"]}},"/data/projects/{project_id}/episodes/{episode_id}/playlists":{"get":{"description":"The full list is returned because the number of playlists in an episode is not that big.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given episode"}},"summary":"Retrieve all playlists related to given episode.","tags":["Playlists"]}},"/data/projects/{project_id}/episodes/{episode_id}/sequences/all/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting for all shots from given episode."}},"summary":"Resource to retrieve the casting of shots from given episode.","tags":["Breakdown"]}},"/data/projects/{project_id}/metadata-descriptors":{"get":{"description":"It serves to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All metadata descriptors"}},"summary":"Get all metadata descriptors","tags":["Projects"]},"post":{"description":"It serves to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Create a new metadata descriptor"}},"summary":"Create a new metadata descriptor","tags":["Projects"]}},"/data/projects/{project_id}/metadata-descriptors/{descriptor_id}":{"delete":{"description":"Descriptors serve to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"descriptor_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Metadata descriptor deleted"}},"summary":"Delete a metadata descriptor.","tags":["Projects"]},"get":{"description":"Descriptors serve to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"descriptor_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Metadata descriptor"}},"summary":"Get a metadata descriptor.","tags":["Projects"]},"put":{"description":"Descriptors serve to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"descriptor_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":false,"type":"string"},{"default":false,"in":"formData","name":"for_client","required":false,"type":"boolean"},{"in":"formData","name":"choices","required":false,"type":"array"},{"in":"formData","name":"departments","required":false,"type":"array"}],"responses":{"200":{"description":"Metadata descriptor updated"}},"summary":"Update a metadata descriptor.","tags":["Projects"]}},"/data/projects/{project_id}/milestones":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All milestones of given production"}},"summary":"Retrieve milestones for given production","tags":["Projects"]}},"/data/projects/{project_id}/news":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12"},{"format":"date","in":"query","name":"after","type":"string","x-example":"2022-07-12"},{"in":"query","name":"page","type":"integer","x-example":1},{"in":"query","name":"page_size","type":"integer","x-example":50},{"format":"UUID","in":"query","name":"person_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_type_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_status_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"default":false,"in":"query","name":"episode_id","type":"boolean"},{"default":false,"in":"query","name":"only_preview","type":"boolean"}],"responses":{"200":{"description":"All news related to given project"}},"summary":"Retrieve all news related to a given project","tags":["News"]}},"/data/projects/{project_id}/news/{news_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"news_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Single given news related to given project"}},"summary":"Retrieve a single given news related to a given project","tags":["News"]}},"/data/projects/{project_id}/notifications":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All notifications to tasks related to given project"}},"summary":"Retrieve all notifications to tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/playlists":{"get":{"description":"Result is paginated and can be sorted.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/playlists/all":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/playlists/temp":{"post":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/playlists/{playlist_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/preview-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Preview files related to given project"}},"summary":"Preview files related to a given project.","tags":["Tasks"]}},"/data/projects/{project_id}/quotas/{task_type_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Quotas statistics for shots"}},"summary":"Retrieve quotas statistics for shots.","tags":["Shots"]}},"/data/projects/{project_id}/scenes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scenes related to given project"}},"summary":"Retrieve all scenes related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of scene"},{"format":"UUID","in":"formData","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Scene created for given project"}},"summary":"Create a scene for given project.","tags":["Shots"]}},"/data/projects/{project_id}/schedule-items":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All schedule items of given production"}},"summary":"Retrieve schedule items for given production","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types schedule items of given production"}},"summary":"Retrieve task type schedule items for given production","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/{task_type_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset types schedule items for given task type"}},"summary":"Retrieve asset types schedule items for given task type","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/{task_type_id}/episodes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episodes schedule items for given task type"}},"summary":"Retrieve episodes schedule items for given task type","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/{task_type_id}/sequences":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequences schedule items for given task type"}},"summary":"Retrieve sequences schedule items for given task type","tags":["Projects"]}},"/data/projects/{project_id}/sequences":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequences related to given project"}},"summary":"Retrieve all sequences related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of sequence"},{"format":"UUID","in":"formData","name":"episode_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Sequence created for given project"}},"summary":"Create a sequence for given project.","tags":["Shots"]}},"/data/projects/{project_id}/sequences/all/casting":{"get":{"description":"project.
","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting for all shots from given project."}},"summary":"Resource to retrieve the casting of shots from all sequences of given","tags":["Breakdown"]}},"/data/projects/{project_id}/sequences/{sequence_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of shots from given sequence"}},"summary":"Resource to retrieve the casting of shots from given sequence.","tags":["Breakdown"]}},"/data/projects/{project_id}/settings/asset-types":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset type added to production"}},"summary":"Add an asset type linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/asset-types/{asset_type_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Asset type removed from production"}},"summary":"Remove an asset type from a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/status-automations":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Status automation linked to production"}},"summary":"Get a status automation linked to a production.","tags":["Projects"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"status_automation_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Status automation added to production"}},"summary":"Add a status automation linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/status-automations/{status_automation_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"status_automation_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Status automation removed from production"}},"summary":"Remove a status automation from a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-status":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task statuses linked to production"}},"summary":"Return task statuses linked to a production","tags":["Projects"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"task_status_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Task type added to production"}},"summary":"Add a task type linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-status/{task_status_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_status_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Task status removed from production"}},"summary":"Remove a task status from a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-types":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"default":"None","in":"formData","name":"priority","required":false,"type":"string"}],"responses":{"201":{"description":"Asset type added to production"}},"summary":"Add an task type linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-types/{task_type_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Task type removed from production"}},"summary":"Remove a task type from a production.","tags":["Projects"]}},"/data/projects/{project_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots related to given project"}},"summary":"Retrieve all shots related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of shot"},{"in":"formData","name":"description","type":"string","x-example":"Description of shot"},{"format":"UUID","in":"formData","name":"sequence_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"nb_frames","type":"integer"}],"responses":{"201":{"description":"Shot created for given project"}},"summary":"Create a shot for given project.","tags":["Shots"]}},"/data/projects/{project_id}/subscriptions":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All subcriptions to tasks related to given project"}},"summary":"Retrieve all subcriptions to tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task types linked to the production"}},"summary":"Retrieve task types linked to the production","tags":["Projects"]}},"/data/projects/{project_id}/tasks":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given project"}},"summary":"Retrieve all tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/team":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"People listed in a production team"}},"summary":"Return the people listed in a production team.","tags":["Projects"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Person added to the production team"}},"summary":"Add a person to a production team.","tags":["Projects"]}},"/data/projects/{project_id}/team/{person_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Person removed from production team"}},"summary":"Remove people listed in a production team.","tags":["Projects"]}},"/data/projects/{project_id}/time-spents":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All time spents of given production"}},"summary":"Retrieve time spents for given production","tags":["Projects"]}},"/data/scenes/all":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scene entries"}},"summary":"Retrieve all scene entries.","tags":["Shots"]}},"/data/scenes/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scenes"}},"summary":"Retrieve all scenes, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/scenes/{scene_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given scene deleted"}},"summary":"Delete given scene.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given scene"}},"summary":"Retrieve given scene.","tags":["Shots"]}},"/data/scenes/{scene_id}/asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset instances linked to given scene"}},"summary":"Retrieve all asset instances linked to scene.","tags":["Breakdown"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset instances created on given scene"}},"summary":"Create an asset instance on given scene.","tags":["Breakdown"]}},"/data/scenes/{scene_id}/camera-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"All camera instances linked to scene"}},"summary":"Retrieve all camera instances linked to scene.","tags":["Breakdown"]}},"/data/scenes/{scene_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots that come from given scene"}},"summary":"Retrieve all shots that come from given scene.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"shot_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given scene marked as source of given shot"}},"summary":"Mark given scene as source of given shot.","tags":["Shots"]}},"/data/scenes/{scene_id}/shots/{shot_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given shot deleted from given scene"}},"summary":"Delete given shot from given scene.","tags":["Shots"]}},"/data/scenes/{scene_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given scene"}},"summary":"Retrieve all task types related to a given scene.","tags":["Shots"]}},"/data/scenes/{scene_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given scene"}},"summary":"Retrieve all tasks related to a given scene.","tags":["Shots"]}},"/data/schedule-items/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/schedule-items/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/search":{"post":{"parameters":[{"in":"formData","name":"query","required":true,"type":"string","x-example":"test will search for test"},{"default":3,"in":"formData","name":"limit","required":false,"type":"integer","x-example":3},{"default":["assets","shots","persons"],"in":"formData","name":"index_names","required":false,"type":"list of strings","x-example":["assets"]}],"responses":{"200":{"description":"List of entities that contain the query"}},"summary":"Search for resource","tags":["Search"]}},"/data/search-filters/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/search-filters/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/sequences":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"episode_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequence entries"}},"summary":"Retrieve all sequence entries.","tags":["Shots"]}},"/data/sequences/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequences"}},"summary":"Retrieve all sequences, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/sequences/{sequence_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given sequence deleted"}},"summary":"Delete given sequence.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given sequence"}},"summary":"Retrieve given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/scenes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scenes related to given sequence"}},"summary":"Retrieve all scenes related to a given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/shot-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given sequence"}},"summary":"Retrieve all tasks related to a given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/shots":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot entries for given sequence"}},"summary":"Retrieve all shot entries for a given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given shot"}},"summary":"Retrieve all task types related to a given shot.","tags":["Shots"]}},"/data/sequences/{sequence_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given shot"}},"summary":"Retrieve all tasks related to a given shot.","tags":["Shots"]}},"/data/shots":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"sequence_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"parent_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot entries"}},"summary":"Retrieve all shot entries.","tags":["Shots"]}},"/data/shots/all":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"sequence_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"parent_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot entries"}},"summary":"Retrieve all shot entries.","tags":["Shots"]}},"/data/shots/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots"}},"summary":"Retrieve all shots, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/shots/{shot_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given shot deleted"}},"summary":"Delete given shot.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given shot"}},"summary":"Retrieve given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets linked to shot"}},"summary":"Retrieve all asset instances linked to shot.","tags":["Breakdown"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset instance added to given shot"}},"summary":"Add an asset instance to given shot.","tags":["Breakdown"]}},"/data/shots/{shot_id}/asset-instances/{asset_instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Asset instance removed from given shot"}},"summary":"Remove an asset instance from given shot.","tags":["Breakdown"]}},"/data/shots/{shot_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset shots for given shot"}},"summary":"Retrieve all asset shots for given shot.","tags":["Assets"]}},"/data/shots/{shot_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for given shot"}},"summary":"Retrieve all assets for a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/preview-files":{"get":{"description":"It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.","parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All previews related to given episode"}},"summary":"Retrieve all previews related to a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given shot"}},"summary":"Retrieve all task types related to a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given shot"}},"summary":"Retrieve all tasks related to a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/versions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Data versions of given shot"}},"summary":"Retrieve data versions of given shot.","tags":["Shots"]}},"/data/softwares":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/softwares/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/status-automations/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/status-automations/{instance_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/subscriptions/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/subscriptions/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/task-status":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/task-status/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/task-types":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/task-types/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/tasks":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]}},"/data/tasks/{instance_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/tasks/{task_id}/attachment-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All attachment files related to given task"}},"summary":"Return all attachment files related to given task.","tags":["Comments"]}},"/data/tasks/{task_id}/comments":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Comments linked to given task"}},"summary":"Return comments linked to given task.","tags":["Tasks"]}},"/data/tasks/{task_id}/comments/{comment_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Comment corresponding at given ID deleted"}},"summary":"Delete a comment corresponding at given ID.","tags":["Tasks"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Comment corresponding at given ID"}},"summary":"Get comment corresponding at given ID.","tags":["Tasks"]}},"/data/tasks/{task_id}/comments/{comment_id}/ack":{"post":{"description":"If it's already acknowledged, remove acknowledgement.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Comment acknowledged"}},"summary":"Acknowledge given comment.","tags":["Comments"]}},"/data/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"attachment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Empty response"}},"summary":"Delete attachment linked to a comment matching given ID.","tags":["Comments"]}},"/data/tasks/{task_id}/comments/{comment_id}/reply":{"post":{"description":"Add comment to its replies list.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"text","type":"string","x-example":"comment"}],"responses":{"200":{"description":"Reply to given comment"}},"summary":"Reply to given comment.","tags":["Comments"]}},"/data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"reply_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given comment reply deleted"}},"summary":"Delete given comment reply.","tags":["Comments"]}},"/data/tasks/{task_id}/full":{"get":{"description":"Full details for assignees, full details for task type, full details for task status, etc.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task with many information"}},"summary":"Return a task with many information.","tags":["Tasks"]}},"/data/tasks/{task_id}/previews":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Previews linked to given task"}},"summary":"Return previews linked to given task.","tags":["Tasks"]}},"/data/tasks/{task_id}/working-file-path":{"post":{"description":"Generate file path based on several parameters: task, software, mode, revision and separator. Revision can be computed automatically as next revision if not given.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, software, mode, revision and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"mode":{"default":"working","type":"string"},"name":{"default":"main","type":"string"},"revision":{"type":"integer"},"separator":{"default":"/","type":"string"},"software_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"type":"object"}}],"responses":{"200":{"description":"Working file path generated"},"400":{"description":"Malformed file tree"}},"summary":"Generate a working file path from file tree template.","tags":["Files"]}},"/data/tasks/{task_id}/working-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last working files revision for each file name for given task"}},"summary":"Return last working files revision for each file name for given task.","tags":["Files"]}},"/data/tasks/{task_id}/working-files/last-revisions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last working files revision for each file name for given task"}},"summary":"Return last working files revision for each file name for given task.","tags":["Files"]}},"/data/tasks/{task_id}/working-files/new":{"post":{"description":"A working file is a file used to produce output files. It is the file the CG artist is working on. It is versioned, tied to a task and a software and requires a comment each time it is created. A path is generated for each file created. The path format is defined in the file tree template file.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, mode, description, comment, person ID, software ID, revision and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"description":{"type":"string"},"mode":{"default":"working","type":"string"},"name":{"type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"revision":{"type":"integer"},"sep":{"default":"/","type":"string"},"software_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["name"],"type":"object"}}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"201":{"description":"New working file created","schema":{"type":"file"}},"400":{"description":"Given working file already exists"}},"summary":"Create new working file.","tags":["Files"]}},"/data/time-spents/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/time-spents/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/user/assets/{asset_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task types related to given asset for current user"}},"summary":"Return task types related to given asset for current user.","tags":["User"]}},"/data/user/assets/{asset_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given asset for current user"}},"summary":"Return tasks related to given asset for current user.","tags":["User"]}},"/data/user/context":{"get":{"description":"(like the Kitsu web client).
","responses":{"200":{"description":"Context to properly run a full app connected to the API"}},"summary":"Return context required to properly run a full app connected to the API","tags":["User"]}},"/data/user/day-offs/{date}":{"get":{"parameters":[{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Day off object for current user and given date"},"404":{"description":"Wrong date format"}},"summary":"Get day off object for current user and given date.","tags":["User"]}},"/data/user/desktop-login-logs":{"get":{"responses":{"200":{"description":"Desktop login logs"}},"summary":"Retrieve desktop login logs.","tags":["User"]},"post":{"description":"Desktop login logs can only be created by current user.","parameters":[{"format":"date","in":"formData","name":"date","type":"string","x-example":"2022-07-12"}],"responses":{"201":{"description":"Desktop login logs created"}},"summary":"Create desktop login logs.","tags":["User"]}},"/data/user/done-tasks":{"get":{"description":"It returns only tasks of open projects.","responses":{"200":{"description":"Finished tasks currently assigned to current user"}},"summary":"Return tasks currently assigned to current user and of which status has is_done attribute set to true.","tags":["User"]}},"/data/user/entities/{sequence_id}/task-types/{task_type_id}/subscribed":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"True if current user has subscribed to given sequence and task type, False otherwise"}},"summary":"Return true if current user has subscribed to given sequence and task type.","tags":["User"]}},"/data/user/filters":{"get":{"responses":{"200":{"description":"Filters for current user and only for open projects"}},"summary":"Retrieve filters for current user and only for open projects.","tags":["User"]},"post":{"parameters":[{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of filter"},{"in":"formData","name":"query","required":true,"type":"string"},{"in":"formData","name":"list_type","required":true,"type":"string"},{"in":"formData","name":"entity_type","required":false,"type":"string"},{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","in":"formData","name":"project_id","required":true,"type":"string"}],"responses":{"201":{"description":"Filter for current user and only for open projects created"}},"summary":"Create filter for current user and only for open projects.","tags":["User"]}},"/data/user/filters/{filter_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"filter_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given filter deleted"}},"summary":"Delete given filter if it's owned by current user.","tags":["User"]},"put":{"parameters":[{"format":"UUID","in":"path","name":"filter_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given filter updated"}},"summary":"Update given filter if it's owned by current user.","tags":["User"]}},"/data/user/notifications":{"get":{"parameters":[{"format":"date","in":"formData","name":"after","type":"string","x-example":"2022-07-12"},{"format":"date","in":"formData","name":"before","type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"100 last user notifications"}},"summary":"Return last 100 user notifications filtered by given parameters.","tags":["User"]}},"/data/user/notifications/{notification_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"notification_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Notification matching given ID"}},"summary":"Return notification matching given id, only if it's a notification that belongs to current user.","tags":["User"]}},"/data/user/projects/open":{"get":{"responses":{"200":{"description":"Open projects for which the user has at least one task assigned"}},"summary":"Return open projects for which the user has at least one task assigned.","tags":["User"]}},"/data/user/projects/{project_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Asset types related to given project"}},"summary":"Return asset types related to given project if the current user has access to it.","tags":["User"]}},"/data/user/projects/{project_id}/asset-types/{asset_type_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Assets of which type is given asset type and are listed in given project"}},"summary":"Return assets of which type is given asset type and are listed in given project if user has access to this project.","tags":["User"]}},"/data/user/projects/{project_id}/episodes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Episodes related to given project"}},"summary":"Return episodes related to given project if the current user has access to it.","tags":["User"]}},"/data/user/projects/{project_id}/sequences":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Sequences related to given project"}},"summary":"Return sequences related to given project if the current user has access to it.","tags":["User"]}},"/data/user/projects/{project_id}/task-types/{task_type_id}/sequence-subscriptions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"List of sequence ids to which the current user has subscribed for given task type"}},"summary":"Return the list of sequence ids to which the current user has subscribed for given task type.","tags":["User"]}},"/data/user/scenes/{scene_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given scene for current user"}},"summary":"Return tasks related to given scene for current user.","tags":["User"]}},"/data/user/scenes/{scene_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given scene"}},"summary":"Return tasks related to given scene for current user.","tags":["User"]}},"/data/user/sequences/{sequence_id}/scenes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Scenes related to given sequence"}},"summary":"Return scenes related to given sequence if the current user has access to it.","tags":["User"]}},"/data/user/sequences/{sequence_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Shots related to given sequence"}},"summary":"Return shots related to given sequence if the current user has access to it.","tags":["User"]}},"/data/user/sequences/{sequence_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given sequence for current user"}},"summary":"Return tasks related to given sequence for current user.","tags":["User"]}},"/data/user/sequences/{sequence_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given sequence"}},"summary":"Return tasks related to given sequence for current user.","tags":["User"]}},"/data/user/shots/{shot_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given shot for current user"}},"summary":"Return tasks related to given shot for current user.","tags":["User"]}},"/data/user/shots/{shot_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given shot"}},"summary":"Return tasks related to given shot for current user.","tags":["User"]}},"/data/user/tasks":{"get":{"responses":{"200":{"description":"Unfinished tasks currently assigned to current user"}},"summary":"Return tasks currently assigned to current user and of which status has is_done attribute set to false.","tags":["User"]}},"/data/user/tasks-to-check":{"get":{"description":"
If the user is not a supervisor, it returns an empty list.
","responses":{"200":{"description":"Tasks requiring feedback in current user departments."}},"summary":"Return tasks requiring feedback for current user departments.","tags":["User"]}},"/data/user/tasks/{task_id}/subscribed":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"True if current user has subscribed to given task, False otherwise"}},"summary":"Return true if current user has subscribed to given task.","tags":["User"]}},"/data/user/tasks/{task_id}/time-spents/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Time spents for current user and given date"},"404":{"description":"Wrong date format"}},"summary":"Get time spents for current user and given date.","tags":["User"]}},"/data/working-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/working-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/working-files/{working_file_id}/file":{"get":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"200":{"description":"Working file downloaded","schema":{"type":"file"}}},"summary":"Download a working file.","tags":["Files"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"Working file stored"}},"summary":"Store a working file.","tags":["Files"]}},"/export/csv/persons.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/playlists/{playlist_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Playlist exported as csv"}},"summary":"Export a given playlist as csv.","tags":["Export"]}},"/export/csv/projects.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/assets.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Assets exported as csv"}},"summary":"Export assets linked to a given project as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/casting.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting exported as csv"}},"summary":"Export casting linked to a given project as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/edits.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Edits exported as csv"}},"summary":"Export edits linked to a given project as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/shots.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Shots exported as csv"}},"summary":"Export shots linked to a given project as csv.","tags":["Export"]}},"/export/csv/task-types.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/tasks.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/time-spents.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/import/csv/persons":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported persons."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import persons via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/assets":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported assets."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import project assets via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/casting":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported casting links."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import project casting links via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/edits":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"},{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Edits imported"},"400":{"description":"Format error"}},"summary":"Import project edits.","tags":["Import"]}},"/import/csv/projects/{project_id}/episodes/{episode_id}/task-types/{task_type_id}/estimations":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"},{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Estimations imported"},"400":{"description":"Format error"}},"summary":"Import the estimations of task-types for given episode of given project.","tags":["Import"]}},"/import/csv/projects/{project_id}/shots":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported assets."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import project shots via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/task-types/{task_type_id}/estimations":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"},{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Estimations imported"},"400":{"description":"Format error"}},"summary":"Import the estimations of task-types for given project.","tags":["Import"]}},"/import/edl/projects/{project_id}":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"."},"400":{"description":"The .EDL file is not properly formatted."}},"summary":"Import an EDL file to enter frame_in / frame_out / nb_frames.","tags":["Import"]}},"/import/edl/projects/{project_id}/episodes/{episode_id}":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"."},"400":{"description":"The .EDL file is not properly formatted."}},"summary":"Import an EDL file to enter frame_in / frame_out / nb_frames.","tags":["Import"]}},"/import/kitsu/comments":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/entities":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/entity-links":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/projects":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/tasks":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/shotgun/assets":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/episodes":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/errors":{"get":{"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun error resource.","tags":["Import"]},"post":{"responses":{"200":{"description":"Resource serialized"}},"summary":"Serialize shotgun error resource.","tags":["Import"]}},"/import/shotgun/errors/{error_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"error_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Error deleted"},"404":{"description":"Error non-existant or Statement error"}},"summary":"Delete error.","tags":["Import"]}},"/import/shotgun/notes":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/persons":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/projectconnections":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/projects":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/remove/asset":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/episode":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/note":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/person":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/project":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/projectconnection":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/scene":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/sequence":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/shot":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/status":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/step":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/task":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/version":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/scenes":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/sequences":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/shots":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/status":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/steps":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/tasks":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/versions":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/movies/low/preview-files/{instance_id}.mp4":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Lowdef movie preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"File not found"}},"summary":"Download a lowdef movie preview.","tags":["Previews"]}},"/movies/originals/preview-files/{instance_id}.mp4":{"get":{"description":"It stores the preview file and generates three picture files matching preview when it's possible: a square thumbnail, a rectangle thumbnail and a midsize file.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Movie preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"File not found"}},"summary":"Download a movie preview.","tags":["Previews"]}},"/movies/originals/preview-files/{instance_id}/download":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Movie preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"File not found"}},"summary":"Download a movie preview.","tags":["Previews"]}},"/pictures/originals/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/originals/preview-files/{instance_id}.{extension}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"extension","required":true,"type":"string","x-example":"png, pdf, jpg, jpeg, ..."}],"responses":{"200":{"description":"Generic file preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Non-movie file not found"}},"summary":"Download a generic file preview.","tags":["Previews"]}},"/pictures/originals/preview-files/{instance_id}/download":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Generic file preview downloaded as attachment"},"403":{"description":"Instance not allowed"},"404":{"description":"Standard file not found"}},"summary":"Download a generic file preview as attachment.","tags":["Previews"]}},"/pictures/preview-files/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"description":"It stores the preview file and generates three picture files matching preview when it's possible: a square thumbnail, a rectangle thumbnail and a midsize file.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Preview added"}},"summary":"Main resource to add a preview.","tags":["Previews"]}},"/pictures/previews/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/thumbnails-square/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/thumbnails/organisations/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Thumbnail created"},"404":{"description":"Cannot found related object."}},"summary":"Create a thumbnail for given object instance.","tags":["Previews"]}},"/pictures/thumbnails/organisations/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Access not allowed"},"404":{"description":"Object instance not found"}},"summary":"Download the thumbnail linked to given object instance.","tags":["Previews"]}},"/pictures/thumbnails/persons/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Thumbnail created"},"404":{"description":"Cannot found related object."}},"summary":"Create a thumbnail for given object instance.","tags":["Previews"]}},"/pictures/thumbnails/persons/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Access not allowed"},"404":{"description":"Object instance not found"}},"summary":"Download the thumbnail linked to given object instance.","tags":["Previews"]}},"/pictures/thumbnails/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/thumbnails/projects/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Thumbnail created"},"404":{"description":"Cannot found related object."}},"summary":"Create a thumbnail for given object instance.","tags":["Previews"]}},"/pictures/thumbnails/projects/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Access not allowed"},"404":{"description":"Object instance not found"}},"summary":"Download the thumbnail linked to given object instance.","tags":["Previews"]}},"/stats":{"get":{"responses":{"200":{"description":"Main stats"},"403":{"description":"Permission denied"}},"summary":"Retrieve main stats.","tags":["Index"]}},"/status":{"get":{"responses":{"200":{"description":"API name, version and status"}},"summary":"Retrieve API name, version and status.","tags":["Index"]}},"/status.txt":{"get":{"responses":{"200":{"description":"API name, version and status as txt"}},"summary":"Retrieve API name, version and status as txt.","tags":["Index"]}},"/status/influx":{"get":{"responses":{"200":{"description":"Status of database, key value, event stream, job queue and time"}},"summary":"Retrieve status of database and time.","tags":["Index"]}},"/status/resources":{"get":{"responses":{"200":{"description":"Date and CPU, memory and jobs stats"}},"summary":"Retrieve date and CPU, memory and jobs stats.","tags":["Index"]}}},"schemes":["http","https"],"security":[{"JWT Authorization":[]}],"securityDefinitions":{"JWT Authorization":{"description":"Format in header: **Authorization: Bearer {token}**. \n\n Value example: Bearer xxxxx.yyyyy.zzzzz","in":"header","name":"Authorization","type":"apiKey"}},"swagger":"2.0","tags":[{"name":"Authentication"},{"name":"Assets"},{"name":"Breakdown"},{"name":"Comments"},{"name":"Crud"},{"name":"Edits"},{"name":"Entities"},{"name":"Events"},{"name":"Export"},{"name":"Files"},{"name":"Import"},{"name":"Index"},{"name":"News"},{"name":"Persons"},{"name":"Playlists"},{"name":"Previews"},{"name":"Projects"},{"name":"Search"},{"name":"Shots"},{"name":"Tasks"},{"name":"User"}]} +{"basePath":"/api","definitions":{" Common fields for all model instances":{"properties":{" id":{"description":"A unique ID made of letters, hyphens and numbers","example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"created_at":{"description":"The creation date","format":"date-time","type":"string"},"updated_at":{"description":"The update date","format":"date-time","type":"string"}},"type":"object"},"Asset":{"properties":{"canceled":{"default":"False","description":"True if the asset has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the asset","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Asset brief","type":"string"},"entity_type_id":{"description":"Asset type ID","format":"UUID","type":"string"},"name":{"description":"Name of asset","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"AssetInstance":{"properties":{"active":{"default":"True","type":"boolean"},"asset_id":{"description":"Instantiated asset","format":"UUID","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"type":"string"},"name":{"type":"string"},"number":{"type":"integer"},"scene_id":{"description":"Target scene","format":"UUID","type":"string"},"target_asset_id":{"description":"Use when instantiating an asset in an asset is required","format":"UUID","type":"string"}},"type":"object"},"AssetType":{"properties":{"name":{"type":"string"}},"type":"object"},"AttachmentFile":{"properties":{"comment_id":{"description":"Comment to which the file is attached","format":"UUID","type":"string"},"extension":{"description":"Extension of attachment file","type":"string"},"mimetype":{"type":"string"},"name":{"description":"Name of attachment file","type":"string"},"size":{"description":"Size of attachment file","type":"integer"}},"type":"object"},"BuildJob":{"properties":{"ended_at":{"format":"date-time","type":"string"},"job_type":{"description":"Type of build job (archive, movie)","type":"string"},"playlist_id":{"description":"Playlist ID","format":"UUID","type":"string"},"status":{"description":"Status of build job (running, failed, succeeded)","type":"string"}},"type":"object"},"Comment":{"properties":{"checklist":{"format":"json","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"object_id":{"description":"Unique ID of the commented model instance","format":"UUID","type":"string"},"object_type":{"description":"Model type of the comment model instance","type":"string"},"person_id":{"description":"The person who publishes the comment","format":"UUID","type":"string"},"pinned":{"type":"boolean"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"replies":{"default":"[]","format":"json","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"task_status_id":{"description":"Task status attached to comment","format":"UUID","type":"string"},"text":{"type":"string"}},"type":"object"},"CustomAction":{"properties":{"entity_type":{"default":"all","type":"string"},"is_ajax":{"default":"False","description":"True if the custom action is ajax, False otherwise","type":"boolean"},"name":{"description":"Name of custom action","type":"string"},"url":{"type":"string"}},"type":"object"},"DataImportError":{"properties":{"event_data":{"description":"JSON field to add event data","format":"json","type":"string"},"source":{"items":{"enum":["csv","shotgun"],"type":"string"},"type":"array"}},"type":"object"},"DayOff":{"properties":{"date":{"format":"date","type":"string"},"person_id":{"description":"The person who will take the day off","format":"UUID","type":"string"}},"type":"object"},"Department":{"properties":{"color":{"description":"Color of department","type":"string"},"name":{"description":"Name of department","type":"string"}},"type":"object"},"DesktopLoginLog":{"properties":{"date":{"format":"date","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"}},"type":"object"},"Episode":{"properties":{"canceled":{"default":"False","description":"True if the episode has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the episode","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Episode brief","type":"string"},"name":{"description":"Name of episode","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"Event":{"properties":{"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"name":{"description":"Name of event","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"user_id":{"description":"The user who made the action that emitted the event","format":"UUID","type":"string"}},"type":"object"},"FileStatus":{"properties":{"color":{"type":"string"},"name":{"type":"string"}},"type":"object"},"LoginLog":{"properties":{"ip_address":{"description":"IP address of device used to login","type":"string"},"origin":{"description":"web, script","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"}},"type":"object"},"Metadata":{"properties":{"choices":{"description":"Array of string that represents the available values for this metadate (this metatada is considered as a free field if this array is empty)","format":"json","type":"string"},"entity_type":{"description":"Asset or Shot","type":"string"},"field_name":{"description":"Technical field name","type":"string"},"for_client":{"type":"boolean"},"name":{"description":"Field name for GUI","type":"string"},"project_id":{"description":"ID of project for which metadata are added","format":"UUID","type":"string"}},"type":"object"},"Milestone":{"properties":{"data":{"description":"Milestone date of production schedule","format":"date","type":"string"},"name":{"description":"Name of milestone","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"News":{"properties":{"author_id":{"description":"Person who wrote the comment","format":"UUID","type":"string"},"change":{"default":"False","type":"boolean"},"comment_id":{"description":"Posted comment ID","format":"UUID","type":"string"},"preview_file_id":{"description":"Preview file ID","format":"UUID","type":"string"},"task_id":{"description":"Task ID","format":"UUID","type":"string"}},"type":"object"},"Notification":{"properties":{"author_id":{"description":"Author of the event to notify","format":"UUID","type":"string"},"change":{"description":"True if there is status change related to this status, False otherwise","type":"boolean"},"comment_id":{"description":"Comment related to the notification, if there is any","format":"UUID","type":"string"},"person_id":{"description":"The user to who the notification is aimed at","format":"UUID","type":"string"},"read":{"description":"True if user read it, False otherwise","type":"boolean"},"reply_id":{"description":"Reply related to notification","format":"UUID","type":"string"},"task_id":{"description":"Task related to the notification, if there is any","format":"UUID","type":"string"},"type":{"description":"Type of notification","type":"string"}},"type":"object"},"Organisation":{"properties":{"chat_token_discord":{"type":"string"},"chat_token_slack":{"type":"string"},"chat_webhook_mattermost":{"type":"string"},"has_avatar":{"default":"False","description":"True if the organisation has an avatar, Flase otherwise","type":"boolean"},"hd_by_default":{"default":"False","type":"boolean"},"hours_by_day":{"type":"float"},"name":{"description":"Name of organisaition","type":"string"},"timesheets_locked":{"default":"False","description":"True if the organisation's timesheets are locked, False otherwise","type":"boolean"},"use_original_file_name":{"default":"False","description":"True if the organisation uses original file names, Flase otherwise","type":"boolean"}},"type":"object"},"OutputFile":{"properties":{"asset_instance_id":{"description":"Asset instance ID","format":"UUID","type":"string"},"canceled":{"type":"boolean"},"checksum":{"description":"Checksum of output file","type":"string"},"comment":{"description":"Comment on output file","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Output file brief","type":"string"},"entity_id":{"description":"Asset or Shot concerned by the output file","format":"UUID","type":"string"},"extension":{"description":"Extension of output file","type":"string"},"file_status_id":{"description":"File status ID","format":"UUID","type":"string"},"name":{"description":"Name of output file","type":"string"},"nb_elements":{"default":"1","description":"For image sequence","type":"integer"},"output_type_id":{"description":"Type of output (geometry, cache, etc.)","format":"UUID","type":"string"},"path":{"description":"File path on the production hard drive","type":"string"},"person_id":{"description":"Author of the file","format":"UUID","type":"string"},"representation":{"description":"Precise what kind of output it is (abc, jpgs, pngs, etc.)","type":"string"},"revision":{"description":"Revision number of output file","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"size":{"description":"Size of output file","type":"integer"},"source":{"description":"Created by a script, a webgui or a desktop gui","type":"string"},"source_file_id":{"description":"Working file that led to create this output file","format":"UUID","type":"string"},"task_type_id":{"description":"Task type related to this output file (modeling, animation, etc.)","format":"UUID","type":"string"},"temporal_entity_id":{"description":"Shot, scene or sequence needed for output files related to an asset instance","format":"UUID","type":"string"}},"type":"object"},"OutputType":{"properties":{"name":{"type":"string"},"short_name":{"type":"string"}},"type":"object"},"Person":{"properties":{"active":{"description":"True if the person is still in the studio, False otherwise","type":"boolean"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"desktop_login":{"description":"Login used on desktop","type":"string"},"email":{"description":"Serve as login","type":"string"},"first_name":{"type":"string"},"has_avatar":{"default":"False","description":"True if user has an avatar, Flase otherwise","type":"boolean"},"last_name":{"type":"string"},"last_presence":{"description":"Last time the person worked for the studio","format":"date","type":"string"},"locale":{"type":"string"},"notifications_discord_enabled":{"type":"boolean"},"notifications_discord_userid":{"type":"string"},"notifications_enabled":{"type":"boolean"},"notifications_mattermost_enabled":{"type":"boolean"},"notifications_mattermost_userid":{"type":"string"},"notifications_slack_enabled":{"type":"boolean"},"notifications_slack_userid":{"type":"string"},"password":{"format":"byte","type":"string"},"phone":{"type":"string"},"role":{"default":"user","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"timezone":{"type":"string"}},"type":"object"},"Playlist":{"properties":{"episode_id":{"description":"Episode ID","format":"UUID","type":"string"},"for_client":{"default":"False","type":"boolean"},"for_entity":{"default":"shot","type":"string"},"is_for_all":{"default":"False","type":"boolean"},"name":{"description":"Name of playlist","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shots":{"description":"JSON field describing shot and preview listed in","format":"json","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"PreviewFile":{"properties":{"asset_instance_id":{"description":"Asset instance ID","format":"UUID","type":"string"},"canceled":{"type":"boolean"},"checksum":{"description":"Checksum of output file","type":"string"},"comment":{"description":"Comment on output file","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Preview file brief","type":"string"},"entity_id":{"description":"Asset or Shot concerned by the output file","format":"UUID","type":"string"},"extension":{"description":"Extension of preview file","type":"string"},"file_size":{"default":"0","description":"Size of output file","type":"integer"},"file_status_id":{"description":"File status ID","format":"UUID","type":"string"},"name":{"description":"Name of preview file","type":"string"},"nb_elements":{"default":"1","description":"For image sequence","type":"integer"},"original_name":{"description":"Original name of preview file","type":"string"},"output_type_id":{"description":"Type of output (geometry, cache, etc.)","format":"UUID","type":"string"},"path":{"description":"File path on the production hard drive","type":"string"},"person_id":{"description":"Author of the file","format":"UUID","type":"string"},"position":{"default":"1","description":"Position of preview file","type":"integer"},"representation":{"description":"Precise what kind of output it is (abc, jpgs, pngs, etc.)","type":"string"},"revision":{"default":"1","description":"Revision number of preview file","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source":{"description":"Created by a script, a webgui or a desktop gui","type":"string"},"source_file_id":{"description":"Working file that led to create this output file","format":"UUID","type":"string"},"task_type_id":{"description":"Task type related to this output file (modeling, animation, etc.)","format":"UUID","type":"string"},"temporal_entity_id":{"description":"Shot, scene or sequence needed for output files related to an asset instance","format":"UUID","type":"string"}},"type":"object"},"Project":{"properties":{"code":{"description":"Utility field for the pipeline to identify the project","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Project brief","type":"string"},"end_date":{"format":"date","type":"string"},"episode_span":{"default":"0","type":"integer"},"file_tree":{"description":"Templates to use to build file paths","format":"json","type":"string"},"fps":{"description":"Frames per second","type":"string"},"has_avatar":{"default":"False","description":"True if the project has an avatar, False otherwise","type":"boolean"},"is_clients_isolated":{"default":"False","description":"True if the clients are isolated from the project, False otherwise","type":"boolean"},"man_days":{"description":"Estimated number of working days to complete the project","type":"integer"},"max_retakes":{"default":"0","type":"integer"},"name":{"description":"Name of project","type":"string"},"nb_episodes":{"default":"0","type":"integer"},"production_type":{"default":"short","description":"short, featurefilm or tvshow","type":"string"},"project_status_id":{"description":"Project status ID","format":"UUID","type":"string"},"ratio":{"type":"string"},"resolution":{"type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"start_date":{"format":"date","type":"string"}},"type":"object"},"ProjectStatus":{"properties":{"color":{"type":"string"},"name":{"type":"string"}},"type":"object"},"ScheduleItem":{"properties":{"end_date":{"format":"date","type":"string"},"man_days":{"format":"date","type":"string"},"object_id":{"description":"Object ID","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"start_date":{"format":"date","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"SearchFilter":{"properties":{"entity_type":{"description":"Type of entity","type":"string"},"list_type":{"description":"Type of list","type":"string"},"name":{"description":"Name of search filter","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"search_query":{"type":"string"}},"type":"object"},"Sequence":{"properties":{"canceled":{"default":"False","description":"True if the sequence has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the sequence","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Sequence brief","type":"string"},"name":{"description":"Name of sequence","type":"string"},"parent_id":{"description":"Episode ID","format":"UUID","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"Shot":{"properties":{"canceled":{"default":"False","description":"True if the shot has been delete one time, False otherwise","type":"boolean"},"code":{"description":"Utility field for the pipeline to identify the shot","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Shot brief","type":"string"},"entity_type_id":{"description":"Shot type ID","format":"UUID","type":"string"},"name":{"description":"Name of shot","type":"string"},"parent_id":{"description":"Episode ID","format":"UUID","type":"string"},"preview_file_id":{"description":"ID of preview file used as thumbnail","format":"UUID","type":"string"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"source_id":{"description":"Field uset to set the episode_id","format":"UUID","type":"string"}},"type":"object"},"Software":{"properties":{"file_extension":{"description":"Main extension used for this software's files","type":"string"},"name":{"description":"Name of software","type":"string"},"secondary_extensions":{"description":"Other extensions used for this software's files","format":"json","type":"string"},"short_name":{"description":"Short name of software","type":"string"}},"type":"object"},"StatusAutomation":{"properties":{"entity_type":{"default":"asset","type":"string"},"in_task_status_id":{"description":"Task status ID","format":"UUID","type":"string"},"in_task_type_id":{"description":"Task type ID","format":"UUID","type":"string"},"out_field_type":{"description":"Field type (status, ready_for)","type":"string"},"out_task_status_id":{"description":"Task status ID","format":"UUID","type":"string"},"out_task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"SubscriptionToNotifications":{"properties":{"entity_id":{"description":"Entity ID","format":"UUID","type":"string"},"person_id":{"description":"Person ID","format":"UUID","type":"string"},"task_id":{"description":"Task ID","format":"UUID","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"Task":{"properties":{"assigner_id":{"description":"Person ID","format":"UUID","type":"string"},"completion_rate":{"default":"0","description":"Completion rate of task","type":"integer"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"Task brief","type":"string"},"due_date":{"format":"date-time","type":"string"},"duration":{"default":"0","description":"Duration of task","type":"float"},"end_date":{"format":"date-time","type":"string"},"entity_id":{"description":"Entity ID","format":"UUID","type":"string"},"estimation":{"default":"0","description":"Estimation of duration of task","type":"float"},"last_comment_date":{"format":"date-time","type":"string"},"name":{"description":"Name of task","type":"string"},"nb_assets_ready":{"default":"0","description":"Number of assets ready","type":"integer"},"priority":{"default":"0","description":"Priority of task","type":"integer"},"project_id":{"description":"Project ID","format":"UUID","type":"string"},"real_start_date":{"format":"date-time","type":"string"},"retake_count":{"default":"0","description":"Retake count of task","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"sort_order":{"default":"0","description":"Sort order of task","type":"integer"},"start_date":{"format":"date-time","type":"string"},"task_status_id":{"description":"Task status ID","format":"UUID","type":"string"},"task_type_id":{"description":"Task type ID","format":"UUID","type":"string"}},"type":"object"},"TaskStatus":{"properties":{"color":{"type":"string"},"is_artist_allowed":{"default":"True","description":"True if the artist is allowed, False otherwise","type":"boolean"},"is_client_allowed":{"default":"True","description":"True if the client is allowed, False otherwise","type":"boolean"},"is_default":{"default":"False","description":"True if the task is default, False otherwise","type":"boolean"},"is_done":{"default":"False","description":"True if the task is done, False otherwise","type":"boolean"},"is_feedback_request":{"default":"False","description":"True if feedback was requested, False otherwise","type":"boolean"},"is_retake":{"default":"False","description":"True if the task was retaken, False otherwise","type":"boolean"},"name":{"description":"Name of task status","type":"string"},"short_name":{"description":"Short name of task status","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"}},"type":"object"},"TaskType":{"properties":{"allow_timelog":{"default":"True","description":"True if timelog is allowed, False otherwise","type":"boolean"},"color":{"default":"#FFFFFF","type":"string"},"department_id":{"description":"Department ID","format":"UUID","type":"string"},"for_entity":{"default":"Asset","type":"string"},"name":{"description":"Name of task type","type":"string"},"priority":{"default":"1","description":"Priority of task type","type":"integer"},"short_name":{"description":"Short name of task type","type":"string"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"}},"type":"object"},"TimeSpent":{"properties":{"date":{"format":"date","type":"string"},"duration":{"type":"float"},"person_id":{"description":"The person who performed the working time","format":"UUID","type":"string"},"task_id":{"description":"Related task ID","format":"UUID","type":"string"}},"type":"object"},"WorkingFile":{"properties":{"checksum":{"description":"Checksum of working file","type":"string"},"comment":{"description":"Comment on working file","type":"string"},"data":{"description":"Free JSON field to add metadata","format":"json","type":"string"},"description":{"description":"working file brief","type":"string"},"entity_id":{"description":"Entity for which the working is made","format":"UUID","type":"string"},"name":{"description":"Name of working file","type":"string"},"path":{"description":"File path on the production hard drive","type":"string"},"person_id":{"description":"Author of the file","format":"UUID","type":"string"},"revision":{"description":"Revision number of working file","type":"integer"},"shotgun_id":{"description":"Used for synchronization with a Shotgun instance","type":"integer"},"size":{"description":"Size of working file","type":"integer"},"software_id":{"description":"Software used to build this working file","format":"UUID","type":"string"},"task_id":{"description":"Task for which the working file is made","format":"UUID","type":"string"}},"type":"object"}},"externalDocs":{"description":"Read the installation documentation","url":"https://zou.cg-wire.com"},"host":"localhost:8080","info":{"contact":{"name":"CGWire","url":"https://www.cg-wire.com"},"description":"\n## Welcome to the Kitsu API specification\n```Version: 0.17.22```\n\nThe Kitsu API allows to store and manage the data of your animation/VFX production. Through it you can link all the tools of your pipeline and make sure they are all synchronized.\n\nAn easy to use Python client to access this API is available:\n[Python Kitsu Client documentation](https://gazu.cg-wire.com/)\n\n## Authentication

\n\n

Before you can use any of the endpoints outline below,\nyou will have to get a JWT token to authorize your requests.\n\nYou can get a authorization token using a (form-encoded) POST request to ```/auth/login```.\nWith curl this would look something like ```curl -X POST /auth/login -d \"email=&password=```.\n\nThe response is a JSON object, specifically you'll need to provide the ```access_token``` for your future requests.\n\nHere is a complete authentication process as an example (again using curl):\n```\n$ curl -X POST /api/auth/login -d \"email=&password=\"'\n{\"login\": true\", \"access_token\": \"eyJ0e...\", ...}\n$ jwt=eyJ0e... # Store the access token for easier use\n$ curl -H \"Authorization: Bearer $jwt\" /api/data/projects\n[{...},\n{...}]\n```\n[OpenAPI definition](/openapi.json)\n","license":{"name":"AGPL 3.0","url":"https://www.gnu.org/licenses/agpl-3.0.en.html"},"title":"Kitsu API","version":"0.17.22"},"openapi":"3.1","paths":{"/":{"get":{"responses":{"200":{"description":"API name and version"}},"summary":"Get API name and version.","tags":["Index"]}},"/actions/entities/{entity_id}/set-main-preview/{preview_file_id}":{"put":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Main preview set"}},"summary":"Set main preview to given file.","tags":["Previews"]}},"/actions/persons/{person_id}/assign":{"put":{"description":"If a given task ID is wrong, it ignores it.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"List of tasks ID","in":"body","name":"Task","schema":{"properties":{"task_ids":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_ids"],"type":"object"}}],"responses":{"200":{"description":"Given tasks lists assigned to given person"}},"summary":"Assign given task lists to given person.","tags":["Tasks"]}},"/actions/persons/{person_id}/change-password":{"post":{"description":"Prior to modifying the password, it requires to be admin. An admin can't change other admins password. The new password requires a confirmation to ensure that the admin didn't make a mistake by typing the new password.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password_2","required":true,"type":"string"}],"responses":{"200":{"description":"Password changed"},"400":{"description":"Invalid password or inactive user"}},"summary":"Allow admin to change password for given user.","tags":["Persons"]}},"/actions/persons/{person_id}/departments/add":{"post":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"User added to given department"}},"summary":"Add a user to given department.","tags":["Persons"]}},"/actions/persons/{person_id}/departments/{department_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"department_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"User removed from given department"}},"summary":"Remove a user from given department.","tags":["Persons"]}},"/actions/persons/{person_id}/disable-two-factor-authentication":{"delete":{"description":"Prior to disable two factor authentication, it requires to be admin. An admin can't disable two factor authentication for other admins.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Two factor authentication disabled"},"400":{"description":"Inactive user"}},"summary":"Allow admin to disable two factor authentication for given user.","tags":["Persons"]}},"/actions/persons/{person_id}/invite":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Email sent"}},"summary":"Sends an email to given person to invite him/her to connect to Kitsu.","tags":["Persons"]}},"/actions/preview-files/{preview_file_id}/set-main-preview":{"put":{"description":"This preview will be used to illustrate the entity.","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given preview set as main preview"}},"summary":"Set given preview as main preview of the related entity.","tags":["Previews"]}},"/actions/preview-files/{preview_file_id}/update-annotations":{"put":{"description":"Modifications are applied via three fields:\n* `annotations` to give all the annotations that need to be added.\n\n* `updates` that list annotations that needs to be modified.\n\n* `deletions` to list the IDs of annotations that needs to be removed.\n","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Orders of previews changed for a single revision"}},"summary":"Allow to modify the annotations stored at the preview level.","tags":["Previews"]}},"/actions/preview-files/{preview_file_id}/update-position":{"put":{"description":"This preview will be used to illustrate the entity.","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Orders of previews changed for a single revision"}},"summary":"Allow to change orders of previews for a single revision.","tags":["Previews"]}},"/actions/projects/{project_id}/delete-tasks":{"post":{"description":"See it as a way to batch delete tasks.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks matching id list given in parameter deleted"}},"summary":"Delete tasks matching id list given in parameter.","tags":["Tasks"]}},"/actions/projects/{project_id}/set-file-tree":{"post":{"description":"Template files are located on the server side. Each template has a name which means that you just have to give a name to \"select\" the template to link with the project.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Tree name","schema":{"properties":{"tree_name":{"type":"string"}},"required":["tree_name"],"type":"object"}}],"responses":{"200":{"description":"Template file defined"},"400":{"description":"Selected tree not available"}},"summary":"Define a template file to use for given project.","tags":["Files"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/assets/create-tasks":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"New task for given asset and task type created"}},"summary":"Create a new task for given asset and task type.","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/create-tasks/{entity_type}/":{"post":{"description":"entity type.
","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"List of created tasks."}},"summary":"Create a new task with given task type for each entity of given","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/delete-tasks":{"delete":{"description":"It's mainly used when tasks are created by mistake at the beginning of the project.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"All tasks for given task type and project deleted"}},"summary":"Delete all tasks for a given task type and project.","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/edits/create-tasks":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"New task for given edit and task type created"}},"summary":"Create a new task for given edit and task type.","tags":["Tasks"]}},"/actions/projects/{project_id}/task-types/{task_type_id}/shots/create-tasks":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"New task for given shot and task type created"}},"summary":"Create a new task for given shot and task type.","tags":["Tasks"]}},"/actions/projects/{project_id}/tasks/comment-many":{"post":{"description":"Each comment requires a text, a task id, a task_status and a person as arguments. This way, comments keep history of status changes. When the comment is created, it updates the task status with given task status.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"person ID, name, comment, revision and change status of task","in":"body","name":"Comment","schema":{"properties":{"checklist":{"properties":{"item 1":{"type":"string"}},"type":"object"},"comment":{"type":"string"},"created_at":{"example":"2022-07-12T13:00:00","format":"date-time","type":"string"},"object_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_status_id"],"type":"object"}}],"responses":{"201":{"description":"Given files added to the comment entry as attachments"}},"summary":"Create several comments at once.","tags":["Comments"]}},"/actions/tasks/clear-assignation":{"put":{"parameters":[{"description":"List of tasks ID and person ID","in":"body","name":"Task","schema":{"properties":{"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_ids":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_ids"],"type":"object"}}],"responses":{"200":{"description":"All assignations removed"}},"summary":"Remove all assignations set to given task.","tags":["Tasks"]}},"/actions/tasks/{task_id}/assign":{"put":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Person ID","in":"body","name":"Person","schema":{"properties":{"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["person_id"],"type":"object"}}],"responses":{"200":{"description":"Given task assigned to given person"},"400":{"description":"Assignee non-existent in database"}},"summary":"Assign given task list to given person.","tags":["Tasks"]}},"/actions/tasks/{task_id}/comment":{"post":{"description":"It requires a text, a task_status and a person as arguments. This way, comments keep history of status changes. When the comment is created, it updates the task status with given task status.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"person ID, name, comment, revision and change status of task","in":"body","name":"Comment","schema":{"properties":{"checklist":{"properties":{"item 1":{"type":"string"}},"type":"object"},"comment":{"type":"string"},"created_at":{"example":"2022-07-12T13:00:00","format":"date-time","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25a4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["task_status_id"],"type":"object"}}],"responses":{"201":{"description":"New comment created"}},"summary":"Create a new comment for given task.","tags":["Comments"]}},"/actions/tasks/{task_id}/comments/{comment_id}/add-attachment":{"post":{"consumes":["image/png","image/gif","image/jpeg","multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"files","required":true,"type":"file"}],"responses":{"201":{"description":"Given files added to the comment entry as attachments"}},"summary":"Add given files to the comment entry as attachments.","tags":["Comments"]}},"/actions/tasks/{task_id}/comments/{comment_id}/add-preview":{"post":{"description":"Revision is automatically set: it is equal to last revision + 1, or can be set manually.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"revision","required":false,"schema":{"properties":{"duration":{"type":"integer"}},"type":"object"}},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"Preview added to given task"}},"summary":"Add a preview to given task.","tags":["Tasks"]}},"/actions/tasks/{task_id}/comments/{comment_id}/preview-files/{preview_file_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Preview deleted from given comment"}},"summary":"Delete preview from given comment.","tags":["Tasks"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"Preview added to given comment"}},"summary":"Add a preview to given comment.","tags":["Tasks"]}},"/actions/tasks/{task_id}/set-main-preview":{"put":{"description":"This preview will be used as thumbnail to illustrate the entity.
","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given preview set as main preview"}},"summary":"Set last preview from given task as main preview of the related entity.","tags":["Task"]}},"/actions/tasks/{task_id}/time-spents":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Time spent on given task"},"404":{"description":"Wrong date format"}},"summary":"Get time spent on a given task.","tags":["Tasks"]}},"/actions/tasks/{task_id}/time-spents/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Time spent on given task and date"},"404":{"description":"Wrong date format"}},"summary":"Get time spent on a given task and date.","tags":["Tasks"]}},"/actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}":{"post":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"},{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Duration","schema":{"properties":{"duration":{"type":"float"}},"type":"object"}}],"responses":{"201":{"description":"Time spent by given person on given task for given day is set"},"404":{"description":"Wrong date format"}},"summary":"Set time spent by a person on a task for a given day.","tags":["Tasks"]}},"/actions/tasks/{task_id}/time-spents/{date}/persons/{person_id}/add":{"post":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"},{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Duration","schema":{"properties":{"duration":{"type":"float"}},"type":"object"}}],"responses":{"201":{"description":"Given timeframe added to time spent by given person on given task for given day"},"404":{"description":"Wrong date format"}},"summary":"Add given timeframe to time spent by a person on a task for a given day.","tags":["Tasks"]}},"/actions/tasks/{task_id}/to-review":{"put":{"description":"It creates a new preview file entry and set path from the hard disk.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"person ID, name, comment, revision and change status of task","in":"body","name":"Task","schema":{"properties":{"change_status":{"type":"boolean"},"comment":{"type":"string"},"name":{"type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"revision":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Task status changed to \"to review\""},"400":{"description":"Given person not found"}},"summary":"Change a task status to \"to review\".","tags":["Tasks"]}},"/actions/user/clear-avatar":{"delete":{"description":"file.
","responses":{"204":{"description":"Avatar file deleted"}},"summary":"Set `has_avatar` flag to False for current user and remove its avatar","tags":["User"]}},"/actions/user/sequences/{sequence_id}/task-types/{task_type_id}/subscribe":{"post":{"description":"When a user subscribes, he gets notified every time a comment is posted on tasks related to the sequence.","parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Subscription entry created"}},"summary":"Create a subscription entry for given sequence, task type and current user.","tags":["User"]}},"/actions/user/sequences/{sequence_id}/task-types/{task_type_id}/unsubscribe":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Subscription entry removed"}},"summary":"Remove a subscription entry for given sequence, tasl type and current user.","tags":["User"]}},"/actions/user/tasks/{task_id}/subscribe":{"post":{"description":"When a user subscribes, he gets notified everytime a comment is posted on the task.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Subscription entry created"}},"summary":"Create a subscription entry for given task and current user.","tags":["User"]}},"/actions/user/tasks/{task_id}/unsubscribe":{"delete":{"description":"The user will no longer receive notifications for this task.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Subscription entry removed"}},"summary":"Remove the subscription entry matching given task and current user.","tags":["User"]}},"/actions/working-files/{working_file_id}/comment":{"put":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Comment","schema":{"properties":{"comment":{"type":"string"}},"required":["comment"],"type":"object"}}],"responses":{"200":{"description":"Comment updated on given working file"}},"summary":"Update comment on given working file.","tags":["Files"]}},"/actions/working-files/{working_file_id}/modified":{"put":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Working file modification date updated"}},"summary":"Update working file modification date with current date.","tags":["Files"]}},"/auth/authenticated":{"get":{"description":"response.
","responses":{"200":{"description":"User authenticated"},"401":{"description":"Person not found"}},"summary":"Returns information if the user is authenticated else it returns a 401","tags":["Authentication"]}},"/auth/change-password":{"post":{"description":"Prior to modifying the password, it requires to give the current password (to make sure the user changing the password is not someone who stealed the session). The new password requires a confirmation to ensure that the user didn't make a mistake by typing his new password.","parameters":[{"format":"password","in":"formData","name":"old_password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password_2","required":true,"type":"string"}],"responses":{"200":{"description":"Password changed"},"400":{"description":"Invalid password or inactive user"}},"summary":"Allow the user to change his password.","tags":["Authentication"]}},"/auth/email-otp":{"delete":{"responses":{"200":{"description":"OTP by email disabled."},"400":{"description":"Invalid password. Wrong or expired token. Inactive user. Wrong 2FA."}},"summary":"Resource to allow a user to disable OTP by email.","tags":["Authentication"]},"get":{"responses":{"200":{"description":"OTP by email sent"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to send an OTP by email to user.","tags":["Authentication"]},"post":{"responses":{"200":{"description":"OTP by email enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to enable OTP by email.","tags":["Authentication"]},"put":{"responses":{"200":{"description":"OTP by email enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to pre-enable OTP by email.","tags":["Authentication"]}},"/auth/fido":{"delete":{"responses":{"200":{"description":"FIDO device unregistered."},"400":{"description":"Invalid password Wrong or expired token Inactive user Wrong 2FA"}},"summary":"Resource to allow a user to unregister a FIDO device.","tags":["Authentication"]},"get":{"responses":{"200":{"description":"Challenge for FIDO device."},"400":{"description":"Wrong parameter."}},"summary":"Resource to get a challenge for a FIDO device.","tags":["Authentication"]},"post":{"responses":{"200":{"description":"FIDO device registered."},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to register a FIDO device.","tags":["Authentication"]},"put":{"responses":{"200":{"description":"FIDO device pre-registered."},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to pre-register a FIDO device.","tags":["Authentication"]}},"/auth/login":{"post":{"description":"Login is based on email and password. If no user match given email and a destkop ID, it looks in matching the desktop ID with the one stored in database. It is useful for clients that run on desktop tools and that don't know user email.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"format":"password","in":"formData","name":"password","required":true,"type":"string","x-example":"mysecretpassword"},{"format":"password","in":"formData","name":"otp","required":false,"type":"string","x-example":123456}],"responses":{"200":{"description":"Login successful"},"400":{"description":"Login failed"},"500":{"description":"Database not reachable"}},"summary":"Log in user by creating and registering auth tokens.","tags":["Authentication"]}},"/auth/logout":{"get":{"description":"Once logged out, current user cannot access the API anymore.","responses":{"200":{"description":"Logout successful"},"500":{"description":"Access token not found"}},"summary":"Log user out by revoking his auth tokens.","tags":["Authentication"]}},"/auth/recovery-codes":{"put":{"responses":{"200":{"description":"new recovery codes."},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to generate new recovery codes.","tags":["Authentication"]}},"/auth/refresh-token":{"get":{"description":"This route allows to make their lifetime long before they get outdated.","responses":{"200":{"description":"Access Token"}},"summary":"Tokens are considered as outdated every two weeks.","tags":["Authentication"]}},"/auth/register":{"post":{"parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password_2","required":true,"type":"string"},{"in":"formData","name":"first_name","required":true,"type":"string"},{"in":"formData","name":"last_name","required":true,"type":"string"}],"responses":{"201":{"description":"Registration successful"},"400":{"description":"Invalid password or email"}},"summary":"Allow a user to register himself to the service.","tags":["Authentication"]}},"/auth/reset-password":{"post":{"description":"It uses a classic scheme: a token is sent by email to the user. Then he can change his password.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"}],"responses":{"200":{"description":"Reset token sent"},"400":{"description":"Email not listed in database"}},"summary":"Resource to allow a user to change his password when he forgets it.","tags":["Authentication"]},"put":{"description":"It uses a classic scheme: a token is sent by email to the user. Then he can change his password.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"format":"JWT token","in":"formData","name":"token","required":true,"type":"string"},{"format":"password","in":"formData","name":"password","required":true,"type":"string"},{"format":"password","in":"formData","name":"password2","required":true,"type":"string"}],"responses":{"200":{"description":"Password reset"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to change his password when he forgets it.","tags":["Authentication"]}},"/auth/totp":{"delete":{"responses":{"200":{"description":"TOTP disabled"},"400":{"description":"TOTP not enabled"}},"summary":"Resource to allow a user to disable TOTP.","tags":["Authentication"]},"post":{"responses":{"200":{"description":"TOTP enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to enable TOTP.","tags":["Authentication"]},"put":{"responses":{"200":{"description":"TOTP enabled"},"400":{"description":"Invalid password Wrong or expired token Inactive user"}},"summary":"Resource to allow a user to pre-enable TOTP.","tags":["Authentication"]}},"/config":{"get":{"responses":{"200":{"description":"Crisp token"}},"summary":"Get crisp token.","tags":["Index"]}},"/data/asset-instances/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-file-path":{"post":{"description":"Generate file path based on several parameters: asset instance, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision in case no revision is given in parameter.","parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Asset instance, output type, task type, revision, mode, name and separator.","in":"body","name":"File","schema":{"properties":{"extension":{"type":"string"},"mode":{"default":"output","type":"string"},"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"separator":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Output file path generated"},"400":{"description":"Malformed file tree"}},"summary":"Generate an output file path from file tree template","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/last-revisions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last revisions of output files for given instance grouped by output type and file name"}},"summary":"Get last revisions of output files for given instance grouped by output type and file name.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/new":{"post":{"description":"Some output files are linked to assets through an instance of this asset for a given shot. Each time a CG artist is satisfied by what he did on a working file, he can create an output file that will be linked to a target instance. It keeps track of the working file at the origin of the output file. An output type is required for better categorization (textures, caches, ...). A task type can be set too to give the department related to the output file.","parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, mode, output type ID, task type ID, person ID, working file ID, file status ID, comment, extension, representation, revision, number of elements and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"extension":{"type":"string"},"file_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"is_sequence":{"default":false,"type":"boolean"},"mode":{"default":"output","type":"string"},"name":{"default":"main","type":"string"},"nb_elements":{"default":1,"type":"integer"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"sep":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"working_file_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"200":{"description":"New output file created","schema":{"type":"file"}},"400":{"description":"Given output file already exists Given person not found Given output type not found"}},"summary":"Create new output file linked to assets through an instance of this asset for a given shot.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-files/next-revision":{"post":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, output type ID, task type ID.","in":"body","name":"File","schema":{"properties":{"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Next revision for given asset instance, output type, task type and name"}},"summary":"Get next revision for given asset instance, output type, task type and name.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All types of output generated for given instance"}},"summary":"Return all types of output generated for given instance.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/entities/{temporal_entity_id}/output-types/{output_type_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"temporal_entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"output_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given asset instance and given output type"}},"summary":"Get all output files for given asset instance and given output type.","tags":["Files"]}},"/data/asset-instances/{asset_instance_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given asset instance and given output type"}},"summary":"Get all output files for given asset instance and given output type.","tags":["Files"]}},"/data/asset-instances/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/asset-types":{"get":{"responses":{"200":{"description":"All asset types"}},"summary":"Retrieve all asset types (entity types that are not shot, sequence or episode).","tags":["Assets"]}},"/data/asset-types/{asset_type_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given asset type"}},"summary":"Retrieve given asset type.","tags":["Assets"]}},"/data/assets":{"get":{"description":"Adds project name and asset type name.
","responses":{"200":{"description":"All assets"}},"summary":"Retrieve all entities that are not shot or sequence.","tags":["Assets"]}},"/data/assets/all":{"get":{"description":"Adds project name and asset type name.
","responses":{"200":{"description":"All assets"}},"summary":"Retrieve all entities that are not shot or sequence.","tags":["Assets"]}},"/data/assets/with-tasks":{"get":{"description":"Adds project name and asset type name and all related tasks. If episode_id is given as parameter, it returns assets not linked to an episode and assets linked to given episode.","responses":{"200":{"description":"All assets with tasks"}},"summary":"Retrieve all entities that are not shot or sequence.","tags":["Assets"]}},"/data/assets/{asset_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given asset deleted"}},"summary":"Delete given asset.","tags":["Assets"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given asset"}},"summary":"Retrieve given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/asset-asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset instances instantiated inside given asset"}},"summary":"Retrieve all asset instances instantiated inside this asset.","tags":["Assets"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset instance created inside given asset"}},"summary":"Create an asset instance inside given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for a given asset"}},"summary":"Retrieve all assets for a given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/cast-in":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of given asset"}},"summary":"Resource to retrieve the casting of a given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of given asset"}},"summary":"Resource to retrieve the casting of a given asset.","tags":["Assets"]},"put":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Modification of assets linked to given asset"}},"summary":"Resource to allow the modification of assets linked to a asset.","tags":["Assets"]}},"/data/assets/{asset_id}/scene-asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scene asset instances linked to asset"}},"summary":"Retrieve all scene asset instances linked to asset.","tags":["Assets"]}},"/data/assets/{asset_id}/shot-asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot asset instances linked to asset"}},"summary":"Retrieve all shot asset instances linked to asset.","tags":["Assets"]}},"/data/assets/{asset_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given asset"}},"summary":"Retrieve all task types related to a given asset.","tags":["Assets"]}},"/data/assets/{asset_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given shot"}},"summary":"Retrieve all tasks related to a given shot.","tags":["Assets"]}},"/data/attachment-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/attachment-files/{attachment_file_id}/file/{file_name}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"attachment_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"file_name","required":true,"type":"string","x-example":"filename"}],"produces":["multipart/form-data","image/png","image/gif","image/jpeg"],"responses":{"200":{"description":"Attachment file downloaded","schema":{"type":"file"}},"404":{"description":"Download failed"}},"summary":"Download attachment file.","tags":["Comments"]}},"/data/attachment-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/comments":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/comments/{instance_id}":{"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/custom-actions/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/custom-actions/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/day-offs/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/day-offs/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/departments":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/departments/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/edits":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"query","name":"name","required":false,"type":"string","x-example":"Name of edit"},{"default":false,"in":"query","name":"force","required":false,"type":"boolean"}],"responses":{"200":{"description":"All edit entries"}},"summary":"Retrieve all edit entries.","tags":["Edits"]}},"/data/edits/all":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"query","name":"name","required":false,"type":"string","x-example":"Name of edit"},{"default":false,"in":"query","name":"force","required":false,"type":"boolean"}],"responses":{"200":{"description":"All edit entries"}},"summary":"Retrieve all edit entries.","tags":["Edits"]}},"/data/edits/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"query","name":"name","required":false,"type":"string","x-example":"Name of edit"},{"default":false,"in":"query","name":"force","required":false,"type":"boolean"}],"responses":{"200":{"description":"All edits and all related tasks."}},"summary":"Retrieve all edits, adds project name and all related tasks.","tags":["Edits"]}},"/data/edits/{edit_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given edit deleted"}},"summary":"Delete given edit.","tags":["Edits"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given edit"}},"summary":"Retrieve given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/preview-files":{"get":{"description":"It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.","parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All previews related to given edit"}},"summary":"Retrieve all previews related to a given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given edit"}},"summary":"Retrieve all task types related to a given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given edit"}},"summary":"Retrieve all tasks related to a given edit.","tags":["Edits"]}},"/data/edits/{edit_id}/versions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"edit_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Data versions of given edit"}},"summary":"Retrieve data versions of given edit.","tags":["Edits"]}},"/data/entities":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/entities/{entity_id}/news":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All news linked to given entity"}},"summary":"Retrieve all news linked to a given entity.","tags":["Entities"]}},"/data/entities/{entity_id}/output-file-path":{"post":{"description":"Generate file path based on several parameters: entity, output type, task type, revision, mode, name and separator. Revision can be computed automatically as next revision if not given.","parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Entity, output type, task type, revision, mode, name and separator.","in":"body","name":"File","schema":{"properties":{"extension":{"type":"string"},"mode":{"default":"output","type":"string"},"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"separator":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Output file path generated"},"400":{"description":"Malformed file tree"}},"summary":"Generate an output file path from file tree template","tags":["Files"]}},"/data/entities/{entity_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given asset instance and given output type"}},"summary":"Get all output files for given asset instance and given output type.","tags":["Files"]}},"/data/entities/{entity_id}/output-files/last-revisions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last revisions of output files for given entity grouped by output type and file name"}},"summary":"Get last revisions of output files for given entity grouped by output type and file name.","tags":["Files"]}},"/data/entities/{entity_id}/output-files/new":{"post":{"description":"Output files are linked to entities. Each time a CG artist is satisfied by what he did on a working file, he can create an output file that will be linked to a target entity (an asset, a shot, a sequence, ...). It keeps track of the working file at the origin of the output file. An output type is required for better categorization (textures, caches, ...). A task type can be set too to give the department related to the output file. Revision is automatically set.","parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, mode, output type ID, task type ID, person ID, working file ID, file status ID, comment, extension, representation, revision, number of elements and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"extension":{"type":"string"},"file_status_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"mode":{"default":"output","type":"string"},"name":{"type":"string"},"nb_elements":{"default":1,"type":"integer"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"representation":{"type":"string"},"revision":{"type":"integer"},"sep":{"default":"/","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"working_file_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"200":{"description":"New output file created","schema":{"type":"file"}},"400":{"description":"Given output file already exists Given person not found Given output type not found"}},"summary":"Create new output file linked to a given entity.","tags":["Files"]}},"/data/entities/{entity_id}/output-files/next-revision":{"post":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, output type ID, task type ID.","in":"body","name":"File","schema":{"properties":{"name":{"default":"main","type":"string"},"output_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"task_type_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["output_type_id","task_type_id"],"type":"object"}}],"responses":{"200":{"description":"Next revision for given entity, output type, task type and name"}},"summary":"Get next revision for given entity, output type, task type and name.","tags":["Files"]}},"/data/entities/{entity_id}/output-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All types of output generated for given entity"}},"summary":"Return all types of output generated for given entity.","tags":["Files"]}},"/data/entities/{entity_id}/output-types/{output_type_id}/output-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"output_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All output files for given entity and given output type"}},"summary":"Get all output files for given entity and given output type.","tags":["Files"]}},"/data/entities/{entity_id}/preview-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All preview files linked to given entity"}},"summary":"Retrieve all preview files linked to a given entity.","tags":["Entities"]}},"/data/entities/{entity_id}/task-types/{task_type_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given entity asset, episode, sequence, shot or scene"}},"summary":"Return tasks related to given entity asset, episode, sequence, shot or scene.","tags":["Tasks"]}},"/data/entities/{entity_id}/time-spents":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All time spents linked to given entity"}},"summary":"Retrieve all time spents linked to a given entity.","tags":["Entities"]}},"/data/entities/{entity_id}/working-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All working files for given entity and possibly a task and a name"}},"summary":"Get all working files for a given entity and possibly a task and a name.","tags":["Files"]}},"/data/entities/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]}},"/data/entity-links/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/entity-links/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/entity-types":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/entity-types/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/episodes":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episode entries"}},"summary":"Retrieve all episode entries.","tags":["Shots"]}},"/data/episodes/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episodes"}},"summary":"Retrieve all episodes, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/episodes/{episode_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given episode deleted"}},"summary":"Delete given episode.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given episode"}},"summary":"Retrieve given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/asset-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets tasks related to given episode"}},"summary":"Retrieve all assets tasks related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/edit-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given episode"}},"summary":"Retrieve all tasks related to a given episode.","tags":["Edits"]}},"/data/episodes/{episode_id}/edits":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All efits related to given episode"}},"summary":"Retrieve all edits related to a given episode.","tags":["Edits"]}},"/data/episodes/{episode_id}/sequences":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequence entries for given episode"}},"summary":"Retrieve all sequence entries for a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/shot-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots tasks related to given episode"}},"summary":"Retrieve all shots tasks related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots related to given episode"}},"summary":"Retrieve all shots related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given episode"}},"summary":"Retrieve all task types related to a given episode.","tags":["Shots"]}},"/data/episodes/{episode_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given episode"}},"summary":"Retrieve all tasks related to a given episode.","tags":["Shots"]}},"/data/events/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/events/last":{"get":{"parameters":[{"format":"date","in":"query","name":"after","type":"string","x-example":"2022-07-12"},{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12"},{"default":false,"in":"query","name":"only_files","type":"boolean"},{"default":100,"in":"query","name":"page_size","type":"integer","x-example":100},{"format":"UUID","in":"query","name":"project_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All login logs"}},"summary":"Retrieve last events.","tags":["Events"]}},"/data/events/login-logs/last":{"get":{"parameters":[{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12T00:00:00"},{"in":"query","name":"page_size","type":"integer","x-example":100}],"responses":{"200":{"description":"All login logs"}},"summary":"Retrieve all login logs.","tags":["Events"]}},"/data/events/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/file-status/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/file-status/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/files/{file_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Information about file"}},"summary":"Get information about a file that could be a working file as much as an output file.","tags":["Files"]}},"/data/metadata-descriptors/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/metadata-descriptors/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/milestones/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/milestones/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/news/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/news/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/notifications/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/notifications/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/organisations":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/organisations/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/output-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/output-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/output-types":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/output-types/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/persons":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/persons/day-offs/{year}/{month}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"All day off recorded for given month"}},"summary":"Return all day off recorded for given month.","tags":["Persons"]}},"/data/persons/new":{"post":{"description":"Set password to None if not provided. User role can be set but only admins can create admin users.","parameters":[{"format":"email","in":"formData","name":"email","required":true,"type":"string","x-example":"admin@example.com"},{"in":"formData","name":"phone","required":false,"type":"integer","x-example":"06 12 34 56 78"},{"in":"formData","name":"role","required":false,"type":"string","x-example":"user"},{"in":"formData","name":"first_name","required":true,"type":"string"},{"in":"formData","name":"last_name","required":false,"type":"string"}],"responses":{"201":{"description":"User created"}},"summary":"Create a new user in the database.","tags":["Persons"]}},"/data/persons/presence-logs/{month_date}":{"get":{"parameters":[{"format":"date","in":"path","name":"month_date","required":true,"type":"string","x-example":"2022-07"}],"responses":{"200":{"description":"CSV file containing the presence logs based on a daily basis"}},"summary":"Return a csv file containing the presence logs based on a daily basis.","tags":["Persons"]}},"/data/persons/task-dates":{"get":{"description":"date of all tasks of assigned to this person and the last end date.
","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"For each person, the first start date of all tasks of assigned to this person and the last end date."}},"summary":"For schedule usages, for each active person, it returns the first start","tags":["Tasks"]}},"/data/persons/time-spents/day-table/{year}/{month}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"Table giving time spent by user and by day for given year and month"}},"summary":"Return a table giving time spent by user and by day for given year and month.","tags":["Persons"]}},"/data/persons/time-spents/month-table/{year}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"Table giving time spent by user and by month for given year"}},"summary":"Return a table giving time spent by user and by month for given year.","tags":["Persons"]}},"/data/persons/time-spents/week-table/{year}":{"get":{"parameters":[{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"Table giving time spent by user and by week for given year"}},"summary":"Return a table giving time spent by user and by week for given year.","tags":["Persons"]}},"/data/persons/time-spents/year-table/":{"get":{"responses":{"200":{"description":"Table giving time spent by user and by month for given year"}},"summary":"Return a table giving time spent by user and by month for given year.","tags":["Persons"]}},"/data/persons/{instance_id}":{"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/persons/{person_id}/day-offs/month/{year}/{month}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"All day off recorded for given month and person"}},"summary":"Return all day off recorded for given month and person.","tags":["Persons"]}},"/data/persons/{person_id}/day-offs/week/{year}/{week}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":52,"minimum":1,"name":"week","required":true,"type":"integer","x-example":35}],"responses":{"200":{"description":"All day off recorded for given week and person"}},"summary":"Return all day off recorded for given week and person.","tags":["Persons"]}},"/data/persons/{person_id}/day-offs/year/{year}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"All day off recorded for given year and person"}},"summary":"Return all day off recorded for given year and person.","tags":["Persons"]}},"/data/persons/{person_id}/day-offs/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Day off object for given person and date"},"404":{"description":"Wrong date format"}},"summary":"Get day off object for given person and date.","tags":["Persons"]}},"/data/persons/{person_id}/desktop-login-logs":{"get":{"description":"Desktop login logs can only be created by current user.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Desktop login logs"}},"summary":"Retrieve desktop login logs.","tags":["Persons"]},"post":{"description":"Add a new log entry for desktop logins.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"formData","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"201":{"description":"Desktop login log entry created."}},"summary":"Create desktop login logs.","tags":["Persons"]}},"/data/persons/{person_id}/done-tasks":{"get":{"description":"It return only tasks related to open projects.","parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks assigned to user that are done"}},"summary":"Return task assigned to given user of which status has is_done flag sets to true.","tags":["Tasks"]}},"/data/persons/{person_id}/quota-shots/day/{year}/{month}/{day}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7},{"in":"path","maximum":31,"minimum":1,"name":"day","required":true,"type":"integer","x-example":12}],"responses":{"200":{"description":"Ended shots used for quota calculation of this day"},"404":{"description":"Wrong date format"}},"summary":"Get ended shots used for quota calculation of this day.","tags":["Persons"]}},"/data/persons/{person_id}/quota-shots/month/{year}/{month}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"Ended shots used for quota calculation of this month"},"404":{"description":"Wrong date format"}},"summary":"Get ended shots used for quota calculation of this month.","tags":["Persons"]}},"/data/persons/{person_id}/quota-shots/week/{year}/{week}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":52,"minimum":1,"name":"week","required":true,"type":"integer","x-example":35}],"responses":{"200":{"description":"Ended shots used for quota calculation of this week"},"404":{"description":"Wrong date format"}},"summary":"Get ended shots used for quota calculation of this week.","tags":["Persons"]}},"/data/persons/{person_id}/related-tasks/{task_type_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All Tasks for given task type"}},"summary":"For all entities assigned to given person (that have at least one task assigned to given person), returns all tasks for given task type.","tags":["Tasks"]}},"/data/persons/{person_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks assigned to user that are not done"}},"summary":"Return task assigned to given user of which status has is_done flag sets to false.","tags":["Tasks"]}},"/data/persons/{person_id}/time-spents/day/{year}/{month}/{day}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7},{"in":"path","maximum":31,"minimum":1,"name":"day","required":true,"type":"integer","x-example":12}],"responses":{"200":{"description":"Aggregated time spents for given person and day"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and day.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/month/{year}/{month}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":12,"minimum":1,"name":"month","required":true,"type":"integer","x-example":7}],"responses":{"200":{"description":"Aggregated time spents for given person and month"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and month.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/week/{year}/{week}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"},{"in":"path","maximum":52,"minimum":1,"name":"week","required":true,"type":"integer","x-example":35}],"responses":{"200":{"description":"Aggregated time spents for given person and week"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and week.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/year/{year}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"year","required":true,"type":"integer","x-example":"2022"}],"responses":{"200":{"description":"Aggregated time spents for given person and year"},"404":{"description":"Wrong date format"}},"summary":"Get aggregated time spents for given person and year.","tags":["Persons"]}},"/data/persons/{person_id}/time-spents/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Time spents for given person and date"},"404":{"description":"Wrong date format"}},"summary":"Get time spents for given person and date.","tags":["Persons"]}},"/data/playlists/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/playlists/entities/{entity_id}/preview-files":{"get":{"description":"It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.","parameters":[{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All previews related to given entity"}},"summary":"Retrieve all previews related to a given entity.","tags":["Playlists"]}},"/data/playlists/preview-files/running":{"get":{"responses":{"200":{"description":"All preview files from open productions with states equals to processing or broken"}},"summary":"Retrieve all preview files from open productions with states equals to processing or broken.","tags":["Previews"]}},"/data/playlists/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/playlists/{playlist_id}/build/mp4":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["multipart/form-data"],"responses":{"200":{"description":"Given playlist built as mp4 movie"}},"summary":"Build given playlist as mp4 movie.","tags":["Playlists"]}},"/data/playlists/{playlist_id}/download/zip":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["multipart/form-data"],"responses":{"200":{"description":"Given playlist downloaded as zip","schema":{"type":"file"}}},"summary":"Download given playlist as zip.","tags":["Playlists"]}},"/data/playlists/{playlist_id}/jobs/{build_job_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"build_job_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given build job removed"}},"summary":"Remove given build job related to given playlist.","tags":["Playlists"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"build_job_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Build job related to given playlist"}},"summary":"Retrieve build job related to given playlist.","tags":["Playlists"]}},"/data/playlists/{playlist_id}/jobs/{build_job_id}/build/mp4":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"build_job_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["multipart/form-data"],"responses":{"200":{"description":"Given playlist build downloaded as .mp4"},"400":{"description":"Build not finished, need to retry later"}},"summary":"Download given playlist build as .mp4.","tags":["Playlists"]}},"/data/preview-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/preview-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/preview-files/{preview_file_id}/extract-frame":{"get":{"description":" ","parameters":[{"format":"UUID","in":"path","name":"preview_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Extracted frame"}},"summary":"Extract a frame from a preview_file","tags":["Previews"]}},"/data/project-status":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/project-status/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/projects":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/projects/all":{"get":{"description":"Ensure that user has at least the manager level before that.","responses":{"200":{"description":"All projects listed in database"}},"summary":"Return all projects listed in database.","tags":["Projects"]}},"/data/projects/news":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12"},{"format":"date","in":"query","name":"after","type":"string","x-example":"2022-07-12"},{"in":"query","name":"page","type":"integer","x-example":1},{"in":"query","name":"page_size","type":"integer","x-example":50},{"format":"UUID","in":"query","name":"person_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_type_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_status_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"default":false,"in":"query","name":"episode_id","type":"boolean"},{"default":false,"in":"query","name":"only_preview","type":"boolean"}],"responses":{"200":{"description":"All news from user open projects."}},"summary":"Retrieve all news related to a given project","tags":["News"]}},"/data/projects/open":{"get":{"description":"Most of the time, past projects are not needed.","responses":{"200":{"description":"All running projects"}},"summary":"Return the list of projects currently running.","tags":["Projects"]}},"/data/projects/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/projects/{project_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset types for given project"}},"summary":"Retrieve all asset types for given project.","tags":["Assets"]}},"/data/projects/{project_id}/asset-types/{asset_type_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for given project and entity type"}},"summary":"Retrieve all assets for given project and entity type.","tags":["Assets"]}},"/data/projects/{project_id}/asset-types/{asset_type_id}/assets/new":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, description, data and ID of asset","in":"body","name":"Asset","schema":{"properties":{"data":{"type":"string"},"description":{"type":"string"},"name":{"type":"string"},"source_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["name","description","data","source_id"],"type":"object"}}],"responses":{"201":{"description":"New asset resource created"}},"summary":"Create new asset resource.","tags":["Assets"]}},"/data/projects/{project_id}/asset-types/{asset_type_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of assets from given asset type"}},"summary":"Resource to retrieve the casting of assets from given asset type.","tags":["Breakdown"]}},"/data/projects/{project_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for given project"}},"summary":"Retrieve all assets for given project.","tags":["Assets"]}},"/data/projects/{project_id}/attachment-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All attachment files related to given project"}},"summary":"Return all attachment files related to given project.","tags":["Comments"]}},"/data/projects/{project_id}/build-jobs":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All build jobs related to given project"}},"summary":"Retrieve all build jobs related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/comments":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All comments to tasks related to given project"}},"summary":"Retrieve all comments to tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/edits":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All edits related to given project"}},"summary":"Retrieve all edits related to a given project.","tags":["Edits"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of edit"},{"in":"formData","name":"description","type":"string","x-example":"Description of edit"},{"format":"UUID","in":"formData","name":"episode_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Edit created for given project"}},"summary":"Create an edit for given project.","tags":["Edits"]}},"/data/projects/{project_id}/entities/{entity_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of given entity"}},"summary":"Resource to retrieve the casting of a given entity.","tags":["Breakdown"]},"put":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"entity_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Modification of assets linked to an entity"}},"summary":"Resource to allow the modification of assets linked to an entity.","tags":["Breakdown"]}},"/data/projects/{project_id}/entity-links":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All entity links related to given project"}},"summary":"Retrieve all entity links related to given project.","tags":["Breakdown"]}},"/data/projects/{project_id}/entity-links/{entity_link_id}":{"delete":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"entity_link_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Entity link deleted"}},"summary":"Delete given entity link.","tags":["Breakdown"]}},"/data/projects/{project_id}/episodes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episodes related to given project"}},"summary":"Retrieve all episodes related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of the episode"},{"in":"formData","name":"description","required":true,"type":"string","x-example":"Description of the episode"}],"responses":{"201":{"description":"Episode created for given project"}},"summary":"Create an episode for given project.","tags":["Shots"]}},"/data/projects/{project_id}/episodes/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of episodes"}},"summary":"Resource to retrieve the casting of episodes.","tags":["Breakdown"]}},"/data/projects/{project_id}/episodes/retake-stats":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Number of tasks by status, task types and episodes for given project"}},"summary":"Retrieve number of tasks by status, task_types and episodes for given project.","tags":["Shots"]}},"/data/projects/{project_id}/episodes/stats":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Number of tasks by status, task types and episodes for given project"}},"summary":"Retrieve number of tasks by status, task_types and episodes for given project.","tags":["Shots"]}},"/data/projects/{project_id}/episodes/{episode_id}/playlists":{"get":{"description":"The full list is returned because the number of playlists in an episode is not that big.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given episode"}},"summary":"Retrieve all playlists related to given episode.","tags":["Playlists"]}},"/data/projects/{project_id}/episodes/{episode_id}/sequences/all/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting for all shots from given episode."}},"summary":"Resource to retrieve the casting of shots from given episode.","tags":["Breakdown"]}},"/data/projects/{project_id}/metadata-descriptors":{"get":{"description":"It serves to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All metadata descriptors"}},"summary":"Get all metadata descriptors","tags":["Projects"]},"post":{"description":"It serves to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Create a new metadata descriptor"}},"summary":"Create a new metadata descriptor","tags":["Projects"]}},"/data/projects/{project_id}/metadata-descriptors/{descriptor_id}":{"delete":{"description":"Descriptors serve to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"descriptor_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Metadata descriptor deleted"}},"summary":"Delete a metadata descriptor.","tags":["Projects"]},"get":{"description":"Descriptors serve to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"descriptor_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Metadata descriptor"}},"summary":"Get a metadata descriptor.","tags":["Projects"]},"put":{"description":"Descriptors serve to describe extra fields listed in the data attribute of entities.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"descriptor_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":false,"type":"string"},{"default":false,"in":"formData","name":"for_client","required":false,"type":"boolean"},{"in":"formData","name":"choices","required":false,"type":"array"},{"in":"formData","name":"departments","required":false,"type":"array"}],"responses":{"200":{"description":"Metadata descriptor updated"}},"summary":"Update a metadata descriptor.","tags":["Projects"]}},"/data/projects/{project_id}/milestones":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All milestones of given production"}},"summary":"Retrieve milestones for given production","tags":["Projects"]}},"/data/projects/{project_id}/news":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"query","name":"before","type":"string","x-example":"2022-07-12"},{"format":"date","in":"query","name":"after","type":"string","x-example":"2022-07-12"},{"in":"query","name":"page","type":"integer","x-example":1},{"in":"query","name":"page_size","type":"integer","x-example":50},{"format":"UUID","in":"query","name":"person_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_type_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"task_status_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"default":false,"in":"query","name":"episode_id","type":"boolean"},{"default":false,"in":"query","name":"only_preview","type":"boolean"}],"responses":{"200":{"description":"All news related to given project"}},"summary":"Retrieve all news related to a given project","tags":["News"]}},"/data/projects/{project_id}/news/{news_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"news_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Single given news related to given project"}},"summary":"Retrieve a single given news related to a given project","tags":["News"]}},"/data/projects/{project_id}/notifications":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All notifications to tasks related to given project"}},"summary":"Retrieve all notifications to tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/playlists":{"get":{"description":"Result is paginated and can be sorted.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/playlists/all":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/playlists/temp":{"post":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/playlists/{playlist_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All playlists related to given project"}},"summary":"Retrieve all playlists related to given project.","tags":["Playlists"]}},"/data/projects/{project_id}/preview-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Preview files related to given project"}},"summary":"Preview files related to a given project.","tags":["Tasks"]}},"/data/projects/{project_id}/quotas/{task_type_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Quotas statistics for shots"}},"summary":"Retrieve quotas statistics for shots.","tags":["Shots"]}},"/data/projects/{project_id}/scenes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scenes related to given project"}},"summary":"Retrieve all scenes related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of scene"},{"format":"UUID","in":"formData","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Scene created for given project"}},"summary":"Create a scene for given project.","tags":["Shots"]}},"/data/projects/{project_id}/schedule-items":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All schedule items of given production"}},"summary":"Retrieve schedule items for given production","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types schedule items of given production"}},"summary":"Retrieve task type schedule items for given production","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/{task_type_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset types schedule items for given task type"}},"summary":"Retrieve asset types schedule items for given task type","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/{task_type_id}/episodes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All episodes schedule items for given task type"}},"summary":"Retrieve episodes schedule items for given task type","tags":["Projects"]}},"/data/projects/{project_id}/schedule-items/{task_type_id}/sequences":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequences schedule items for given task type"}},"summary":"Retrieve sequences schedule items for given task type","tags":["Projects"]}},"/data/projects/{project_id}/sequences":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequences related to given project"}},"summary":"Retrieve all sequences related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of sequence"},{"format":"UUID","in":"formData","name":"episode_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Sequence created for given project"}},"summary":"Create a sequence for given project.","tags":["Shots"]}},"/data/projects/{project_id}/sequences/all/casting":{"get":{"description":"project.
","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting for all shots from given project."}},"summary":"Resource to retrieve the casting of shots from all sequences of given","tags":["Breakdown"]}},"/data/projects/{project_id}/sequences/{sequence_id}/casting":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting of shots from given sequence"}},"summary":"Resource to retrieve the casting of shots from given sequence.","tags":["Breakdown"]}},"/data/projects/{project_id}/settings/asset-types":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset type added to production"}},"summary":"Add an asset type linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/asset-types/{asset_type_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Asset type removed from production"}},"summary":"Remove an asset type from a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/status-automations":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Status automation linked to production"}},"summary":"Get a status automation linked to a production.","tags":["Projects"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"status_automation_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Status automation added to production"}},"summary":"Add a status automation linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/status-automations/{status_automation_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"status_automation_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Status automation removed from production"}},"summary":"Remove a status automation from a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-status":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task statuses linked to production"}},"summary":"Return task statuses linked to a production","tags":["Projects"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"task_status_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Task type added to production"}},"summary":"Add a task type linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-status/{task_status_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_status_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Task status removed from production"}},"summary":"Remove a task status from a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-types":{"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"default":"None","in":"formData","name":"priority","required":false,"type":"string"}],"responses":{"201":{"description":"Asset type added to production"}},"summary":"Add an task type linked to a production.","tags":["Projects"]}},"/data/projects/{project_id}/settings/task-types/{task_type_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Task type removed from production"}},"summary":"Remove a task type from a production.","tags":["Projects"]}},"/data/projects/{project_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots related to given project"}},"summary":"Retrieve all shots related to a given project.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of shot"},{"in":"formData","name":"description","type":"string","x-example":"Description of shot"},{"format":"UUID","in":"formData","name":"sequence_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"nb_frames","type":"integer"}],"responses":{"201":{"description":"Shot created for given project"}},"summary":"Create a shot for given project.","tags":["Shots"]}},"/data/projects/{project_id}/subscriptions":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All subcriptions to tasks related to given project"}},"summary":"Retrieve all subcriptions to tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task types linked to the production"}},"summary":"Retrieve task types linked to the production","tags":["Projects"]}},"/data/projects/{project_id}/tasks":{"get":{"description":"It's mainly used for synchronisation purpose.","parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given project"}},"summary":"Retrieve all tasks related to given project.","tags":["Tasks"]}},"/data/projects/{project_id}/team":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"People listed in a production team"}},"summary":"Return the people listed in a production team.","tags":["Projects"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Person added to the production team"}},"summary":"Add a person to a production team.","tags":["Projects"]}},"/data/projects/{project_id}/team/{person_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"person_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Person removed from production team"}},"summary":"Remove people listed in a production team.","tags":["Projects"]}},"/data/projects/{project_id}/time-spents":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All time spents of given production"}},"summary":"Retrieve time spents for given production","tags":["Projects"]}},"/data/scenes/all":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scene entries"}},"summary":"Retrieve all scene entries.","tags":["Shots"]}},"/data/scenes/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scenes"}},"summary":"Retrieve all scenes, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/scenes/{scene_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given scene deleted"}},"summary":"Delete given scene.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given scene"}},"summary":"Retrieve given scene.","tags":["Shots"]}},"/data/scenes/{scene_id}/asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset instances linked to given scene"}},"summary":"Retrieve all asset instances linked to scene.","tags":["Breakdown"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset instances created on given scene"}},"summary":"Create an asset instance on given scene.","tags":["Breakdown"]}},"/data/scenes/{scene_id}/camera-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"All camera instances linked to scene"}},"summary":"Retrieve all camera instances linked to scene.","tags":["Breakdown"]}},"/data/scenes/{scene_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots that come from given scene"}},"summary":"Retrieve all shots that come from given scene.","tags":["Shots"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"formData","name":"shot_id","type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given scene marked as source of given shot"}},"summary":"Mark given scene as source of given shot.","tags":["Shots"]}},"/data/scenes/{scene_id}/shots/{shot_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given shot deleted from given scene"}},"summary":"Delete given shot from given scene.","tags":["Shots"]}},"/data/scenes/{scene_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given scene"}},"summary":"Retrieve all task types related to a given scene.","tags":["Shots"]}},"/data/scenes/{scene_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given scene"}},"summary":"Retrieve all tasks related to a given scene.","tags":["Shots"]}},"/data/schedule-items/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/schedule-items/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/search":{"post":{"parameters":[{"in":"formData","name":"query","required":true,"type":"string","x-example":"test will search for test"},{"default":3,"in":"formData","name":"limit","required":false,"type":"integer","x-example":3},{"default":["assets","shots","persons"],"in":"formData","name":"index_names","required":false,"type":"list of strings","x-example":["assets"]}],"responses":{"200":{"description":"List of entities that contain the query"}},"summary":"Search for resource","tags":["Search"]}},"/data/search-filters/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/search-filters/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/sequences":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"episode_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequence entries"}},"summary":"Retrieve all sequence entries.","tags":["Shots"]}},"/data/sequences/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All sequences"}},"summary":"Retrieve all sequences, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/sequences/{sequence_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given sequence deleted"}},"summary":"Delete given sequence.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given sequence"}},"summary":"Retrieve given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/scenes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All scenes related to given sequence"}},"summary":"Retrieve all scenes related to a given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/shot-tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given sequence"}},"summary":"Retrieve all tasks related to a given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/shots":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot entries for given sequence"}},"summary":"Retrieve all shot entries for a given sequence.","tags":["Shots"]}},"/data/sequences/{sequence_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given shot"}},"summary":"Retrieve all task types related to a given shot.","tags":["Shots"]}},"/data/sequences/{sequence_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given shot"}},"summary":"Retrieve all tasks related to a given shot.","tags":["Shots"]}},"/data/shots":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"sequence_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"parent_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot entries"}},"summary":"Retrieve all shot entries.","tags":["Shots"]}},"/data/shots/all":{"get":{"description":"Filters can be specified in the query string.","parameters":[{"format":"UUID","in":"query","name":"sequence_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"query","name":"parent_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shot entries"}},"summary":"Retrieve all shot entries.","tags":["Shots"]}},"/data/shots/with-tasks":{"get":{"parameters":[{"format":"UUID","in":"query","name":"project_id","required":false,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All shots"}},"summary":"Retrieve all shots, adds project name and asset type name and all related tasks.","tags":["Shots"]}},"/data/shots/{shot_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given shot deleted"}},"summary":"Delete given shot.","tags":["Shots"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given shot"}},"summary":"Retrieve given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/asset-instances":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets linked to shot"}},"summary":"Retrieve all asset instances linked to shot.","tags":["Breakdown"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Asset instance added to given shot"}},"summary":"Add an asset instance to given shot.","tags":["Breakdown"]}},"/data/shots/{shot_id}/asset-instances/{asset_instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Asset instance removed from given shot"}},"summary":"Remove an asset instance from given shot.","tags":["Breakdown"]}},"/data/shots/{shot_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All asset shots for given shot"}},"summary":"Retrieve all asset shots for given shot.","tags":["Assets"]}},"/data/shots/{shot_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All assets for given shot"}},"summary":"Retrieve all assets for a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/preview-files":{"get":{"description":"It sends them as a dict. Keys are related task type ids and values are arrays of preview for this task type.","parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All previews related to given episode"}},"summary":"Retrieve all previews related to a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All task types related to given shot"}},"summary":"Retrieve all task types related to a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All tasks related to given shot"}},"summary":"Retrieve all tasks related to a given shot.","tags":["Shots"]}},"/data/shots/{shot_id}/versions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Data versions of given shot"}},"summary":"Retrieve data versions of given shot.","tags":["Shots"]}},"/data/softwares":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/softwares/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/status-automations/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/status-automations/{instance_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/subscriptions/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/subscriptions/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/task-status":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/task-status/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/task-types":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/task-types/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/tasks":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]}},"/data/tasks/{instance_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/tasks/{task_id}/attachment-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"All attachment files related to given task"}},"summary":"Return all attachment files related to given task.","tags":["Comments"]}},"/data/tasks/{task_id}/comments":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Comments linked to given task"}},"summary":"Return comments linked to given task.","tags":["Tasks"]}},"/data/tasks/{task_id}/comments/{comment_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Comment corresponding at given ID deleted"}},"summary":"Delete a comment corresponding at given ID.","tags":["Tasks"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Comment corresponding at given ID"}},"summary":"Get comment corresponding at given ID.","tags":["Tasks"]}},"/data/tasks/{task_id}/comments/{comment_id}/ack":{"post":{"description":"If it's already acknowledged, remove acknowledgement.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Comment acknowledged"}},"summary":"Acknowledge given comment.","tags":["Comments"]}},"/data/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"attachment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Empty response"}},"summary":"Delete attachment linked to a comment matching given ID.","tags":["Comments"]}},"/data/tasks/{task_id}/comments/{comment_id}/reply":{"post":{"description":"Add comment to its replies list.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"text","type":"string","x-example":"comment"}],"responses":{"200":{"description":"Reply to given comment"}},"summary":"Reply to given comment.","tags":["Comments"]}},"/data/tasks/{task_id}/comments/{comment_id}/reply/{reply_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"comment_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"reply_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given comment reply deleted"}},"summary":"Delete given comment reply.","tags":["Comments"]}},"/data/tasks/{task_id}/full":{"get":{"description":"Full details for assignees, full details for task type, full details for task status, etc.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task with many information"}},"summary":"Return a task with many information.","tags":["Tasks"]}},"/data/tasks/{task_id}/previews":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Previews linked to given task"}},"summary":"Return previews linked to given task.","tags":["Tasks"]}},"/data/tasks/{task_id}/working-file-path":{"post":{"description":"Generate file path based on several parameters: task, software, mode, revision and separator. Revision can be computed automatically as next revision if not given.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, software, mode, revision and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"mode":{"default":"working","type":"string"},"name":{"default":"main","type":"string"},"revision":{"type":"integer"},"separator":{"default":"/","type":"string"},"software_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"type":"object"}}],"responses":{"200":{"description":"Working file path generated"},"400":{"description":"Malformed file tree"}},"summary":"Generate a working file path from file tree template.","tags":["Files"]}},"/data/tasks/{task_id}/working-files":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last working files revision for each file name for given task"}},"summary":"Return last working files revision for each file name for given task.","tags":["Files"]}},"/data/tasks/{task_id}/working-files/last-revisions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Last working files revision for each file name for given task"}},"summary":"Return last working files revision for each file name for given task.","tags":["Files"]}},"/data/tasks/{task_id}/working-files/new":{"post":{"description":"A working file is a file used to produce output files. It is the file the CG artist is working on. It is versioned, tied to a task and a software and requires a comment each time it is created. A path is generated for each file created. The path format is defined in the file tree template file.","parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"description":"Name, mode, description, comment, person ID, software ID, revision and separator.","in":"body","name":"File","schema":{"properties":{"comment":{"type":"string"},"description":{"type":"string"},"mode":{"default":"working","type":"string"},"name":{"type":"string"},"person_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"},"revision":{"type":"integer"},"sep":{"default":"/","type":"string"},"software_id":{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","type":"string"}},"required":["name"],"type":"object"}}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"201":{"description":"New working file created","schema":{"type":"file"}},"400":{"description":"Given working file already exists"}},"summary":"Create new working file.","tags":["Files"]}},"/data/time-spents/":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/time-spents/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/user/assets/{asset_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Task types related to given asset for current user"}},"summary":"Return task types related to given asset for current user.","tags":["User"]}},"/data/user/assets/{asset_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"asset_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given asset for current user"}},"summary":"Return tasks related to given asset for current user.","tags":["User"]}},"/data/user/context":{"get":{"description":"(like the Kitsu web client).
","responses":{"200":{"description":"Context to properly run a full app connected to the API"}},"summary":"Return context required to properly run a full app connected to the API","tags":["User"]}},"/data/user/day-offs/{date}":{"get":{"parameters":[{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Day off object for current user and given date"},"404":{"description":"Wrong date format"}},"summary":"Get day off object for current user and given date.","tags":["User"]}},"/data/user/desktop-login-logs":{"get":{"responses":{"200":{"description":"Desktop login logs"}},"summary":"Retrieve desktop login logs.","tags":["User"]},"post":{"description":"Desktop login logs can only be created by current user.","parameters":[{"format":"date","in":"formData","name":"date","type":"string","x-example":"2022-07-12"}],"responses":{"201":{"description":"Desktop login logs created"}},"summary":"Create desktop login logs.","tags":["User"]}},"/data/user/done-tasks":{"get":{"description":"It returns only tasks of open projects.","responses":{"200":{"description":"Finished tasks currently assigned to current user"}},"summary":"Return tasks currently assigned to current user and of which status has is_done attribute set to true.","tags":["User"]}},"/data/user/entities/{sequence_id}/task-types/{task_type_id}/subscribed":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"True if current user has subscribed to given sequence and task type, False otherwise"}},"summary":"Return true if current user has subscribed to given sequence and task type.","tags":["User"]}},"/data/user/filters":{"get":{"responses":{"200":{"description":"Filters for current user and only for open projects"}},"summary":"Retrieve filters for current user and only for open projects.","tags":["User"]},"post":{"parameters":[{"in":"formData","name":"name","required":true,"type":"string","x-example":"Name of filter"},{"in":"formData","name":"query","required":true,"type":"string"},{"in":"formData","name":"list_type","required":true,"type":"string"},{"in":"formData","name":"entity_type","required":false,"type":"string"},{"example":"a24a6ea4-ce75-4665-a070-57453082c25","format":"UUID","in":"formData","name":"project_id","required":true,"type":"string"}],"responses":{"201":{"description":"Filter for current user and only for open projects created"}},"summary":"Create filter for current user and only for open projects.","tags":["User"]}},"/data/user/filters/{filter_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"filter_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Given filter deleted"}},"summary":"Delete given filter if it's owned by current user.","tags":["User"]},"put":{"parameters":[{"format":"UUID","in":"path","name":"filter_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Given filter updated"}},"summary":"Update given filter if it's owned by current user.","tags":["User"]}},"/data/user/notifications":{"get":{"parameters":[{"format":"date","in":"formData","name":"after","type":"string","x-example":"2022-07-12"},{"format":"date","in":"formData","name":"before","type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"100 last user notifications"}},"summary":"Return last 100 user notifications filtered by given parameters.","tags":["User"]}},"/data/user/notifications/{notification_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"notification_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Notification matching given ID"}},"summary":"Return notification matching given id, only if it's a notification that belongs to current user.","tags":["User"]}},"/data/user/projects/open":{"get":{"responses":{"200":{"description":"Open projects for which the user has at least one task assigned"}},"summary":"Return open projects for which the user has at least one task assigned.","tags":["User"]}},"/data/user/projects/{project_id}/asset-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Asset types related to given project"}},"summary":"Return asset types related to given project if the current user has access to it.","tags":["User"]}},"/data/user/projects/{project_id}/asset-types/{asset_type_id}/assets":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"asset_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Assets of which type is given asset type and are listed in given project"}},"summary":"Return assets of which type is given asset type and are listed in given project if user has access to this project.","tags":["User"]}},"/data/user/projects/{project_id}/episodes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Episodes related to given project"}},"summary":"Return episodes related to given project if the current user has access to it.","tags":["User"]}},"/data/user/projects/{project_id}/sequences":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Sequences related to given project"}},"summary":"Return sequences related to given project if the current user has access to it.","tags":["User"]}},"/data/user/projects/{project_id}/task-types/{task_type_id}/sequence-subscriptions":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"List of sequence ids to which the current user has subscribed for given task type"}},"summary":"Return the list of sequence ids to which the current user has subscribed for given task type.","tags":["User"]}},"/data/user/scenes/{scene_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given scene for current user"}},"summary":"Return tasks related to given scene for current user.","tags":["User"]}},"/data/user/scenes/{scene_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"scene_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given scene"}},"summary":"Return tasks related to given scene for current user.","tags":["User"]}},"/data/user/sequences/{sequence_id}/scenes":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Scenes related to given sequence"}},"summary":"Return scenes related to given sequence if the current user has access to it.","tags":["User"]}},"/data/user/sequences/{sequence_id}/shots":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Shots related to given sequence"}},"summary":"Return shots related to given sequence if the current user has access to it.","tags":["User"]}},"/data/user/sequences/{sequence_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given sequence for current user"}},"summary":"Return tasks related to given sequence for current user.","tags":["User"]}},"/data/user/sequences/{sequence_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"sequence_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given sequence"}},"summary":"Return tasks related to given sequence for current user.","tags":["User"]}},"/data/user/shots/{shot_id}/task-types":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given shot for current user"}},"summary":"Return tasks related to given shot for current user.","tags":["User"]}},"/data/user/shots/{shot_id}/tasks":{"get":{"parameters":[{"format":"UUID","in":"path","name":"shot_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Tasks related to given shot"}},"summary":"Return tasks related to given shot for current user.","tags":["User"]}},"/data/user/tasks":{"get":{"responses":{"200":{"description":"Unfinished tasks currently assigned to current user"}},"summary":"Return tasks currently assigned to current user and of which status has is_done attribute set to false.","tags":["User"]}},"/data/user/tasks-to-check":{"get":{"description":"
If the user is not a supervisor, it returns an empty list.
","responses":{"200":{"description":"Tasks requiring feedback in current user departments."}},"summary":"Return tasks requiring feedback for current user departments.","tags":["User"]}},"/data/user/tasks/{task_id}/subscribed":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"True if current user has subscribed to given task, False otherwise"}},"summary":"Return true if current user has subscribed to given task.","tags":["User"]}},"/data/user/tasks/{task_id}/time-spents/{date}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"task_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"date","in":"path","name":"date","required":true,"type":"string","x-example":"2022-07-12"}],"responses":{"200":{"description":"Time spents for current user and given date"},"404":{"description":"Wrong date format"}},"summary":"Get time spents for current user and given date.","tags":["User"]}},"/data/working-files":{"get":{"description":"Filters can be specified in the query string.","responses":{"200":{"description":"All entries for given model"},"400":{"description":"Format error"},"403":{"description":"Permission denied"}},"summary":"Retrieve all entries for given model.","tags":["Crud"]},"post":{"description":"JSON format is expected. The model performs the validation automatically when instantiated.","parameters":[{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model created"},"400":{"description":"Error"}},"summary":"Create a model with data given in the request body.","tags":["Crud"]}},"/data/working-files/{instance_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Model deleted"},"400":{"description":"Statement or integrity error"},"404":{"description":"Instance non-existant"}},"summary":"Delete a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Model as a JSON object"},"400":{"description":"Statement error"},"404":{"description":"Value error"}},"summary":"Retrieve a model corresponding at given ID and return it as a JSON object.","tags":["Crud"]},"put":{"description":"JSON format is expected. Model performs the validation automatically when fields are modified.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"body","name":"Model","schema":{"properties":{"data":{"items":{"type":"string"},"type":"array"},"limit":{"type":"integer"},"nb_pages":{"type":"integer"},"offset":{"type":"integer"},"page":{"type":"integer"},"total":{"type":"integer"}},"type":"object"}}],"responses":{"200":{"description":"Model updated"},"400":{"description":"Error"}},"summary":"Update a model with data given in the request body.","tags":["Crud"]}},"/data/working-files/{working_file_id}/file":{"get":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"produces":["image/png","image/jpg","image/gif","multipart/form-data"],"responses":{"200":{"description":"Working file downloaded","schema":{"type":"file"}}},"summary":"Download a working file.","tags":["Files"]},"post":{"parameters":[{"format":"UUID","in":"path","name":"working_file_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"Working file stored"}},"summary":"Store a working file.","tags":["Files"]}},"/export/csv/persons.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/playlists/{playlist_id}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"playlist_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Playlist exported as csv"}},"summary":"Export a given playlist as csv.","tags":["Export"]}},"/export/csv/projects.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/assets.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Assets exported as csv"}},"summary":"Export assets linked to a given project as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/casting.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Casting exported as csv"}},"summary":"Export casting linked to a given project as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/edits.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Edits exported as csv"}},"summary":"Export edits linked to a given project as csv.","tags":["Export"]}},"/export/csv/projects/{project_id}/shots.csv":{"get":{"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Shots exported as csv"}},"summary":"Export shots linked to a given project as csv.","tags":["Export"]}},"/export/csv/task-types.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/tasks.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/export/csv/time-spents.csv":{"get":{"responses":{"200":{"description":"Exported as csv"}},"summary":"Export as csv.","tags":["Export"]}},"/import/csv/persons":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported persons."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import persons via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/assets":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported assets."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import project assets via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/casting":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported casting links."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import project casting links via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/edits":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"},{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Edits imported"},"400":{"description":"Format error"}},"summary":"Import project edits.","tags":["Import"]}},"/import/csv/projects/{project_id}/episodes/{episode_id}/task-types/{task_type_id}/estimations":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"},{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Estimations imported"},"400":{"description":"Format error"}},"summary":"Import the estimations of task-types for given episode of given project.","tags":["Import"]}},"/import/csv/projects/{project_id}/shots":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"The lists of imported assets."},"400":{"description":"The .csv file is not properly formatted."}},"summary":"Import project shots via a .csv file.","tags":["Import"]}},"/import/csv/projects/{project_id}/task-types/{task_type_id}/estimations":{"post":{"consumes":["multipart/form-data"],"parameters":[{"in":"formData","name":"file","required":true,"type":"file"},{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"task_type_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"201":{"description":"Estimations imported"},"400":{"description":"Format error"}},"summary":"Import the estimations of task-types for given project.","tags":["Import"]}},"/import/edl/projects/{project_id}":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"."},"400":{"description":"The .EDL file is not properly formatted."}},"summary":"Import an EDL file to enter frame_in / frame_out / nb_frames.","tags":["Import"]}},"/import/edl/projects/{project_id}/episodes/{episode_id}":{"post":{"consumes":["multipart/form-data"],"parameters":[{"format":"UUID","in":"path","name":"project_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"format":"UUID","in":"path","name":"episode_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"201":{"description":"."},"400":{"description":"The .EDL file is not properly formatted."}},"summary":"Import an EDL file to enter frame_in / frame_out / nb_frames.","tags":["Import"]}},"/import/kitsu/comments":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/entities":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/entity-links":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/projects":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/kitsu/tasks":{"post":{"parameters":[{"in":"body","name":"entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import Kitsu resource.","tags":["Import"]}},"/import/shotgun/assets":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/episodes":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/errors":{"get":{"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun error resource.","tags":["Import"]},"post":{"responses":{"200":{"description":"Resource serialized"}},"summary":"Serialize shotgun error resource.","tags":["Import"]}},"/import/shotgun/errors/{error_id}":{"delete":{"parameters":[{"format":"UUID","in":"path","name":"error_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"204":{"description":"Error deleted"},"404":{"description":"Error non-existant or Statement error"}},"summary":"Delete error.","tags":["Import"]}},"/import/shotgun/notes":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/persons":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/projectconnections":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/projects":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/remove/asset":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/episode":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/note":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/person":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/project":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/projectconnection":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/scene":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/sequence":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/shot":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/status":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/step":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/task":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/remove/version":{"post":{"responses":{"204":{"description":"Instance removed"}},"summary":"Import remove instance.","tags":["Import"]}},"/import/shotgun/scenes":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/sequences":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/shots":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/status":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/steps":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/tasks":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/import/shotgun/versions":{"post":{"parameters":[{"in":"body","name":"sg_entries","required":true,"schema":{"items":{"properties":{"id":{"type":"string"}},"type":"object"},"type":"array"}}],"responses":{"200":{"description":"Resource imported"}},"summary":"Import shotgun resource.","tags":["Import"]}},"/movies/low/preview-files/{instance_id}.mp4":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Lowdef movie preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"File not found"}},"summary":"Download a lowdef movie preview.","tags":["Previews"]}},"/movies/originals/preview-files/{instance_id}.mp4":{"get":{"description":"It stores the preview file and generates three picture files matching preview when it's possible: a square thumbnail, a rectangle thumbnail and a midsize file.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Movie preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"File not found"}},"summary":"Download a movie preview.","tags":["Previews"]}},"/movies/originals/preview-files/{instance_id}/download":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Movie preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"File not found"}},"summary":"Download a movie preview.","tags":["Previews"]}},"/pictures/originals/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/originals/preview-files/{instance_id}.{extension}":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"path","name":"extension","required":true,"type":"string","x-example":"png, pdf, jpg, jpeg, ..."}],"responses":{"200":{"description":"Generic file preview downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Non-movie file not found"}},"summary":"Download a generic file preview.","tags":["Previews"]}},"/pictures/originals/preview-files/{instance_id}/download":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Generic file preview downloaded as attachment"},"403":{"description":"Instance not allowed"},"404":{"description":"Standard file not found"}},"summary":"Download a generic file preview as attachment.","tags":["Previews"]}},"/pictures/preview-files/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"description":"It stores the preview file and generates three picture files matching preview when it's possible: a square thumbnail, a rectangle thumbnail and a midsize file.","parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Preview added"}},"summary":"Main resource to add a preview.","tags":["Previews"]}},"/pictures/previews/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/thumbnails-square/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/thumbnails/organisations/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Thumbnail created"},"404":{"description":"Cannot found related object."}},"summary":"Create a thumbnail for given object instance.","tags":["Previews"]}},"/pictures/thumbnails/organisations/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Access not allowed"},"404":{"description":"Object instance not found"}},"summary":"Download the thumbnail linked to given object instance.","tags":["Previews"]}},"/pictures/thumbnails/persons/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Thumbnail created"},"404":{"description":"Cannot found related object."}},"summary":"Create a thumbnail for given object instance.","tags":["Previews"]}},"/pictures/thumbnails/persons/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Access not allowed"},"404":{"description":"Object instance not found"}},"summary":"Download the thumbnail linked to given object instance.","tags":["Previews"]}},"/pictures/thumbnails/preview-files/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Instance not allowed"},"404":{"description":"Picture file not found"}},"summary":"Download a thumbnail.","tags":["Previews"]}},"/pictures/thumbnails/projects/{instance_id}":{"post":{"consumes":["multipart/form-data","image/png","application/pdf"],"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"},{"in":"formData","name":"file","required":true,"type":"file"}],"responses":{"200":{"description":"Thumbnail created"},"404":{"description":"Cannot found related object."}},"summary":"Create a thumbnail for given object instance.","tags":["Previews"]}},"/pictures/thumbnails/projects/{instance_id}.png":{"get":{"parameters":[{"format":"UUID","in":"path","name":"instance_id","required":true,"type":"string","x-example":"a24a6ea4-ce75-4665-a070-57453082c25"}],"responses":{"200":{"description":"Thumbnail downloaded"},"403":{"description":"Access not allowed"},"404":{"description":"Object instance not found"}},"summary":"Download the thumbnail linked to given object instance.","tags":["Previews"]}},"/stats":{"get":{"responses":{"200":{"description":"Main stats"},"403":{"description":"Permission denied"}},"summary":"Retrieve main stats.","tags":["Index"]}},"/status":{"get":{"responses":{"200":{"description":"API name, version and status"}},"summary":"Retrieve API name, version and status.","tags":["Index"]}},"/status.txt":{"get":{"responses":{"200":{"description":"API name, version and status as txt"}},"summary":"Retrieve API name, version and status as txt.","tags":["Index"]}},"/status/influx":{"get":{"responses":{"200":{"description":"Status of database, key value, event stream, job queue and time"}},"summary":"Retrieve status of database and time.","tags":["Index"]}},"/status/resources":{"get":{"responses":{"200":{"description":"Date and CPU, memory and jobs stats"}},"summary":"Retrieve date and CPU, memory and jobs stats.","tags":["Index"]}}},"schemes":["http","https"],"security":[{"JWT Authorization":[]}],"securityDefinitions":{"JWT Authorization":{"description":"Format in header: **Authorization: Bearer {token}**. \n\n Value example: Bearer xxxxx.yyyyy.zzzzz","in":"header","name":"Authorization","type":"apiKey"}},"swagger":"2.0","tags":[{"name":"Authentication"},{"name":"Assets"},{"name":"Breakdown"},{"name":"Comments"},{"name":"Crud"},{"name":"Edits"},{"name":"Entities"},{"name":"Events"},{"name":"Export"},{"name":"Files"},{"name":"Import"},{"name":"Index"},{"name":"News"},{"name":"Persons"},{"name":"Playlists"},{"name":"Previews"},{"name":"Projects"},{"name":"Search"},{"name":"Shots"},{"name":"Tasks"},{"name":"User"}]}