Authentication
Check authentication status
Returns information if the user is authenticated. It can be used by third party tools, especially browser frontend, to know if current user is still logged in.
curl \
--request GET 'http://api.example.com/auth/authenticated' \
--header "Authorization: $API_KEY"
Register new user
Allow a user to register himself to the service.
curl \
--request POST 'http://api.example.com/auth/register' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"email":"admin@example.com","password":"string","password_2":"string","first_name":"string","last_name":"string"}'
{
"email": "admin@example.com",
"password": "string",
"password_2": "string",
"first_name": "string",
"last_name": "string"
}
Request password reset
Send a password reset token by email to the user. It uses a classic scheme where a token is sent by email.
curl \
--request POST 'http://api.example.com/auth/reset-password' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"email":"admin@example.com"}'
{
"email": "admin@example.com"
}
Disable TOTP
Disable TOTP (Time-based One-Time Password) authentication. It requires two-factor authentication verification.
curl \
--request DELETE 'http://api.example.com/auth/totp' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"totp":"string","email_otp":"string","fido_authentication_response":{},"recovery_code":"string"}'
{
"totp": "string",
"email_otp": "string",
"fido_authentication_response": {},
"recovery_code": "string"
}
Send email OTP
Send a one-time password by email to the user for authentication.
curl \
--request GET 'http://api.example.com/auth/email-otp' \
--header "Authorization: $API_KEY"
Pre-enable email OTP
Prepare email OTP (One-Time Password) for enabling. It sets up email-based two-factor authentication.
curl \
--request PUT 'http://api.example.com/auth/email-otp' \
--header "Authorization: $API_KEY"
Enable email OTP
Enable email OTP (One-Time Password) authentication. It requires verification code sent to email.
curl \
--request POST 'http://api.example.com/auth/email-otp' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"email_otp":"string"}'
{
"email_otp": "string"
}
Disable email OTP
Disable email OTP (One-Time Password) authentication. It requires two-factor authentication verification.
curl \
--request DELETE 'http://api.example.com/auth/email-otp' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"totp":"string","email_otp":"string","fido_authentication_response":{},"recovery_code":"string"}'
{
"totp": "string",
"email_otp": "string",
"fido_authentication_response": {},
"recovery_code": "string"
}
Unregister FIDO device
Unregister a FIDO device from WebAuthn authentication. It requires two-factor authentication verification.
curl \
--request DELETE 'http://api.example.com/auth/fido' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"totp":"string","email_otp":"string","fido_authentication_response":{},"recovery_code":"string","device_name":"string"}'
{
"totp": "string",
"email_otp": "string",
"fido_authentication_response": {},
"recovery_code": "string",
"device_name": "string"
}
SAML SSO login redirect
Initiate SAML SSO login by redirecting to SAML identity provider.
curl \
--request GET 'http://api.example.com/auth/saml/login' \
--header "Authorization: $API_KEY"
Get asset
Retrieve detailed information about a specific asset including metadata, project context, and related data
curl \
--request GET 'http://api.example.com/data/assets/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Name",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
Get asset tasks
Retrieve all tasks related to a specific asset.
curl \
--request GET 'http://api.example.com/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/tasks' \
--header "Authorization: $API_KEY"
[
{
"id": "e68e0ie8-gi19-8009-e514-91897426g69",
"name": "Modeling Task",
"task_type_id": "f79f1jf9-hj20-9110-f625-02908537h70",
"task_status_id": "g80g2kg0-ik31-0221-g736-13019648i81",
"entity_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"assigned_to": "h91h3lh1-jl42-1332-h847-24120759j92",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Get shots casting asset
Retrieve all shots that cast a specific asset in their breakdown.
curl \
--request GET 'http://api.example.com/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/cast-in' \
--header "Authorization: $API_KEY"
[
{
"id": "d57d9hd7-fh08-7998-d403-80786315f58",
"name": "SH001",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"sequence_id": "e68e0ie8-gi19-8009-e514-91897426g69",
"frame_in": 100,
"frame_out": 200,
"duration": 100
}
]
Get asset casting
Retrieve the casting information for a specific asset showing which shots or sequences use this asset
curl \
--request GET 'http://api.example.com/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/casting' \
--header "Authorization: $API_KEY"
{
"asset_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"casting": [
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"entity_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"entity_name": "SH001",
"entity_type": "shot"
}
]
}
Get shot asset instances
Retrieve all shot asset instances that are linked to a specific asset.
curl \
--request GET 'http://api.example.com/data/assets/a24a6ea4-ce75-4665-a070-57453082c25/shot-asset-instances' \
--header "Authorization: $API_KEY"
[
{
"id": "f79f1jf9-hj20-9110-f625-02908537h70",
"asset_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"shot_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"number": "001",
"description": "Main character instance"
}
]
Get project asset type assets
Retrieve all assets of a specific type within a project.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/asset-types/a24a6ea4-ce75-4665-a070-57453082c25/assets' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Name",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"project_name": "My Project",
"asset_type_name": "Character"
}
]
Get project asset types
Retrieve all asset types available for a specific project
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/asset-types' \
--header "Authorization: $API_KEY"
[
{
"id": "c46c8gc6-eg97-6887-c292-79675204e47",
"name": "Character",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
]
Get shot asset types
Retrieve all asset types of assets that are casted in a specific shot
curl \
--request GET 'http://api.example.com/data/shots/a24a6ea4-ce75-4665-a070-57453082c25/asset-types' \
--header "Authorization: $API_KEY"
[
{
"id": "c46c8gc6-eg97-6887-c292-79675204e47",
"name": "Character",
"shot_id": "d57d9hd7-fh08-7998-d403-80786315f58"
}
]
Get project assets
Retrieve all assets belonging to a specific project with filtering support
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/assets' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Name",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"project_name": "My Project",
"asset_type_name": "Character"
}
]
Set project assets shared
Share or unshare all assets for a specific project or a list of specific assets.
curl \
--request POST 'http://api.example.com/actions/projects/a24a6ea4-ce75-4665-a070-57453082c25/assets/share' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"is_shared":true,"asset_ids":["a24a6ea4-ce75-4665-a070-57453082c25","b35b7fb5-df86-5776-b181-68564193d36"]}'
{
"is_shared": true,
"asset_ids": [
"a24a6ea4-ce75-4665-a070-57453082c25",
"b35b7fb5-df86-5776-b181-68564193d36"
]
}
{
"updated_count": 5,
"project_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
Get shared assets used in episode
Retrieve all shared assets that are used in a specific project episode.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/episodes/a24a6ea4-ce75-4665-a070-57453082c25/assets/shared-used' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Name",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"entity_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"is_shared": true,
"episode_id": "d57d9hd7-fh08-7998-d403-80786315f58"
}
]
Update entity casting
Modify the casting relationships for a specific entity by updating which assets are linked to it.
curl \
--request PUT 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/entities/a24a6ea4-ce75-4665-a070-57453082c25/casting' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"casting":[{"asset_id":"c46c8gc6-eg97-6887-c292-79675204e47","asset_name":"Main Character"}]}'
{
"casting": [
{
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"asset_name": "Main Character"
}
]
}
{
"entity_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"casting": [
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"asset_name": "Main Character"
}
]
}
Get asset type casting
Retrieve the casting information for all assets of a specific asset type in a project.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/asset-types/g80g2kg0-ik31-0221-g736-13019648i81/casting' \
--header "Authorization: $API_KEY"
[
{
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"asset_name": "Main Character",
"asset_type_id": "g80g2kg0-ik31-0221-g736-13019648i81",
"casting": [
{
"entity_id": "e68e0ie8-gi19-8009-e514-91897426g69",
"entity_name": "SH001",
"entity_type": "shot"
}
]
}
]
Create scene asset instance
Create an asset instance on a specific scene.
curl \
--request POST 'http://api.example.com/data/scenes/i02i4mi2-km53-2443-i958-35231870k03/asset-instances' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"asset_id":"c46c8gc6-eg97-6887-c292-79675204e47","description":"Main character instance"}'
{
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"description": "Main character instance"
}
{
"id": "j13j5nj3-ln64-3554-j069-46342981l14",
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"scene_id": "i02i4mi2-km53-2443-i958-35231870k03",
"number": "001",
"description": "Main character instance"
}
Get shot asset instances
Retrieve all asset instances that are linked to a specific shot.
curl \
--request GET 'http://api.example.com/data/shots/e68e0ie8-gi19-8009-e514-91897426g69/asset-instances' \
--header "Authorization: $API_KEY"
[
{
"id": "h91h3lh1-jl42-1332-h847-24120759j92",
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"shot_id": "e68e0ie8-gi19-8009-e514-91897426g69",
"number": "001",
"description": "Main character instance"
}
]
Add shot asset instance
Add an asset instance to a specific shot.
curl \
--request POST 'http://api.example.com/data/shots/e68e0ie8-gi19-8009-e514-91897426g69/asset-instances' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"asset_instance_id":"h91h3lh1-jl42-1332-h847-24120759j92"}'
{
"asset_instance_id": "h91h3lh1-jl42-1332-h847-24120759j92"
}
{
"id": "e68e0ie8-gi19-8009-e514-91897426g69",
"name": "SH001",
"asset_instances": [
{
"id": "h91h3lh1-jl42-1332-h847-24120759j92",
"asset_id": "c46c8gc6-eg97-6887-c292-79675204e47"
}
]
}
Delete chat message
Delete a specific chat message. Only the message author or administrators can delete messages.
curl \
--request DELETE 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/chat/messages/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Reply to comment
Add a reply to a specific comment. The reply will be added to the comment's replies list.
curl \
--request POST 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25/comments/b35b7fb5-df86-5776-b181-68564193d36/reply' \
--header "Authorization: $API_KEY"
{
"id": "c46c8gc6-eg97-6887-c292-79675204e47",
"comment_id": "b35b7fb5-df86-5776-b181-68564193d36",
"text": "Thanks for the feedback!",
"person_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"created_at": "2023-01-01T12:00:00Z"
}
Download attachment file
Download a specific attachment file from a comment or chat message. Supports various file types including images and documents.
curl \
--request GET 'http://api.example.com/data/attachment-files/a24a6ea4-ce75-4665-a070-57453082c25/file/document.pdf' \
--header "Authorization: $API_KEY"
Add comment attachments
Add one or more files as attachments to a specific comment. Supports various file types including images and documents.
curl \
--request POST 'http://api.example.com/actions/tasks/a24a6ea4-ce75-4665-a070-57453082c25/comments/b35b7fb5-df86-5776-b181-68564193d36/add-attachment' \
--header "Authorization: $API_KEY"
[
{
"id": "d57d9hd7-fh08-7998-d403-80786315f58",
"name": "document.pdf",
"mimetype": "application/pdf",
"size": 1024000,
"comment_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
]
Get project attachment files
Retrieve all attachment files related to a specific project. Requires administrator permissions.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/attachment-files' \
--header "Authorization: $API_KEY"
[
{
"id": "d57d9hd7-fh08-7998-d403-80786315f58",
"name": "document.pdf",
"mimetype": "application/pdf",
"size": 1024000,
"comment_id": "b35b7fb5-df86-5776-b181-68564193d36",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
]
Create task comment
Create a new comment for a specific task. 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 the given task status.
curl \
--request POST 'http://api.example.com/actions/tasks/a24a6ea4-ce75-4665-a070-57453082c25/comment' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"task_status_id":"c46c8gc6-eg97-6887-c292-79675204e47","comment":"This looks great! Ready for review.","person_id":"d57d9hd7-fh08-7998-d403-80786315f58","created_at":"2023-01-01T12:00:00Z","checklist":{"item1":"Check lighting","item2":"Verify textures"},"links":["https://example.com/reference1","https://example.com/reference2"]}'
{
"task_status_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"comment": "This looks great! Ready for review.",
"person_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"created_at": "2023-01-01T12:00:00Z",
"checklist": {
"item1": "Check lighting",
"item2": "Verify textures"
},
"links": [
"https://example.com/reference1",
"https://example.com/reference2"
]
}
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"task_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"comment": "This looks great! Ready for review.",
"task_status_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z"
}
Add task batch comments
Creates new comments for given task. Each comment requires a text, a task_status and a person as arguments. Can include preview files and attachments.
curl \
--request POST 'http://api.example.com/actions/tasks/a24a6ea4-ce75-4665-a070-57453082c25/batch-comment' \
--header "Authorization: $API_KEY" \
--header "Content-Type: multipart/form-data" \
--form "comments=[{"text": "Good work", "task_status_id": "uuid"}]"
[
{}
]
Add tasks batch comments
Creates new comments for given tasks. Each comment requires a task_id, text, a task_status and a person as arguments. Can include preview files and attachments.
curl \
--request POST 'http://api.example.com/actions/tasks/batch-comment' \
--header "Authorization: $API_KEY" \
--header "Content-Type: multipart/form-data" \
--form "comments=[{"task_id": "uuid", "text": "Good work", "task_status_id": "uuid"}]"
[
{}
]
Get concept task types
Retrieve all task types that are related to a specific concept.
curl \
--request GET 'http://api.example.com/data/concepts/a24a6ea4-ce75-4665-a070-57453082c25/task-types' \
--header "Authorization: $API_KEY"
[
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "Concept Art",
"short_name": "CON",
"color": "#FF5733",
"for_entity": "Concept"
}
]
Get concept tasks
Retrieve all tasks that are related to a specific concept.
curl \
--request GET 'http://api.example.com/data/concepts/a24a6ea4-ce75-4665-a070-57453082c25/tasks' \
--header "Authorization: $API_KEY"
[
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "Character Design Task",
"task_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"task_status_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"entity_id": "e68e0ie8-gi19-8009-e514-91897426g69",
"assigned_to": "f79f1jf9-hj20-9010-f625-02998537h80",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Get concept previews
Retrieve all preview files related to a specific concept. Returns them as a dictionary where keys are related task type IDs and values are arrays of previews for that task type.
curl \
--request GET 'http://api.example.com/data/concepts/a24a6ea4-ce75-4665-a070-57453082c25/preview-files' \
--header "Authorization: $API_KEY"
{
"additionalProperty1": [
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "concept_preview_01",
"original_name": "character_concept.jpg",
"file_path": "/previews/concept/concept_preview_01.jpg",
"task_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z"
}
],
"additionalProperty2": [
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "concept_preview_01",
"original_name": "character_concept.jpg",
"file_path": "/previews/concept/concept_preview_01.jpg",
"task_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z"
}
]
}
Get project concepts
Retrieve all concepts that are related to a specific project.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/concepts' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Design",
"description": "Main character concept art",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Create concept
Create a new concept for a specific project with name, description, and optional entity concept links.
curl \
--request POST 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/concepts' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Character Design","description":"Main character concept art","data":{"mood":"heroic","style":"realistic"},"entity_concept_links":["b35b7fb5-df86-5776-b181-68564193d36","c46c8gc6-eg97-6887-c292-79675204e47"]}'
{
"name": "Character Design",
"description": "Main character concept art",
"data": {
"mood": "heroic",
"style": "realistic"
},
"entity_concept_links": [
"b35b7fb5-df86-5776-b181-68564193d36",
"c46c8gc6-eg97-6887-c292-79675204e47"
]
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Design",
"description": "Main character concept art",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"data": {
"mood": "heroic",
"style": "realistic"
},
"created_by": "d57d9hd7-fh08-7998-d403-80786315f58",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z"
}
Get persons
Retrieve all persons. Supports filtering via query parameters and pagination. Admin users can include password hashes. Non-admin users only see minimal information.
Query parameters
-
Page number for pagination
-
Number of results per page
-
Whether to include relations
-
Include password hash (admin only)
curl \
--request GET 'http://api.example.com/data/persons' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Create project
Create a new project with data provided in the request body. JSON format is expected. Validates production_style. For tvshow production type, automatically creates first episode.
curl \
--request POST 'http://api.example.com/data/projects' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Project Name","production_type":"feature","production_style":"2d3d","project_status_id":"a24a6ea4-ce75-4665-a070-57453082c25"}'
{
"name": "Project Name",
"production_type": "feature",
"production_style": "2d3d",
"project_status_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Project Name",
"production_type": "feature",
"production_style": "2d3d",
"project_status_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"first_episode_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get project
Retrieve a project by its ID and return it as a JSON object. Supports including relations. Requires project access.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Project Name",
"production_type": "feature",
"production_style": "2d3d",
"project_status_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"project_status_name": "Open",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete project status
Delete a project status by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/project-status/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get entity types
Retrieve all entity types. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/entity-types' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Update entity type
Update an entity type with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/entity-types/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Character","color":"#FF5734"}'
{
"name": "Updated Character",
"color": "#FF5734"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Character",
"color": "#FF5734",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete entity type
Delete an entity type by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/entity-types/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create entity
Create a new entity with data provided in the request body. JSON format is expected. Requires manager access to the project.
curl \
--request POST 'http://api.example.com/data/entities' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"SH010","project_id":"a24a6ea4-ce75-4665-a070-57453082c25","entity_type_id":"b24a6ea4-ce75-4665-a070-57453082c25","status":"running","data":{"frame_in":1001,"frame_out":1120}}'
{
"name": "SH010",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_type_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"status": "running",
"data": {
"frame_in": 1001,
"frame_out": 1120
}
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "SH010",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_type_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"status": "running",
"data": {
"frame_in": 1001,
"frame_out": 1120
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update entity
Update an entity with data provided in the request body. JSON format is expected. Supports shot versioning when frame data changes.
curl \
--request PUT 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"SH010","data":{"frame_in":1001,"frame_out":1120}}'
{
"name": "SH010",
"data": {
"frame_in": 1001,
"frame_out": 1120
}
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "SH010",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"data": {
"frame_in": 1001,
"frame_out": 1120
}
}
Get task types
Retrieve all task types. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/task-types' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Get task type
Retrieve a task type by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/task-types/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Animation",
"for_entity": "Shot",
"color": "#FF5733",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete task type
Delete a task type by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/task-types/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get task status
Retrieve a task status by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/task-status/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "To Do",
"short_name": "TODO",
"color": "#FF5733",
"is_default": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete task status
Delete a task status by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/task-status/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create project task status link
Create a link between a project and a task status. Sets the priority and roles that can view it on the board.
curl \
--request POST 'http://api.example.com/data/task-status-links' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"project_id":"a24a6ea4-ce75-4665-a070-57453082c25","task_status_id":"b24a6ea4-ce75-4665-a070-57453082c25","priority":1,"roles_for_board":["admin","manager"]}'
{
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"priority": 1,
"roles_for_board": [
"admin",
"manager"
]
}
{
"id": "c24a6ea4-ce75-4665-a070-57453082c25",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"priority": 1,
"roles_for_board": [
"admin",
"manager"
]
}
Create task
Create a task with data provided in the request body. JSON format is expected. The task type must match the entity type.
curl \
--request POST 'http://api.example.com/data/tasks' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"task_type_id":"a24a6ea4-ce75-4665-a070-57453082c25","entity_id":"b24a6ea4-ce75-4665-a070-57453082c25","assignees":["c24a6ea4-ce75-4665-a070-57453082c25"]}'
{
"task_type_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"assignees": [
"c24a6ea4-ce75-4665-a070-57453082c25"
]
}
{
"id": "d24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"assignees": [
"c24a6ea4-ce75-4665-a070-57453082c25"
]
}
Get task
Retrieve a task by its ID and return it as a JSON object. Supports including relations. Requires project and entity access.
curl \
--request GET 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"project_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "e24a6ea4-ce75-4665-a070-57453082c25",
"assignees": [
"f24a6ea4-ce75-4665-a070-57453082c25"
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update task
Update a task with data provided in the request body. JSON format is expected. Requires supervisor access.
curl \
--request PUT 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"task_status_id":"b24a6ea4-ce75-4665-a070-57453082c25","assignees":["c24a6ea4-ce75-4665-a070-57453082c25"],"duration":8.5}'
{
"task_status_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"assignees": [
"c24a6ea4-ce75-4665-a070-57453082c25"
],
"duration": 8.5
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"project_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "e24a6ea4-ce75-4665-a070-57453082c25",
"assignees": [
"f24a6ea4-ce75-4665-a070-57453082c25"
],
"duration": 8.5,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete task
Delete a task by its ID. Returns empty response on success. May require force flag if task has associated data.
curl \
--request DELETE 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get departments
Retrieve all departments. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/departments' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Create department
Create a new department with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/departments' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Animation","color":"#FF5733"}'
{
"name": "Animation",
"color": "#FF5733"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Animation",
"color": "#FF5733",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get department
Retrieve a department by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Animation",
"color": "#FF5733",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete department
Delete a department by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get organisations
Retrieve all organisations. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/organisations' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Get file status
Retrieve a file status by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/file-status/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Approved",
"color": "#00FF00",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update file status
Update a file status with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/file-status/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Rejected","color":"#FF0000"}'
{
"name": "Rejected",
"color": "#FF0000"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Rejected",
"color": "#FF0000",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Get models
Retrieve all entries for the given model. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/softwares' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Update model
Update a model instance with data provided in the request body. JSON format is expected. Model performs validation automatically when fields are modified.
curl \
--request PUT 'http://api.example.com/data/softwares/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Model Name"}'
{
"name": "Updated Model Name"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Model Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete model
Delete a model instance by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/softwares/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get hardware items
Retrieve all hardware items. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/hardware-items' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Get hardware item
Retrieve a hardware item by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/hardware-items/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Workstation 01",
"serial_number": "SN123456",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update hardware item
Update a hardware item with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/hardware-items/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Workstation 01","serial_number":"SN123457"}'
{
"name": "Updated Workstation 01",
"serial_number": "SN123457"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Workstation 01",
"serial_number": "SN123457",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Get models
Retrieve all entries for the given model. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/output-files' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Create model
Create a new model instance with data provided in the request body. JSON format is expected. The model performs validation automatically when instantiated.
curl \
--request POST 'http://api.example.com/data/output-files' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Model Name"}'
{
"name": "Model Name"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Model Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete model
Delete a model instance by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/output-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get models
Retrieve all entries for the given model. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/output-types' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Create model
Create a new model instance with data provided in the request body. JSON format is expected. The model performs validation automatically when instantiated.
curl \
--request POST 'http://api.example.com/data/output-types' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Model Name"}'
{
"name": "Model Name"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Model Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete model
Delete a model instance by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/output-types/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get preview files
Retrieve all preview files. Supports filtering via query parameters and pagination. Includes project permission filtering. Vendor users only see assigned tasks.
curl \
--request GET 'http://api.example.com/data/preview-files' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Delete preview file
Delete a preview file by its ID. Returns empty response on success. May require force flag if file has associated data.
curl \
--request DELETE 'http://api.example.com/data/preview-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Update working file
Update a working file with data provided in the request body. JSON format is expected. Requires task action access.
curl \
--request PUT 'http://api.example.com/data/working-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"updated_work_file_v001","revision":2}'
{
"name": "updated_work_file_v001",
"revision": 2
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "updated_work_file_v001",
"task_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"revision": 2,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete working file
Delete a working file by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/working-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create attachment file
Create a new attachment file with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/attachment-files' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"attachment.pdf","comment_id":"a24a6ea4-ce75-4665-a070-57453082c25"}'
{
"name": "attachment.pdf",
"comment_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "attachment.pdf",
"comment_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update attachment file
Update an attachment file with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/attachment-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"updated_attachment.pdf"}'
{
"name": "updated_attachment.pdf"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "updated_attachment.pdf",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete attachment file
Delete an attachment file by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/attachment-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create comment
Create a new comment with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/comments' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"object_id":"a24a6ea4-ce75-4665-a070-57453082c25","person_id":"b24a6ea4-ce75-4665-a070-57453082c25","task_status_id":"c24a6ea4-ce75-4665-a070-57453082c25","text":"Comment text"}'
{
"object_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"text": "Comment text"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"text": "Comment text",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get comment
Retrieve a comment by its ID and return it as a JSON object. Supports including relations. Client users can only see their own comments or comments from other clients.
curl \
--request GET 'http://api.example.com/data/comments/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"text": "Comment text",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update comment
Update a comment with data provided in the request body. JSON format is expected. May update task status if task_status_id is changed.
curl \
--request PUT 'http://api.example.com/data/comments/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"text":"Updated comment text","task_status_id":"b24a6ea4-ce75-4665-a070-57453082c25","pinned":true,"checklist":[{"text":"Item 1","checked":false}]}'
{
"text": "Updated comment text",
"task_status_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"pinned": true,
"checklist": [
{
"text": "Item 1",
"checked": false
}
]
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"task_status_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"text": "Updated comment text",
"pinned": true,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Get time spents
Retrieve all time spent records. Supports filtering via query parameters and pagination. Supports date range filtering with start_date and end_date.
Query parameters
-
Page number for pagination
-
Number of results per page
-
Whether to include relations
-
Start date for date range filter
-
End date for date range filter
curl \
--request GET 'http://api.example.com/data/time-spents/' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Delete time spent
Delete a time spent record by its ID. Returns empty response on success. Updates task duration automatically.
curl \
--request DELETE 'http://api.example.com/data/time-spents/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create day off
Create a new day off with data provided in the request body. JSON format is expected. Deletes overlapping time spent entries.
curl \
--request POST 'http://api.example.com/data/day-offs/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"date":"2024-01-15","end_date":"2024-01-20","person_id":"a24a6ea4-ce75-4665-a070-57453082c25"}'
{
"date": "2024-01-15",
"end_date": "2024-01-20",
"person_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"date": "2024-01-15",
"end_date": "2024-01-20",
"person_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Create custom action
Create a new custom action with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/custom-actions/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Custom Action Name","url_pattern":"/api/actions/{id}"}'
{
"name": "Custom Action Name",
"url_pattern": "/api/actions/{id}"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Custom Action Name",
"url_pattern": "/api/actions/{id}",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get custom action
Retrieve a custom action by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/custom-actions/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Custom Action Name",
"url_pattern": "/api/actions/{id}",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete custom action
Delete a custom action by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/custom-actions/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get asset instances
Retrieve all asset instances. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/asset-instances/' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Get asset instance
Retrieve an asset instance by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/asset-instances/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"asset_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"name": "Instance Name",
"number": 1,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get playlists
Retrieve all playlists. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/playlists/' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Create playlist
Create a new playlist with data provided in the request body. JSON format is expected. Requires supervisor access to the project.
curl \
--request POST 'http://api.example.com/data/playlists/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Playlist Name","project_id":"a24a6ea4-ce75-4665-a070-57453082c25","episode_id":"b24a6ea4-ce75-4665-a070-57453082c25","task_type_id":"c24a6ea4-ce75-4665-a070-57453082c25"}'
{
"name": "Playlist Name",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"episode_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "c24a6ea4-ce75-4665-a070-57453082c25"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Playlist Name",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"episode_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update playlist
Update a playlist with data provided in the request body. JSON format is expected. Requires project access. Vendor access is blocked.
curl \
--request PUT 'http://api.example.com/data/playlists/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Playlist Name","shots":[{"entity_id":"b24a6ea4-ce75-4665-a070-57453082c25","preview_file_id":"c24a6ea4-ce75-4665-a070-57453082c25"}]}'
{
"name": "Updated Playlist Name",
"shots": [
{
"entity_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"preview_file_id": "c24a6ea4-ce75-4665-a070-57453082c25"
}
]
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Playlist Name",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"shots": [
{}
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Update event
Update an event with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/events/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Event Name"}'
{
"name": "Updated Event Name"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Event Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete event
Delete an event by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/events/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get notification
Retrieve a notification by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/notifications/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"comment_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"read": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update notification
Update a notification with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/notifications/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"read":true}'
{
"read": true
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"comment_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"read": true,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Get search filter
Retrieve a search filter by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/search-filters/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "My Filter",
"person_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"search_filter_group_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"list_type": "assets",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update search filter
Update a search filter with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/search-filters/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Filter Name","list_type":"shots"}'
{
"name": "Updated Filter Name",
"list_type": "shots"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Filter Name",
"person_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"search_filter_group_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"list_type": "shots",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Get schedule item
Retrieve a schedule item by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/schedule-items/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "d24a6ea4-ce75-4665-a070-57453082c25",
"man_days": 10.5,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete schedule item
Delete a schedule item by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/schedule-items/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create news
Create a new news entry with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/news/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"title":"Project Update","project_id":"a24a6ea4-ce75-4665-a070-57453082c25","content":"News content text"}'
{
"title": "Project Update",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"content": "News content text"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"title": "Project Update",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"content": "News content text",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get news
Retrieve a news entry by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/news/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"title": "Project Update",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"content": "News content text",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update news
Update a news entry with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/news/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"title":"Updated Project Update","content":"Updated news content text"}'
{
"title": "Updated Project Update",
"content": "Updated news content text"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"title": "Updated Project Update",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"content": "Updated news content text",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Create metadata descriptor
Create a new metadata descriptor with data provided in the request body. JSON format is expected. Validates data_type.
curl \
--request POST 'http://api.example.com/data/metadata-descriptors/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Custom Field","field_name":"custom_field","data_type":"text","project_id":"a24a6ea4-ce75-4665-a070-57453082c25","entity_type":"Asset"}'
{
"name": "Custom Field",
"field_name": "custom_field",
"data_type": "text",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_type": "Asset"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Custom Field",
"field_name": "custom_field",
"data_type": "text",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_type": "Asset",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get metadata descriptor
Retrieve a metadata descriptor by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/metadata-descriptors/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Custom Field",
"field_name": "custom_field",
"data_type": "text",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_type": "Asset",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get subscriptions
Retrieve all subscriptions. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/subscriptions/' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Delete subscription
Delete a subscription by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/subscriptions/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create entity link
Create a new entity link with data provided in the request body. JSON format is expected. Links entities together in casting relationships.
curl \
--request POST 'http://api.example.com/data/entity-links/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"entity_in_id":"a24a6ea4-ce75-4665-a070-57453082c25","entity_out_id":"b24a6ea4-ce75-4665-a070-57453082c25","nb_occurences":1,"label":"fixed"}'
{
"entity_in_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_out_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"nb_occurences": 1,
"label": "fixed"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_in_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_out_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"nb_occurences": 1,
"label": "fixed",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get entity link
Retrieve an entity link by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/entity-links/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"entity_in_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"entity_out_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"nb_occurences": 1,
"label": "fixed",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete entity link
Delete an entity link by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/entity-links/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Create chat
Create a new chat with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/chats/' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"object_id":"a24a6ea4-ce75-4665-a070-57453082c25","object_type":"Asset","name":"Chat Name"}'
{
"object_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_type": "Asset",
"name": "Chat Name"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"object_type": "Asset",
"name": "Chat Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get chat
Retrieve a chat by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/chats/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"object_type": "Asset",
"name": "Chat Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update chat
Update a chat with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/chats/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Chat Name"}'
{
"name": "Updated Chat Name"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"object_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"object_type": "Asset",
"name": "Updated Chat Name",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Update chat message
Update a chat message with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/chat-messages/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"text":"Updated message text"}'
{
"text": "Updated message text"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"chat_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"person_id": "c24a6ea4-ce75-4665-a070-57453082c25",
"text": "Updated message text",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Get preview background file
Retrieve a preview background file by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/preview-background-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "background_file_name",
"is_default": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update preview background file
Update a preview background file with data provided in the request body. JSON format is expected. Names must be unique. If is_default is set to true, resets other defaults.
curl \
--request PUT 'http://api.example.com/data/preview-background-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"updated_background_file_name","is_default":true}'
{
"name": "updated_background_file_name",
"is_default": true
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "updated_background_file_name",
"is_default": true,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Delete preview background file
Delete a preview background file by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/preview-background-files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get studios
Retrieve all studios. Supports filtering via query parameters and pagination.
curl \
--request GET 'http://api.example.com/data/studios' \
--header "Authorization: $API_KEY"
[
{}
]
{
"data": [
{}
],
"total": 100,
"nb_pages": 2,
"limit": 50,
"offset": 0,
"page": 1
}
Delete studio
Delete a studio by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/studios/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Delete salary scale
Delete a salary scale by its ID. Returns empty response on success.
curl \
--request DELETE 'http://api.example.com/data/salary-scales/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Get plugin
Retrieve a plugin by its ID and return it as a JSON object. Supports including relations.
curl \
--request GET 'http://api.example.com/data/plugins/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Plugin Name",
"active": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Update plugin
Update a plugin with data provided in the request body. JSON format is expected.
curl \
--request PUT 'http://api.example.com/data/plugins/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Updated Plugin Name","active":true}'
{
"name": "Updated Plugin Name",
"active": true
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Updated Plugin Name",
"active": true,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
Create plugin
Create a new plugin with data provided in the request body. JSON format is expected.
curl \
--request POST 'http://api.example.com/data/plugins' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Plugin Name","active":false}'
{
"name": "Plugin Name",
"active": false
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Plugin Name",
"active": false,
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Create production schedule version
Create a new production schedule version with data provided in the request body. JSON format is expected. Requires manager access to the project.
curl \
--request POST 'http://api.example.com/data/production-schedule-versions' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Schedule Version 1","project_id":"a24a6ea4-ce75-4665-a070-57453082c25"}'
{
"name": "Schedule Version 1",
"project_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Schedule Version 1",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Get production schedule version
Retrieve a production schedule version by its ID and return it as a JSON object. Supports including relations. Vendor and client access is blocked. Requires project access.
curl \
--request GET 'http://api.example.com/data/production-schedule-versions/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Schedule Version 1",
"project_id": "b24a6ea4-ce75-4665-a070-57453082c25",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T10:30:00Z"
}
Delete production schedule version task link
Delete a production schedule version task link by its ID. Returns empty response on success. Requires manager access to the project.
curl \
--request DELETE 'http://api.example.com/data/production-schedule-version-task-links/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
Add software license to department
Associate a software license with a specific department. This allows the department to use the specified software in budget forecasting.
curl \
--request POST 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25/software-licenses' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"software_id":"b35b7fb5-df86-5776-b181-68564193d36"}'
{
"software_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
{
"id": "c46c8gc6-eg97-6887-c292-79675204e47",
"department_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"software_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z"
}
Get department software licenses
Retrieve all software items that are associated with a specific department.
curl \
--request GET 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25/software-licenses/{software_id}' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Maya",
"short_name": "MAYA",
"file_extension": ".ma",
"department_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Remove software license from department
Remove a software license from a specific department. This disassociates the software license from the department.
curl \
--request DELETE 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25/software-licenses/b35b7fb5-df86-5776-b181-68564193d36' \
--header "Authorization: $API_KEY"
Get all department hardware items
Retrieve all hardware items organized by department. Returns a dictionary where each department contains its associated hardware items.
curl \
--request GET 'http://api.example.com/data/departments/hardware-items' \
--header "Authorization: $API_KEY"
{
"additionalProperty1": [
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Workstation",
"description": "High-performance workstation",
"department_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
],
"additionalProperty2": [
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Workstation",
"description": "High-performance workstation",
"department_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
}
Add hardware item to department
Associate a hardware item with a specific department. This allows the department to use the specified hardware in budget forecasting.
curl \
--request POST 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25/hardware-items' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"hardware_item_id":"b35b7fb5-df86-5776-b181-68564193d36"}'
{
"hardware_item_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
{
"id": "c46c8gc6-eg97-6887-c292-79675204e47",
"department_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"hardware_item_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z"
}
Get department hardware items
Retrieve all hardware items that are associated with a specific department.
curl \
--request GET 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25/hardware-items/{hardware_item_id}' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Workstation",
"description": "High-performance workstation",
"department_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Remove hardware item from department
Remove a hardware item from a specific department. This disassociates the hardware from the department.
curl \
--request DELETE 'http://api.example.com/data/departments/a24a6ea4-ce75-4665-a070-57453082c25/hardware-items/b35b7fb5-df86-5776-b181-68564193d36' \
--header "Authorization: $API_KEY"
Get edits and tasks
Retrieve all edits with project name and all related tasks.
curl \
--request GET 'http://api.example.com/data/edits/with-tasks' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Opening Sequence",
"description": "Main opening sequence edit",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"project_name": "My Animation Project",
"episode_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"tasks": [
{
"id": "d57d9hd7-fh08-7998-d403-80786315f58",
"name": "Edit Task",
"task_type_id": "e68e0ie8-gi19-8009-e514-91897426g69"
}
],
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Get edit tasks
Retrieve all tasks that are related to a specific edit.
curl \
--request GET 'http://api.example.com/data/edits/a24a6ea4-ce75-4665-a070-57453082c25/tasks' \
--header "Authorization: $API_KEY"
[
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "Edit Task",
"task_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"task_status_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"entity_id": "e68e0ie8-gi19-8009-e514-91897426g69",
"assigned_to": "f79f1jf9-hj20-9010-f625-02998537h80",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Get edit previews
Retrieve all preview files related to a specific edit. Returns them as a dictionary where keys are related task type IDs and values are arrays of previews for that task type.
curl \
--request GET 'http://api.example.com/data/edits/a24a6ea4-ce75-4665-a070-57453082c25/preview-files' \
--header "Authorization: $API_KEY"
{
"additionalProperty1": [
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "edit_preview_01",
"original_name": "edit_sequence.mov",
"file_path": "/previews/edit/edit_preview_01.mov",
"task_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z"
}
],
"additionalProperty2": [
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "edit_preview_01",
"original_name": "edit_sequence.mov",
"file_path": "/previews/edit/edit_preview_01.mov",
"task_type_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z"
}
]
}
Get episode edits
Retrieve all edits that are related to a specific episode.
curl \
--request GET 'http://api.example.com/data/episodes/a24a6ea4-ce75-4665-a070-57453082c25/edits' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Episode Edit",
"description": "Main episode edit",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"episode_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Get project edits
Retrieve all edits that are related to a specific project.
curl \
--request GET 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/edits' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Opening Sequence",
"description": "Main opening sequence edit",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"episode_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Create edit
Create a new edit for a specific project with name, description, and optional episode association.
curl \
--request POST 'http://api.example.com/data/projects/a24a6ea4-ce75-4665-a070-57453082c25/edits' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"Opening Sequence","description":"Main opening sequence edit","data":{"fps":24,"duration":120},"episode_id":"b35b7fb5-df86-5776-b181-68564193d36"}'
{
"name": "Opening Sequence",
"description": "Main opening sequence edit",
"data": {
"fps": 24,
"duration": 120
},
"episode_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Opening Sequence",
"description": "Main opening sequence edit",
"project_id": "b35b7fb5-df86-5776-b181-68564193d36",
"episode_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"data": {
"fps": 24,
"duration": 120
},
"created_by": "d57d9hd7-fh08-7998-d403-80786315f58",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:00:00Z"
}
Get entity time spent
Retrieve all time spent entries that are linked to a specific entity.
curl \
--request GET 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/time-spents' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"duration": 2.5,
"date": "2023-12-07",
"created_at": "2023-01-01T12:00:00Z",
"person_id": "b35b7fb5-df86-5776-b181-68564193d36",
"entity_id": "c46c8gc6-eg97-6887-c292-79675204e47"
}
]
Get linked entities
Retrieve all entities that are linked to a specific entity along with their associated tasks. This includes related entities, dependencies, and hierarchical relationships.
curl \
--request GET 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/entities-linked/with-tasks' \
--header "Authorization: $API_KEY"
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Character Model",
"entity_type_id": "b35b7fb5-df86-5776-b181-68564193d36",
"project_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"parent_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"tasks": [
{
"id": "e68e0ie8-gi19-8009-e514-91897426g69",
"name": "Modeling Task",
"task_type_id": "f79f1jf9-hj20-9010-f625-02998537h80"
}
]
}
]
curl \
--request GET 'http://api.example.com/export/csv/tasks.csv' \
--header "Authorization: $API_KEY"
Project,Task Type,Episode,Sequence,Entity Type,Entity,Assigner,Assignees,Duration,Estimation,Start date,Due date,WIP date,Validation date,Task Status Project A,Animation,EP01,SQ01,Shot,SH010,John Doe,Jane Doe,480,600,2024-01-01,2024-01-15,2024-01-05,2024-01-20,WIP
curl \
--request GET 'http://api.example.com/export/csv/task-types.csv' \
--header "Authorization: $API_KEY"
Department,Name Animation,Animation Modeling,Modeling
Get file information
Retrieve information about a file that could be either a working file or an output file. Returns detailed file metadata and properties.
curl \
--request GET 'http://api.example.com/data/files/a24a6ea4-ce75-4665-a070-57453082c25' \
--header "Authorization: $API_KEY"
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "main",
"path": "/project/asset/working/main_v001.blend",
"revision": 1,
"updated_at": "2023-01-01T12:00:00Z",
"task_id": "c46c8gc6-eg97-6887-c292-79675204e47",
"entity_id": "d57d9hd7-fh08-7998-d403-80786315f58"
}
Get last working files
Retrieve the last working file revisions for each file name for a given task. Returns the most recent version of each working file.
curl \
--request GET 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25/working-files/last-revisions' \
--header "Authorization: $API_KEY"
{
"additionalProperty1": {
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "main",
"revision": 3,
"updated_at": "2023-01-01T12:00:00Z"
},
"additionalProperty2": {
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "main",
"revision": 3,
"updated_at": "2023-01-01T12:00:00Z"
}
}
Generate working file path
Generate a working file path from file tree template based on task parameters. Revision can be computed automatically if not provided.
curl \
--request POST 'http://api.example.com/data/tasks/a24a6ea4-ce75-4665-a070-57453082c25/working-file-path' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"main","mode":"working","software_id":"a24a6ea4-ce75-4665-a070-57453082c25","comment":"Updated lighting","revision":1,"separator":"/"}'
{
"name": "main",
"mode": "working",
"software_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"comment": "Updated lighting",
"revision": 1,
"separator": "/"
}
{
"path": "/project/asset/working/main_v001.blend",
"name": "main_v001.blend"
}
Get next instance output file revision
Get the next revision number for an output file based on asset instance, output type, task type, and name. Used for automatic revision numbering.
curl \
--request POST 'http://api.example.com/data/asset-instances/a24a6ea4-ce75-4665-a070-57453082c25/entities/b35b7fb5-df86-5776-b181-68564193d36/output-files/next-revision' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"main","output_type_id":"a24a6ea4-ce75-4665-a070-57453082c25","task_type_id":"b35b7fb5-df86-5776-b181-68564193d36"}'
{
"name": "main",
"output_type_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "b35b7fb5-df86-5776-b181-68564193d36"
}
{
"next_revision": 2
}
Get instance output type files
Retrieve all output files for a given asset instance, temporal entity, and output type. Optionally filter by representation.
curl \
--request GET 'http://api.example.com/data/asset-instances/a24a6ea4-ce75-4665-a070-57453082c25/entities/b35b7fb5-df86-5776-b181-68564193d36/output-types/c46c8gc6-eg97-6887-c292-79675204e47/output-files' \
--header "Authorization: $API_KEY"
[
{
"id": "d57d9hd7-fh08-7998-d403-80786315f58",
"name": "main",
"revision": 1,
"path": "/project/asset/instance/output/main_v001.mp4",
"updated_at": "2023-01-01T12:00:00Z",
"asset_instance_id": "e68e0ie8-gi19-8009-e514-91897426g69",
"temporal_entity_id": "f79f1jf9-hj20-9010-f625-a09008537h80"
}
]
Generate instance output file path
Generate an output file path from file tree template based on asset instance parameters. Revision can be computed automatically if not provided.
curl \
--request POST 'http://api.example.com/data/asset-instances/a24a6ea4-ce75-4665-a070-57453082c25/entities/b35b7fb5-df86-5776-b181-68564193d36/output-file-path' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"main","mode":"output","output_type_id":"a24a6ea4-ce75-4665-a070-57453082c25","task_type_id":"b35b7fb5-df86-5776-b181-68564193d36","extension":".mp4","representation":"mp4","revision":1,"separator":"/"}'
{
"name": "main",
"mode": "output",
"output_type_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "b35b7fb5-df86-5776-b181-68564193d36",
"extension": ".mp4",
"representation": "mp4",
"revision": 1,
"separator": "/"
}
{
"folder_path": "/project/asset/instance/output",
"file_name": "main_v001.mp4"
}
Get entity working files
Retrieve all working files for a given entity with optional filtering by task and name. Returns complete list of working files with their revisions.
curl \
--request GET 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/working-files' \
--header "Authorization: $API_KEY"
[
{
"id": "c46c8gc6-eg97-6887-c292-79675204e47",
"name": "main",
"revision": 1,
"path": "/project/asset/working/main_v001.blend",
"updated_at": "2023-01-01T12:00:00Z",
"task_id": "d57d9hd7-fh08-7998-d403-80786315f58",
"entity_id": "e68e0ie8-gi19-8009-e514-91897426g69"
}
]
Get entity output types
Retrieve all types of output files generated for a given entity. Returns list of output types available for the entity.
curl \
--request GET 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/output-types' \
--header "Authorization: $API_KEY"
[
{
"id": "b35b7fb5-df86-5776-b181-68564193d36",
"name": "Cache",
"short_name": "CACHE",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
]
Get entity output files
Retrieve all output files for a given entity with optional filtering by output type, task type, representation, file status, and name.
curl \
--request GET 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/output-files' \
--header "Authorization: $API_KEY"
[
{
"id": "e68e0ie8-gi19-8009-e514-91897426g69",
"name": "main",
"revision": 1,
"path": "/project/asset/output/main_v001.mp4",
"updated_at": "2023-01-01T12:00:00Z",
"entity_id": "f79f1jf9-hj20-9010-f625-a09008537h80"
}
]
Generate entity output file path
Generate an output file path from file tree template based on entity parameters. Revision can be computed automatically if not provided.
curl \
--request POST 'http://api.example.com/data/entities/a24a6ea4-ce75-4665-a070-57453082c25/output-file-path' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"name":"main","mode":"output","output_type_id":"a24a6ea4-ce75-4665-a070-57453082c25","task_type_id":"a24a6ea4-ce75-4665-a070-57453082c25","extension":".mp4","representation":"mp4","revision":1,"separator":"/"}'
{
"name": "main",
"mode": "output",
"output_type_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"task_type_id": "a24a6ea4-ce75-4665-a070-57453082c25",
"extension": ".mp4",
"representation": "mp4",
"revision": 1,
"separator": "/"
}
{
"folder_path": "/project/asset/output",
"file_name": "main_v001.mp4"
}
Download working file
Download a working file from storage. Returns the file content with appropriate headers for caching and attachment.
curl \
--request GET 'http://api.example.com/data/working-files/a24a6ea4-ce75-4665-a070-57453082c25/file' \
--header "Authorization: $API_KEY"
binary data
binary data
binary data
binary data
Store working file
Store a working file in the file storage system. Uploads the file content and associates it with the working file record.
curl \
--request POST 'http://api.example.com/data/working-files/a24a6ea4-ce75-4665-a070-57453082c25/file' \
--header "Authorization: $API_KEY" \
--header "Content-Type: multipart/form-data" \
--form "file=file content"
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "main",
"path": "/project/asset/working/main_v001.blend",
"revision": 1,
"task_id": "b35b7fb5-df86-5776-b181-68564193d36",
"created_at": "2023-01-01T12:00:00Z",
"updated_at": "2023-01-01T12:30:00Z"
}
Import shotgun episodes
Import Shotgun episodes. Send a list of Shotgun episode entries in the JSON body. Returns created or updated episodes.
curl \
--request POST 'http://api.example.com/import/shotgun/episodes' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '[{"id":12345,"code":"EP01","project":{"name":"My Project"},"description":"First episode"}]'
[
{
"id": 12345,
"code": "EP01",
"project": {
"name": "My Project"
},
"description": "First episode"
}
]
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "EP01",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
]
Import shotgun sequences
Import Shotgun sequences. Send a list of Shotgun sequence entries in the JSON body. Returns created or updated sequences linked to episodes.
curl \
--request POST 'http://api.example.com/import/shotgun/sequences' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '[{"id":12345,"code":"SQ01","episode":{"id":11111},"project":{"name":"My Project"},"description":"Main sequence"}]'
[
{
"id": 12345,
"code": "SQ01",
"episode": {
"id": 11111
},
"project": {
"name": "My Project"
},
"description": "Main sequence"
}
]
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "SQ01",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
]
Import shotgun steps
Import Shotgun steps (task types). Send a list of Shotgun step entries in the JSON body. Returns created or updated task types with departments.
curl \
--request POST 'http://api.example.com/import/shotgun/steps' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '[{"id":12345,"code":"Animation Modeling","color":"255,128,0","short_name":"mod","entity_type":"Asset"}]'
[
{
"id": 12345,
"code": "Animation Modeling",
"color": "255,128,0",
"short_name": "mod",
"entity_type": "Asset"
}
]
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "Animation Modeling",
"short_name": "mod",
"color": "#FF8000",
"for_entity": "Asset",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
]
Import shotgun task statuses
Import Shotgun task statuses. Send a list of Shotgun status entries in the JSON body. Returns created or updated task statuses with colors.
curl \
--request POST 'http://api.example.com/import/shotgun/status' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '[{"id":12345,"code":"IP","name":"In Progress","bg_color":"255,128,0"}]'
[
{
"id": 12345,
"code": "IP",
"name": "In Progress",
"bg_color": "255,128,0"
}
]
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "In Progress",
"short_name": "IP",
"color": "#FF8000",
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
]
Import shotgun project connections
Import Shotgun project-user connections. Send a list of Shotgun project connection entries in the JSON body. Returns projects with team members added.
curl \
--request POST 'http://api.example.com/import/shotgun/projectconnections' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '[{"id":12345,"user":{"id":22222},"project":{"id":11111}}]'
[
{
"id": 12345,
"user": {
"id": 22222
},
"project": {
"id": 11111
}
}
]
[
{
"id": "a24a6ea4-ce75-4665-a070-57453082c25",
"name": "My Project",
"team": [
"b35b7fb5-df86-5776-b181-68564193d36"
],
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-15T11:00:00Z"
}
]
Remove shotgun project
Remove a Shotgun project from the database. Provide the Shotgun entry ID in the JSON body.
curl \
--request POST 'http://api.example.com/import/shotgun/remove/project' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"id":12345}'
{
"id": 12345
}
{
"success": true,
"removed_instance_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
Remove shotgun person
Remove a Shotgun person (user) from the database. Provide the Shotgun entry ID in the JSON body.
curl \
--request POST 'http://api.example.com/import/shotgun/remove/person' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"id":12345}'
{
"id": 12345
}
{
"success": true,
"removed_instance_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
Remove shotgun project connection
Remove a Shotgun project-user connection from the database. Provide the Shotgun entry ID in the JSON body.
curl \
--request POST 'http://api.example.com/import/shotgun/remove/projectconnection' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"id":12345}'
{
"id": 12345
}
{
"success": true,
"removed_instance_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
Remove shotgun step
Remove a Shotgun step (task type) from the database. Provide the Shotgun entry ID in the JSON body.
curl \
--request POST 'http://api.example.com/import/shotgun/remove/step' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"id":12345}'
{
"id": 12345
}
{
"success": true,
"removed_instance_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
Remove shotgun task
Remove a Shotgun task from the database. Provide the Shotgun entry ID in the JSON body.
curl \
--request POST 'http://api.example.com/import/shotgun/remove/task' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{"id":12345}'
{
"id": 12345
}
{
"success": true,
"removed_instance_id": "a24a6ea4-ce75-4665-a070-57453082c25"
}
Generate a test event
Generate a main:test event to test the event stream with the Python client or similar.
curl \
--request GET 'http://api.example.com/status/test-event' \
--header "Authorization: $API_KEY"
{
"success": true
}
Get presence logs
Return a CSV file containing the presence logs based on a daily basis for the given month.
curl \
--request GET 'http://api.example.com/data/persons/presence-logs/2022-07' \
--header "Authorization: $API_KEY"
Get week time spents
Get aggregated time spents for given person and week.
curl \
--request GET 'http://api.example.com/data/persons/a24a6ea4-ce75-4665-a070-57453082c25/time-spents/week/2022/35' \
--header "Authorization: $API_KEY"
{
"total_duration": 40.0,
"year": 2022,
"week": 35
}
Get week quota shots
Get ended shots used for quota calculation of this week.
Path parameters
-
Person unique identifier
-
Year to get quota shots for
-
Week number to get quota shots for
curl \
--request GET 'http://api.example.com/data/persons/a24a6ea4-ce75-4665-a070-57453082c25/quota-shots/week/2022/35' \
--header "Authorization: $API_KEY"
[
{}
]
Get time spent weeks table
Return a table giving time spent by user and by week for given year.
curl \
--request GET 'http://api.example.com/data/persons/time-spents/week-table/2022' \
--header "Authorization: $API_KEY"
{}
Invite person
Sends an email to given person to invite him or her to connect to Kitsu.
curl \
--request GET 'http://api.example.com/actions/persons/a24a6ea4-ce75-4665-a070-57453082c25/invite' \
--header "Authorization: $API_KEY"
{
"success": true,
"message": "Email sent"
}