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.
Overview
The Person API provides comprehensive user management capabilities for your Zou/Kitsu instance. This includes creating and managing user accounts, assigning roles and permissions, tracking time and presence, and managing user profiles.User Roles
Zou supports the following user roles with different permission levels:Admin (Studio Manager)
Admin (Studio Manager)
Full access to all resources and settings. Can manage users, projects, and system configuration.
Manager (Production Manager)
Manager (Production Manager)
Can manage projects and view production data. Has access to time tracking and quota reports.
Supervisor
Supervisor
Can supervise specific departments and tasks. Limited to assigned projects and departments.
User (Artist)
User (Artist)
Standard user with access to assigned tasks and projects. Can track their own time and view their assignments.
Client
Client
External client with limited read-only access to approved content.
Vendor
Vendor
External vendor with access to specific outsourced tasks.
Contract Types
Person records support various contract types:- open-ended: Permanent/open-ended contracts
- fixed-term: Fixed-term contracts
- short-term: Short-term contracts
- freelance: Freelance workers
- apprentice: Apprentices
- internship: Interns
Person Fields
Unique identifier for the person
Person’s first name
Person’s last name
Person’s email address (unique for non-bot users)
Phone number
User role:
user, admin, supervisor, manager, client, or vendorPosition type:
supervisor, lead, or artistSeniority level:
senior, mid, or juniorContract type (see Contract Types section)
Whether the person is active in the system
Whether the person is archived
Array of department IDs the person belongs to
Desktop login username for LDAP/SSO integration
Person’s timezone (e.g., “America/New_York”)
Person’s locale for language/localization (e.g., “en_US”)
Daily salary in cents for budgeting calculations
Whether the person has an uploaded avatar
Whether this is a bot/service account
Account expiration date (for temporary accounts)
Last detected presence (based on time tracking or desktop login)
Two-Factor Authentication
Zou supports multiple 2FA methods:- TOTP: Time-based One-Time Password (e.g., Google Authenticator)
- Email OTP: Email-based one-time passwords
- FIDO: FIDO/WebAuthn hardware security keys
Whether TOTP 2FA is enabled
Whether email OTP is enabled
Whether FIDO 2FA is enabled
Preferred 2FA method:
totp, email_otp, or fidoNotification Settings
Whether notifications are enabled
Whether Slack notifications are enabled
Slack user ID for notifications
Whether Mattermost notifications are enabled
Mattermost user ID
Whether Discord notifications are enabled
Discord user ID
LDAP Integration
Whether this user was created via LDAP sync
LDAP unique identifier (unique across all users)
Time Tracking & Presence
Person records track time spent and presence data:Desktop Login Logs
Track when users log in from their desktop applications:Time Spent
Track time spent on tasks by day, week, month, or year:Day Offs
Manage vacation and time off:Quota Tracking
Track shot quotas (completed shots) for performance metrics:count_mode query parameter:
weighted: Count weighted shots (default)weighteddone: Count weighted completed shotsfeedback: Count shots with feedbackdone: Count completed shots
Department Assignment
Users can be assigned to multiple departments:Password Management
Admins can change passwords for users:Admins cannot change passwords for other admin accounts or protected accounts. The system sends an email notification when a password is changed.
Protected Accounts
Accounts listed in thePROTECTED_ACCOUNTS configuration cannot:
- Have their role changed
- Be deactivated
- Have their password changed by other admins (only by themselves)
User Invitations
Invite new users via email:Avatar Management
Clear a user’s avatar:Bot Accounts
Bot accounts (is_bot: true) are special service accounts:
- Can have
nullemail addresses - Generate an access token on creation
- Don’t count against user limits
- Can have expiration dates
access_token for API authentication.
Permissions
Read Permissions
- All authenticated users can view person lists
- Admins see full details
- Managers see safe serialization (no sensitive fields)
- Regular users see minimal information
Create Permissions
- Only admins can create persons
- User limit is checked for active non-bot users
Update Permissions
- Users can update their own profile (limited fields)
- Admins can update any user
- Protected accounts have restrictions
- Some fields require admin permissions (role, active, departments)
Delete Permissions
- Only admins can delete persons
- Users cannot delete themselves
Examples
Create a New User
Update User Role
Get User Time Spent for Month
Assign User to Department
Related Resources
- Person Endpoints - Full API reference
- Department Management - Department organization
- Authentication - Login and authentication