API Docs

The Reel in Motion API is a REST-style JSON API. Endpoints use resource-oriented URLs, standard HTTP verbs, token authentication, and JSON responses.


Authentication

Send authenticated requests with an Authorization header in the form Token YOUR_TOKEN. Login and registration do not require an existing token.

Authorization: Token YOUR_TOKEN

Register

Create a new account and send a verification code.

POST/api/account/register

Auth: Not required

Request Body
NameTypeRequiredDescription
emailstringYes-
passwordstringYes-
firstNamestringNo-
lastNamestringNo-
activationKeyuuidNo-
positionstringNo-
profileImageFileNo-
isSubscribedToEmailsbooleanNo-
settingsobjectNo-
timeZonestringNo-
Response

201 Created with the account object for the newly created user.

Login

Authenticate with email and password.

POST/api/account/login

Auth: Not required

Request Body
NameTypeRequiredDescription
emailstringYes-
passwordstringYes-
Response

202 Accepted with the authenticated account object, including the API token used for later requests.

Logout

Expire the current authenticated session token.

POST/api/account/logout

Auth: Required

Response

Success response after the current token is invalidated.


Account

Read and update the authenticated account.

Get Account

Return the authenticated account.

GET/api/account

Auth: Required

Response

200 OK with the current account object.

Edit Account

Update profile and account settings for the authenticated account.

PATCH/api/account

Auth: Required

Request Body
NameTypeRequiredDescription
emailstringNo-
passwordstringNo-
firstNamestringNo-
lastNamestringNo-
positionstringNo-
profileImageFileNo-
isSubscribedToEmailsbooleanNo-
settingsobjectNo-
timeZonestringNo-
Response

200 OK with the updated account object.


Project

Projects contain members, assets, tasks, groups, tags, and templates.

Create Project

Create a project owned by the authenticated account.

POST/api/project

Auth: Required

Request Body
NameTypeRequiredDescription
namestringYes-
descriptionstringNo-
imageFileNo-
Response

201 Created with the new project object.

Edit Project

Update project details.

PATCH/api/project/:uuid

Auth: Required

Request Body
NameTypeRequiredDescription
namestringNo-
descriptionstringNo-
imageFileNo-
isArchivedbooleanNo-
Response

200 OK with the updated project object.

Get Project

Return one project by UUID.

GET/api/project/:uuid

Auth: Required

Response

200 OK with the project object.

List Projects

Return projects available to the authenticated account.

GET/api/projects

Auth: Required

Response

200 OK with an object keyed by project UUID.

Delete Project

Remove a project.

DELETE/api/project/:uuid

Auth: Required

Response

204 No Content after removal.


Invitation

Invitations let project members invite new collaborators by email.

Send Invitation

Create invitations for one or more email addresses.

POST/api/invitation

Auth: Required

Request Body
NameTypeRequiredDescription
projectuuidYes-
emailsstringYesComma-separated email list.
Response

201 Created with invitation data for the requested recipients.

Handle Invitation

Update an invitation, such as accepting or declining it.

PATCH/api/invitation/:uuid

Auth: Required

Request Body
NameTypeRequiredDescription
isAcceptedbooleanNo-
isDeclinedbooleanNo-
Response

200 OK with the updated invitation object.


Alert

Alerts notify receivers when matching assets, tasks, tags, or groups are updated.

Create Alert

Create an alert for a project.

POST/api/alert

Auth: Required

Request Body
NameTypeRequiredDescription
projectuuidYes-
namestringYes-
descriptionstringNo-
assetsuuid[]No-
tasksuuid[]No-
tagsuuid[]No-
receiversuuid[]No-
urlstringNo-
extrastringNo-
isRecurringbooleanNo-
behaviorstringNo-
Response

201 Created with the new alert object.

Edit Alert

Update alert matching rules or receivers.

PATCH/api/alert/:uuid

Auth: Required

Response

200 OK with the updated alert object.

Get Alert

Return one alert by UUID.

GET/api/alert/:uuid

Auth: Required

Response

200 OK with the alert object.

List Alerts

Return alerts filtered by project or related resource.

GET/api/alerts

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
creatoruuidNo-
namestringNo-
descriptionstringNo-
assetuuidNo-
taskuuidNo-
taguuidNo-
receiveruuidNo-
groupuuidNo-
tagValuestringNo-
Response

200 OK with an object keyed by alert UUID.

Delete Alert

Remove an alert.

DELETE/api/alert/:uuid

Auth: Required

Response

204 No Content after removal.


Asset

Assets are the project files and records that tasks, commits, tags, and comments attach to.

Create Asset

Create an asset in a project.

POST/api/asset

Auth: Required

Request Body
NameTypeRequiredDescription
projectuuidYes-
namestringYes-
descriptionstringNo-
owneruuidNo-
fileFileNo-
pathstringNo-
tagsuuid[]No-
childrenuuid[]No-
primaryImageuuidNo-
Response

201 Created with the new asset object.

Edit Asset

Update asset metadata, relationships, tags, or primary image.

PATCH/api/asset/:uuid

Auth: Required

Response

200 OK with the updated asset object.

Get Asset

Return one asset by UUID.

GET/api/asset/:uuid

Auth: Required

Response

200 OK with the asset object.

List Assets

Return assets filtered by project or metadata.

GET/api/assets

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
creatoruuidNo-
emptybooleanNo-
groupuuidNo-
tagValuestringNo-
namestringNo-
isRemovedbooleanNo-
Response

200 OK with an object keyed by asset UUID.

Delete Asset

Remove an asset.

DELETE/api/asset/:uuid

Auth: Required

Response

204 No Content after removal.


Commit

Commits represent asset versions and uploaded review files.

Create Commit

Create a commit for an asset.

POST/api/commit

Auth: Required

Request Body
NameTypeRequiredDescription
assetuuidYes-
namestringYes-
descriptionstringNo-
usePreviousThumbnailsbooleanNo-
thumbnail1FileNo-
isReleasebooleanNo-
Response

201 Created with the new commit object.

Edit Commit

Update commit metadata.

PATCH/api/commit/:uuid

Auth: Required

Response

200 OK with the updated commit object.

Get Commit

Return one commit by UUID.

GET/api/commit/:uuid

Auth: Required

Response

200 OK with the commit object.

List Commits

Return commits filtered by project, asset, creator, review, or name.

GET/api/commits

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
assetuuidNo-
creatoruuidNo-
reviewuuidNo-
namestringNo-
Response

200 OK with an object keyed by commit UUID.

Delete Commit

Remove a commit.

DELETE/api/commit/:uuid

Auth: Required

Response

204 No Content after removal.


Comment

Comments attach discussion, images, video, and review annotations to project resources.

Create Comment

Create a comment on an asset, commit, task, report, review, or parent comment.

POST/api/comment

Auth: Required

Request Body
NameTypeRequiredDescription
assetuuidNo-
commituuidNo-
taskuuidNo-
reportuuidNo-
reviewuuidNo-
parentuuidNo-
textstringNo-
imageFileNo-
videoFileNo-
reviewOfuuidNo-
Response

201 Created with the new comment object.

Edit Comment

Update comment text or attachments.

PATCH/api/comment/:uuid

Auth: Required

Response

200 OK with the updated comment object.

Get Comment

Return one comment by UUID.

GET/api/comment/:uuid

Auth: Required

Response

200 OK with the comment object.

List Comments

Return comments filtered by project or related resource.

GET/api/comments

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
refuuidNo-
accountuuidNo-
assetuuidNo-
commituuidNo-
parentuuidNo-
reviewuuidNo-
reportuuidNo-
taskuuidNo-
tagsuuid[]No-
isRemovedbooleanNo-
Response

200 OK with an object keyed by comment UUID.

Delete Comment

Remove a comment.

DELETE/api/comment/:uuid

Auth: Required

Response

204 No Content after removal.


Group

Groups define tag categories and option sets inside a project.

Create Group

Create a tag group for a project.

POST/api/group

Auth: Required

Request Body
NameTypeRequiredDescription
projectuuidYes-
namestringYes-
descriptionstringNo-
colorstringNo-
isForAccountsbooleanNo-
isNumericbooleanNo-
Response

201 Created with the new group object.

Edit Group

Update a group.

PATCH/api/group/:uuid

Auth: Required

Response

200 OK with the updated group object.

Get Group

Return one group by UUID.

GET/api/group/:uuid

Auth: Required

Response

200 OK with the group object.

List Groups

Return groups filtered by project or usage.

GET/api/groups

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
creatoruuidNo-
namestringNo-
descriptionstringNo-
colorstringNo-
assetuuidNo-
taskuuidNo-
Response

200 OK with an object keyed by group UUID.

Delete Group

Remove a group.

DELETE/api/group/:uuid

Auth: Required

Response

204 No Content after removal.


Image

Images are visual attachments for assets, commits, comments, and projects.

Get Image

Return one image by UUID.

GET/api/image/:uuid

Auth: Required

Response

200 OK with the image object.

List Images

Return images filtered by project or parent resource.

GET/api/images

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
assetuuidNo-
commituuidNo-
commentuuidNo-
Response

200 OK with an object keyed by image UUID.

Delete Image

Remove an image.

DELETE/api/image/:uuid

Auth: Required

Response

204 No Content after removal.


Tag

Tags connect groups and values to assets, tasks, alerts, accounts, and reviews.

Create Tag

Create a tag value in a group.

POST/api/tag

Auth: Required

Request Body
NameTypeRequiredDescription
groupuuidYes-
valuestringYes-
refuuidNo-
accountsuuid[]No-
alertsuuid[]No-
assetsuuid[]No-
tasksuuid[]No-
reviewsuuid[]No-
colorstringNo-
Response

201 Created with the new tag object.

Edit Tag

Update a tag value or relationships.

PATCH/api/tag/:uuid

Auth: Required

Response

200 OK with the updated tag object.

Get Tag

Return one tag by UUID.

GET/api/tag/:uuid

Auth: Required

Response

200 OK with the tag object.

List Tags

Return tags filtered by group, value, project, or attached resource.

GET/api/tags

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
groupuuidNo-
valuestringNo-
accountuuidNo-
alertuuidNo-
assetuuidNo-
taskuuidNo-
reviewuuidNo-
isRemovedbooleanNo-
Response

200 OK with an object keyed by tag UUID.

Delete Tag

Remove a tag.

DELETE/api/tag/:uuid

Auth: Required

Request Body
NameTypeRequiredDescription
deleteRelatedbooleanNo-
Response

204 No Content after removal.


Task

Tasks track scheduled work, assignees, tags, assets, checklists, and status.

Create Task

Create a task in a project.

POST/api/task

Auth: Required

Request Body
NameTypeRequiredDescription
projectuuidYes-
namestringYes-
assigneduuidNo-
isRestrictedbooleanNo-
descriptionstringNo-
checklistobject[]No-
startDatedatetimeNo-
durationnumberNo-
bidnumberNo-
statusstringNo-
nextTaskuuidNo-
assetsuuid[]No-
tagsuuid[]No-
primaryImageuuidNo-
colorstringNo-
Response

201 Created with the new task object.

Edit Task

Update task fields, assignee, assets, tags, checklist, or status.

PATCH/api/task/:uuid

Auth: Required

Response

200 OK with the updated task object.

Get Task

Return one task by UUID.

GET/api/task/:uuid

Auth: Required

Response

200 OK with the task object.

List Tasks

Return tasks filtered by project, asset, creator, group, tag value, type, or name.

GET/api/tasks

Auth: Required

Query Parameters
NameTypeRequiredDescription
projectuuidNo-
assetuuidNo-
creatoruuidNo-
groupuuidNo-
tagValuestringNo-
typestringNo-
namestringNo-
isRemovedbooleanNo-
Response

200 OK with an object keyed by task UUID.

Delete Task

Remove a task.

DELETE/api/task/:uuid

Auth: Required

Response

204 No Content after removal.


Template

Templates define reusable task plans for projects.

Create Template

Create a task template.

POST/api/template

Auth: Required

Request Body
NameTypeRequiredDescription
projectuuidYes-
namestringYes-
descriptionstringNo-
isPublicbooleanNo-
tasksobject[]No-
Response

201 Created with the new template object.

Edit Template

Update template metadata or task definitions.

PATCH/api/template/:uuid

Auth: Required

Response

200 OK with the updated template object.

Get Template

Return one template by UUID.

GET/api/template/:uuid

Auth: Required

Response

200 OK with the template object.

List Templates

Return templates filtered by project, reference, category, or name.

GET/api/templates

Auth: Required

Query Parameters
NameTypeRequiredDescription
refuuidNo-
projectuuidNo-
categorystringNo-
namestringNo-
Response

200 OK with an object keyed by template UUID.

Delete Template

Remove a template.

DELETE/api/template/:uuid

Auth: Required

Response

204 No Content after removal.