Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/cgwire/zou/llms.txt

Use this file to discover all available pages before exploring further.

Person Endpoints

List Persons

Query Parameters:
page
integer
Page number for pagination
limit
integer
Number of results per page
relations
boolean
default:"false"
Include related entities (departments, etc.)
with_pass_hash
boolean
default:"false"
Include password hash (admin only)
Permissions: All authenticated users (limited view for non-admins) Response:
[
  {
    "id": "person-uuid",
    "first_name": "Jane",
    "last_name": "Smith",
    "email": "jane.smith@studio.com",
    "role": "user",
    "active": true,
    "departments": ["dept-uuid"],
    "has_avatar": false,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z"
  }
]

Create Person

Permissions: Admin only Request Body:
first_name
string
required
Person’s first name
last_name
string
required
Person’s last name
email
string
required
Person’s email (can be null for bots)
password
string
Password (will be encrypted)
role
string
default:"user"
Role: user, admin, supervisor, manager, client, vendor
contract_type
string
default:"open-ended"
Contract type: open-ended, fixed-term, short-term, freelance, apprentice, internship
active
boolean
default:"true"
Whether the person is active
is_bot
boolean
default:"false"
Whether this is a bot/service account
departments
array
Array of department IDs
expiration_date
string
Account expiration date (must be in the future)
Example Request:
{
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@studio.com",
  "password": "securePassword123",
  "role": "user",
  "departments": ["animation-dept-id"],
  "timezone": "America/Los_Angeles"
}
Response:
{
  "id": "person-uuid",
  "first_name": "John",
  "last_name": "Doe",
  "email": "john.doe@studio.com",
  "role": "user",
  "active": true,
  "departments": ["animation-dept-id"],
  "created_at": "2024-01-15T10:30:00Z",
  "updated_at": "2024-01-15T10:30:00Z"
}

Get Person

Path Parameters:
person_id
string
required
Person unique identifier
Query Parameters:
relations
boolean
default:"true"
Include related entities
Permissions: All authenticated users (limited view for non-admins)

Update Person

Path Parameters:
person_id
string
required
Person unique identifier
Permissions:
  • Users can update their own profile (limited fields)
  • Admins can update any user
  • Protected accounts have restrictions
Request Body: Same fields as Create Person (all optional)
Non-admin users cannot modify: role, departments, active, is_bot, archived, studio_id

Delete Person

Path Parameters:
person_id
string
required
Person unique identifier
Query Parameters:
force
boolean
default:"false"
Force deletion even if person has associated data
Permissions: Admin only (cannot delete yourself)

Desktop Login Logs

Get Desktop Login Logs

Path Parameters:
person_id
string
required
Person unique identifier
Permissions: User can view their own logs, managers can view all Response:
[
  {
    "id": "log-uuid",
    "person_id": "person-uuid",
    "date": "2024-03-15T08:30:00Z"
  }
]

Create Desktop Login Log

Path Parameters:
person_id
string
required
Person unique identifier
Request Body:
date
string
required
Login date
Permissions: User can create their own logs, admins can create for anyone

Presence Logs

Get Presence Logs

Path Parameters:
month_date
string
required
Month in YYYY-MM format (e.g., “2024-03”)
Permissions: Admin only Response: CSV file with daily presence data for all active users

Time Tracking

Get Time Spents

Path Parameters:
person_id
string
required
Person unique identifier
Query Parameters:
start_date
string
Start date for range filter (requires end_date)
end_date
string
End date for range filter (requires start_date)
Permissions: Admin only

Get Time Spents for Date

Path Parameters:
person_id
string
required
Person unique identifier
date
string
required
Date in YYYY-MM-DD format
Permissions: User can view their own, managers/supervisors can view team members (filtered by project/department)

Get Year Time Spents

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
Response:
{
  "total_duration": 2080.5,
  "year": 2024
}

Get Month Time Spents

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)
Response:
{
  "total_duration": 173.5,
  "year": 2024,
  "month": 3
}

Get Week Time Spents

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
week
integer
required
Week number (1-52)

Get Day Time Spents

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)
day
integer
required
Day (1-31)

Get All Month Time Spents

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)
Permissions: User can view their own, managers can view team members

Quota Tracking

Get Month Quota Shots

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)
Query Parameters:
count_mode
string
default:"weighted"
Count mode: weighted, weighteddone, feedback, done

Get Week Quota Shots

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
week
integer
required
Week number (1-52)
Query Parameters:
count_mode
string
default:"weighted"
Count mode: weighted, weighteddone, feedback, done

Get Day Quota Shots

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)
day
integer
required
Day (1-31)
Query Parameters:
count_mode
string
default:"weighted"
Count mode: weighted, weighteddone, feedback, done

Time Spent Tables

Get Year Table

Query Parameters:
project_id
string
Filter by project
department_id
string
Filter by department
studio_id
string
Filter by studio

Get Months Table

Path Parameters:
year
integer
required
Year (e.g., 2024)

Get Week Table

Path Parameters:
year
integer
required
Year (e.g., 2024)

Get Day Table

Path Parameters:
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)

Day Offs

Get Day Off

Path Parameters:
person_id
string
required
Person unique identifier
date
string
required
Date in YYYY-MM-DD format

Get Day Offs for Month

Path Parameters:
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)

Get Person Week Day Offs

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
week
integer
required
Week number (1-52)

Get Person Month Day Offs

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)
month
integer
required
Month (1-12)

Get Person Year Day Offs

Path Parameters:
person_id
string
required
Person unique identifier
year
integer
required
Year (e.g., 2024)

Get All Person Day Offs

Path Parameters:
person_id
string
required
Person unique identifier

Person Actions

Invite Person

Path Parameters:
person_id
string
required
Person unique identifier
Permissions: Admin only Response:
{
  "success": true,
  "message": "Email sent"
}

Add to Department

Path Parameters:
person_id
string
required
Person unique identifier
Request Body:
department_id
string
required
Department unique identifier
Permissions: Admin only

Remove from Department

Path Parameters:
person_id
string
required
Person unique identifier
department_id
string
required
Department unique identifier
Permissions: Admin only

Change Password

Path Parameters:
person_id
string
required
Person unique identifier
Request Body:
password
string
required
New password
password_2
string
required
Password confirmation
Permissions: Admin only (cannot change other admin passwords) Response:
{
  "success": true
}

Disable Two-Factor Authentication

Path Parameters:
person_id
string
required
Person unique identifier
Permissions: Admin only (cannot disable for other admins) Response:
{
  "success": true
}

Clear Avatar

Path Parameters:
person_id
string
required
Person unique identifier
Permissions: Admin only

Department Endpoints

List Departments

Query Parameters:
page
integer
Page number for pagination
limit
integer
Number of results per page
relations
boolean
default:"false"
Include related entities
Permissions: All authenticated users Response:
[
  {
    "id": "dept-uuid",
    "name": "Animation",
    "color": "#FF5733",
    "archived": false,
    "created_at": "2024-01-15T10:30:00Z",
    "updated_at": "2024-01-15T10:30:00Z"
  }
]

Create Department

Permissions: Admin only Request Body:
name
string
required
Department name (must be unique)
color
string
required
Color in hex format (e.g., “#FF5733”)
Example Request:
{
  "name": "Animation",
  "color": "#FF5733"
}

Get Department

Path Parameters:
department_id
string
required
Department unique identifier
Query Parameters:
relations
boolean
default:"true"
Include related entities
Permissions: All authenticated users

Update Department

Path Parameters:
department_id
string
required
Department unique identifier
Request Body:
name
string
Department name
color
string
Color in hex format
archived
boolean
Archive status
Permissions: Admin only

Delete Department

Path Parameters:
department_id
string
required
Department unique identifier
Permissions: Admin only

Department Software

Get All Department Software

Permissions: Admin only Response:
{
  "animation-dept-id": [
    {
      "id": "software-uuid",
      "name": "Maya",
      "short_name": "MAYA",
      "file_extension": ".ma",
      "department_id": "animation-dept-id",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ]
}

Get Department Software

Path Parameters:
department_id
string
required
Department unique identifier
Permissions: Admin only

Add Software to Department

Path Parameters:
department_id
string
required
Department unique identifier
Request Body:
software_id
string
required
Software unique identifier
Permissions: Admin only

Remove Software from Department

Path Parameters:
department_id
string
required
Department unique identifier
software_id
string
required
Software unique identifier
Permissions: Admin only

Department Hardware

Get All Department Hardware

Permissions: Admin only Response:
{
  "animation-dept-id": [
    {
      "id": "hardware-uuid",
      "name": "Workstation",
      "description": "High-performance workstation",
      "department_id": "animation-dept-id",
      "created_at": "2024-01-15T10:30:00Z",
      "updated_at": "2024-01-15T10:30:00Z"
    }
  ]
}

Get Department Hardware

Path Parameters:
department_id
string
required
Department unique identifier
Permissions: Admin only

Add Hardware to Department

Path Parameters:
department_id
string
required
Department unique identifier
Request Body:
hardware_item_id
string
required
Hardware item unique identifier
Permissions: Admin only

Remove Hardware from Department

Path Parameters:
department_id
string
required
Department unique identifier
hardware_item_id
string
required
Hardware item unique identifier
Permissions: Admin only

Build docs developers (and LLMs) love