model package
Submodules
model.base_model module
model.client_model module
- class model.client_model.Client(*, id: str = None, name: str, workspaceId: str, archived: bool = False)
Bases:
clockify.model.base_model.BaseModel
- archived: bool
- id_: str
- name: str
- workspace_id: str
- class model.client_model.ClientGetParams(*, archived: bool = None, name: str = None, page: int = 1, page_size: int = 50, sort_column: Literal['NAME'] = None, sort_order: Literal['ASCENDING', 'DESCENDING'] = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'page_size': 'page-size', 'sort_column': 'sort-column', 'sort_order': 'sort-order'}
- archived: bool
- name: str
- page: int
- page_size: int
- sort_column: Literal['NAME']
- sort_order: Literal['ASCENDING', 'DESCENDING']
model.project_model module
- class model.project_model.Estimate(*, estimate: str = None, type: str = None)
Bases:
clockify.model.base_model.BaseModel
- estimate: Optional[str]
- type: Optional[str]
- class model.project_model.HourlyRate(*, amount: str = None, currency: str = None)
Bases:
clockify.model.base_model.BaseModel
- amount: Optional[str]
- currency: Optional[str]
- class model.project_model.MemberShip(*, userId: str = None, hourlyRate: str = None, costRate: str = None, targetId: str = None, membershipType: str = None, membershipStatus: str = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'cost_rate': 'costRate', 'hourly_rate': 'hourlyRate', 'membership_Status': 'membershipStatus', 'membership_Type': 'membershipType', 'target_Id': 'targetId', 'user_Id': 'userId'}
- cost_rate: Optional[str]
- hourly_rate: Optional[str]
- membership_Status: Optional[str]
- membership_Type: Optional[str]
- target_Id: Optional[str]
- user_Id: Optional[str]
- class model.project_model.Project(*, name: str, workspaceId: str, id: str = None, hourlyRate: model.project_model.HourlyRate = None, clientId: str = None, billable: bool = None, memberships: List[model.project_model.MemberShip] = None, color: str = None, estimate: model.project_model.Estimate = None, archived: bool = None, duration: str = None, clientName: str = None, note: str = None, costRate: str = None, timeEstimate: model.project_model.TimeEstimate = None, budgetEstimate: str = None, template: bool = None, public: bool = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'archived': 'archived', 'billable': 'billable', 'budget_estimate': 'budgetEstimate', 'client_id': 'clientId', 'client_name': 'clientName', 'color': 'color', 'cost_rate': 'costRate', 'duration': 'duration', 'estimate': 'estimate', 'hourly_rate': 'hourlyRate', 'id_': 'id', 'memberships': 'memberships', 'name': 'name', 'note': 'note', 'public_': 'public', 'template': 'template', 'time_estimate': 'timeEstimate', 'workspace_id': 'workspaceId'}
- archived: Optional[bool]
- billable: Optional[bool]
- budget_estimate: Optional[str]
- client_id: Optional[str]
- client_name: Optional[str]
- color: Optional[str]
- cost_rate: Optional[str]
- duration: Optional[str]
- estimate: Optional[model.project_model.Estimate]
- hourly_rate: Optional[model.project_model.HourlyRate]
- id_: Optional[str]
- memberships: Optional[List[model.project_model.MemberShip]]
- name: str
- note: Optional[str]
- public_: Optional[bool]
- template: Optional[bool]
- time_estimate: Optional[model.project_model.TimeEstimate]
- workspace_id: str
- class model.project_model.ProjectGetParams(*, hydrated: bool = None, archived: bool = None, name: str = None, page: int = 1, page_size: int = 50, billable: bool = None, clients: List[str] = None, contains_client: bool = None, client_status: Literal['ACTIVE', 'ARCHIVED'] = None, users: List[str] = None, contains_users: bool = None, user_status: Literal['ACTIVE', 'ARCHIVED'] = None, is_template: bool = None, sort_column: Literal['NAME', 'CLIENT_NAME', 'DURATION'] = None, sort_order: Literal['ASCENDING', 'DESCENDING'] = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'client_status': 'client-status', 'contains_client': 'contains-client', 'contains_users': 'contains-users', 'is_template': 'is-template', 'page_size': 'page-size', 'sort_column': 'sort-column', 'sort_order': 'sort-order', 'user_status': 'user-status'}
- archived: Optional[bool]
- billable: Optional[bool]
- client_status: Optional[Literal['ACTIVE', 'ARCHIVED']]
- clients: Optional[List[str]]
- contains_client: Optional[bool]
- contains_users: Optional[bool]
- hydrated: Optional[bool]
- is_template: Optional[bool]
- name: Optional[str]
- page: int
- page_size: int
- sort_column: Optional[Literal['NAME', 'CLIENT_NAME', 'DURATION']]
- sort_order: Optional[Literal['ASCENDING', 'DESCENDING']]
- user_status: Optional[Literal['ACTIVE', 'ARCHIVED']]
- users: Optional[List[str]]
- class model.project_model.TimeEstimate(*, estimate: str = None, type: str = None, resetOption: str = None, active: bool = None, includeNonBillable: bool = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'active': 'active', 'estimate': 'estimate', 'include_non_billable': 'includeNonBillable', 'reset_option': 'resetOption', 'type': 'type'}
- active: Optional[bool]
- estimate: Optional[str]
- include_non_billable: Optional[bool]
- reset_option: Optional[str]
- type: Optional[str]
model.tag_model module
model.task_model module
- class model.task_model.CostRate_HourlyRate(*, amount: int, currency: str)
Bases:
clockify.model.base_model.BaseModel
- amount: int
- currency: str
- class model.task_model.Task(*, id: str = None, name: str, projectId: str, assigneIds: List[str] = [], estimate: str = None, billable: bool = None, hourlyRate: model.task_model.CostRate_HourlyRate = None, costRate: model.task_model.CostRate_HourlyRate = None, status: Literal['ACTIVE', 'Done'] = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'assignee_ids': 'assigneIds', 'cost_rate': 'costRate', 'hourly_rate': 'hourlyRate', 'id_': 'id', 'project_id': 'projectId'}
- assignee_ids: List[str]
- billable: bool
- cost_rate: model.task_model.CostRate_HourlyRate
- estimate: str
- hourly_rate: model.task_model.CostRate_HourlyRate
- id_: str
- name: str
- project_id: str
- status: Literal['ACTIVE', 'Done']
- class model.task_model.TaskGetParams(*, is_active: bool = None, name: str = None, page: int = 1, page_size: int = 50, strict_name_search: bool = None, sort_column: Literal['ID', 'NAME'] = None, sort_order: Literal['ASCENDING', 'DESCENDING'] = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'is_active': 'is-active', 'page_size': 'page-size', 'sort_column': 'sort-column', 'sort_order': 'sort-order', 'strict_name_search': 'strict-name-search'}
- is_active: Optional[bool]
- name: Optional[str]
- page: int
- page_size: int
- sort_column: Optional[Literal['ID', 'NAME']]
- sort_order: Optional[Literal['ASCENDING', 'DESCENDING']]
- strict_name_search: Optional[bool]
model.time_entry_model module
- class model.time_entry_model.CreateTimeEntryDTO(*, start: datetime.datetime, end: datetime.datetime, billable: bool = True, description: str, projectId: str = None, taskId: str = None, tagIds: List[str] = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'project_id': 'projectId', 'tag_ids': 'tagIds', 'task_id': 'taskId'}
- billable: bool
- description: str
- end: datetime.datetime
- project_id: Optional[str]
- start: datetime.datetime
- tag_ids: Optional[List[str]]
- task_id: Optional[str]
- class model.time_entry_model.HourlyRate(*, amount: float = None, currency: str = None)
Bases:
clockify.model.base_model.BaseModel
- amount: Optional[float]
- currency: Optional[str]
- class model.time_entry_model.TimeEntry(*, id: str = None, description: str, tags: List[clockify.model.tag_model.Tag] = None, tagIds: List[str] = None, user: clockify.model.user_model.User = None, userId: str = None, billable: bool = None, task: clockify.model.task_model.Task = None, taskId: str = None, project: clockify.model.project_model.Project = None, projectId: str = None, timeInterval: model.time_entry_model.TimeInterval = None, workspaceId: str = None, hourlyRate: model.time_entry_model.HourlyRate = None, customFieldValues: List[Any], isLocked: bool = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'custom_field_values': 'customFieldValues', 'hourly_rate': 'hourlyRate', 'id_': 'id', 'is_locked': 'isLocked', 'project_id': 'projectId', 'tag_ids': 'tagIds', 'task_id': 'taskId', 'time_interval': 'timeInterval', 'user_id': 'userId', 'workspace_id': 'workspaceId'}
- billable: Optional[bool]
- custom_field_values: List[Any]
- description: str
- hourly_rate: Optional[model.time_entry_model.HourlyRate]
- id_: Optional[str]
- is_locked: Optional[bool]
- project: Optional[clockify.model.project_model.Project]
- project_id: Optional[str]
- tag_ids: Optional[List[str]]
- tags: Optional[List[clockify.model.tag_model.Tag]]
- task: Optional[clockify.model.task_model.Task]
- task_id: Optional[str]
- time_interval: Optional[model.time_entry_model.TimeInterval]
- user: Optional[clockify.model.user_model.User]
- user_id: Optional[str]
- workspace_id: Optional[str]
- class model.time_entry_model.TimeEntryGetParams(*, description: str = None, start: str = None, end: str = None, project: str = None, task: str = None, tags: List[str] = None, project_required: bool = None, task_required: bool = None, hydrated: bool = None, in_progress: bool = None, page: int = 1, page_size: int = 50)
Bases:
clockify.model.base_model.BaseModel
- description: Optional[str]
- end: Optional[str]
- hydrated: Optional[bool]
- in_progress: Optional[bool]
- page: Optional[int]
- page_size: Optional[int]
- project: Optional[str]
- project_required: Optional[bool]
- start: Optional[str]
- tags: Optional[List[str]]
- task: Optional[str]
- task_required: Optional[bool]
model.user_model module
- class model.user_model.Membership(*, userId: str = None, hourlyRate: float = None, costRate: float = None, targetId: str = None, membershipType: str = None, membershipStatus: str = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'cost_rate': 'costRate', 'hourly_rate': 'hourlyRate', 'membership_status': 'membershipStatus', 'membership_type': 'membershipType', 'target_id': 'targetId', 'user_id': 'userId'}
- cost_rate: Optional[float]
- hourly_rate: Optional[float]
- membership_status: Optional[str]
- membership_type: Optional[str]
- target_id: Optional[str]
- user_id: Optional[str]
- class model.user_model.Settings(*, weekStart: Literal['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY'] = None, timeZone: str = None, timeFormat: str = None, dateFormat: str = None, sendNewsletter: str = None, weeklyUpdates: str = None, longRunning: str = None, scheduledReports: str = None, approval: str = None, pto: str = None, alerts: str = None, reminders: str = None, timeTrackingManual: str = None, summaryReportSettings: model.user_model.SummaryReportSettings = None, isCompactViewOn: str = None, dashboardSelection: str = None, dashboardViewType: str = None, dashboardPinToTop: str = None, projectListCollapse: str = None, collapseAllProjectLists: str = None, groupSimilarEntriesDisabled: str = None, myStartOfDay: str = None, projectPickerTaskFilter: str = None, lang: str = None, multiFactorEnabled: str = None, theme: str = None, scheduling: str = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'alerts': 'alerts', 'approval': 'approval', 'collapse_all_project_lists': 'collapseAllProjectLists', 'dashboard_pin_to_top': 'dashboardPinToTop', 'dashboard_selection': 'dashboardSelection', 'dashboard_view_type': 'dashboardViewType', 'date_format': 'dateFormat', 'group_similar_entries_disabled': 'groupSimilarEntriesDisabled', 'is_compact_view_on': 'isCompactViewOn', 'lang': 'lang', 'long_running': 'longRunning', 'multi_factor_enabled': 'multiFactorEnabled', 'my_start_of_day': 'myStartOfDay', 'project_list_collapse': 'projectListCollapse', 'project_picker_task_filter': 'projectPickerTaskFilter', 'pto': 'pto', 'reminders': 'reminders', 'scheduled_reports': 'scheduledReports', 'scheduling': 'scheduling', 'send_newsletter': 'sendNewsletter', 'summary_report_settings': 'summaryReportSettings', 'theme': 'theme', 'time_format': 'timeFormat', 'time_tracking_manual': 'timeTrackingManual', 'time_zone': 'timeZone', 'week_start': 'weekStart', 'weekly_updates': 'weeklyUpdates'}
- alerts: Optional[str]
- approval: Optional[str]
- collapse_all_project_lists: Optional[str]
- dashboard_pin_to_top: Optional[str]
- dashboard_selection: Optional[str]
- dashboard_view_type: Optional[str]
- date_format: Optional[str]
- group_similar_entries_disabled: Optional[str]
- is_compact_view_on: Optional[str]
- lang: Optional[str]
- long_running: Optional[str]
- multi_factor_enabled: Optional[str]
- my_start_of_day: Optional[str]
- project_list_collapse: Optional[str]
- project_picker_task_filter: Optional[str]
- pto: Optional[str]
- reminders: Optional[str]
- scheduled_reports: Optional[str]
- scheduling: Optional[str]
- send_newsletter: Optional[str]
- summary_report_settings: Optional[model.user_model.SummaryReportSettings]
- theme: Optional[str]
- time_format: Optional[str]
- time_tracking_manual: Optional[str]
- time_zone: Optional[str]
- week_start: Optional[Literal['MONDAY', 'TUESDAY', 'WEDNESDAY', 'THURSDAY', 'FRIDAY', 'SATURDAY', 'SUNDAY']]
- weekly_updates: Optional[str]
- class model.user_model.SummaryReportSettings(*, group: str = None, subgroup: str = None)
Bases:
clockify.model.base_model.BaseModel
- group: Optional[str]
- subgroup: Optional[str]
- class model.user_model.User(*, id: str = None, email: str = None, name: str, memberships: List[model.user_model.Membership] = None, profilePicture: str = None, activeWorkspace: str = None, defaultWorkspace: str = None, settings: model.user_model.Settings = None, status: str = None)
Bases:
clockify.model.base_model.BaseModel
- class Config
Bases:
object
- fields = {'active_workspace': 'activeWorkspace', 'default_workspace': 'defaultWorkspace', 'email': 'email', 'id_': 'id', 'memberships': 'memberships', 'name': 'name', 'profile_picture': 'profilePicture', 'settings': 'settings', 'status': 'status'}
- active_workspace: Optional[str]
- default_workspace: Optional[str]
- email: Optional[str]
- id_: Optional[str]
- memberships: Optional[List[model.user_model.Membership]]
- name: str
- profile_picture: Optional[str]
- settings: Optional[model.user_model.Settings]
- status: Optional[str]