### GET /websites/developers_insightful_io/scheduled_shift_settings Source: https://developers.insightful.io/index Retrieves the scheduled shift settings for a given organization. The response includes details such as clock-in/out times, lateness tolerance, and absence notification settings. ```APIDOC ## GET /websites/developers_insightful_io/scheduled_shift_settings ### Description Retrieves the scheduled shift settings for a given organization. The response includes details such as clock-in/out times, lateness tolerance, and absence notification settings. ### Method GET ### Endpoint /websites/developers_insightful_io/scheduled_shift_settings ### Parameters #### Query Parameters - **organizationId** (string) - Required - The ID of the organization for which to retrieve settings. ### Request Example (No request body for GET request) ### Response #### Success Response (200) - **id** (string) - The unique identifier for the settings. - **organizationId** (string) - The ID of the organization. - **earliestClockIn** (number) - The number of minutes before the scheduled shift start when clock-in is allowed. - **lateThreshold** (number) - The number of minutes of tolerance for lateness. - **latestClockOut** (number) - The number of minutes after the scheduled shift end when clock-out is allowed. - **tolerance** (number) - The number of minutes tolerated for working less than the expected duration. - **notifyIntersection** (number) - The number of minutes after the scheduled shift start when notifications for lateness and absence will be sent. #### Response Example ```json { "id": "set_12345", "organizationId": "org_abcde", "earliestClockIn": 15, "lateThreshold": 5, "latestClockOut": 30, "tolerance": 10, "notifyIntersection": 20 } ``` ``` -------------------------------- ### Break Data API Source: https://developers.insightful.io/index Retrieve details about breaks taken during shifts, including start and end times, user information, and system context. ```APIDOC ## GET /websites/developers_insightful_io/breaks/{id} ### Description Retrieves detailed information about a specific break. ### Method GET ### Endpoint /websites/developers_insightful_io/breaks/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID for the break. #### Query Parameters - **shiftId** (string) - Optional - The ID of the shift the break belongs to. - **start** (number) - Optional - Time in milliseconds when the break started. - **end** (number) - Optional - Time in milliseconds when the break ended. - **timezoneOffset** (number) - Optional - Timezone difference in milliseconds. - **name** (string) - Optional - The name of the user who took the break. - **user** (string) - Optional - The username of the user. - **domain** (string) - Optional - Company domain. - **computer** (string) - Optional - Computer name where the break occurred. - **hwid** (string) - Optional - Hardware ID. - **os** (string) - Optional - Operating system used. - **osVersion** (string) - Optional - Version of the operating system. - **employeeId** (string) - Optional - Employee ID. - **teamId** (string) - Optional - Team ID. - **organizationId** (string) - Optional - Organization ID. - **startTranslated** (number) - Optional - Translated start time (start - timezoneOffset). - **endTranslated** (number) - Optional - Translated end time (end - timezoneOffset). ### Request Example ```json { "example": "No request body needed for GET request" } ``` ### Response #### Success Response (200) - **id** (string) - The ID for the break. - **shiftId** (string) - The ID of shift. - **start** (number) - Time in milliseconds when shift is started. - **end** (number) - Time in milliseconds when shift is ended. - **timezoneOffset** (number) - Timezone difference in milliseconds. - **name** (string) - The name of user. - **user** (string) - The username of user. - **domain** (string) - Company domain. - **computer** (string) - Computer name. - **hwid** (string) - Hardware ID. - **os** (string) - Operating system. - **osVersion** (string) - Version of operating system. - **employeeId** (string) - Employee ID. - **teamId** (string) - team ID. - **organizationId** (string) - Organization ID. - **startTranslated** (number) - Translated start time. - **endTranslated** (number) - Translated end time. #### Response Example ```json { "id": "break_123", "shiftId": "shift_67890", "start": 1678886400000, "end": 1678890000000, "timezoneOffset": -18000000, "name": "John Doe", "user": "johndoe", "domain": "example.com", "computer": "DESKTOP-123", "hwid": "HWID_ABC", "os": "Windows", "osVersion": "10.0", "employeeId": "emp_007", "teamId": "team_alpha", "organizationId": "org_main", "startTranslated": 1678868400000, "endTranslated": 1678872000000 } ``` ``` -------------------------------- ### IEmployeeSystemPermissions Model Source: https://developers.insightful.io/index Details system permissions for an employee on a specific computer, including accessibility and recording permissions. ```APIDOC ## IEmployeeSystemPermissions Model ### Description Details system permissions for an employee on a specific computer. ### Key | Format | Description ---|---|--- `computer` | string | Name of the computer from which the permissions were taken. `permissions` | ISystemPermissions | System permissions details. `createdAt` | number | Date in milliseconds when item was created. `updatedAt` | number | Date in milliseconds when item was updated. ``` -------------------------------- ### ISystemPermissions Model Source: https://developers.insightful.io/index Defines system-level permissions such as accessibility and screen/audio recording authorization. ```APIDOC ## ISystemPermissions Model ### Description Defines system-level permissions. ### Key | Format | Description ---|---|--- `accessibility` | string | Options: `authorized`, `denied`, `undetermined`. `screenAndSystemAudioRecording` | string | Options: `authorized`, `denied`, `undetermined`. ``` -------------------------------- ### Project API Source: https://developers.insightful.io/index Provides endpoints for retrieving and managing project information. This includes details such as project ID, name, description, assigned employees, and associated settings. ```APIDOC ## GET /projects ### Description Retrieves a list of projects. ### Method GET ### Endpoint /projects ### Query Parameters - **organizationId** (string) - Required - The ID of the organization to filter projects by. - **archived** (boolean) - Optional - Filter by archived status. - **billable** (boolean) - Optional - Filter by billable status. ### Response #### Success Response (200) - **projects** (array) - An array of project objects. - **id** (string) - The ID for the project - **archived** (boolean) - Is project archived or not - **statuses[]** (string) - Possible statuses for tasks - **priorities[]** (string) - Possible priorities for tasks - **billable** (boolean) - Is project billable or not - **payroll** (object) - Information about payroll - **name** (string) - The name of project - **description** (string) - The description of project - **employees[]** (string) - The employees assigned on project - **creatorId** (string) - The users responsible for project creation - **organizationId** (string) - The ID of organization - **teams** (string) - The array of team IDs to which employees belong - **createdAt** (number) - Date in milliseconds representing when project was created - **screenshotSettings** (object) - Settings for screenshot #### Response Example { "projects": [ { "id": "proj_123", "archived": false, "statuses": ["open", "in_progress", "closed"], "priorities": ["low", "medium", "high"], "billable": true, "payroll": {"rate": 50}, "name": "New Feature Development", "description": "Developing the new user authentication module.", "employees": ["emp_abc", "emp_def"], "creatorId": "user_xyz", "organizationId": "org_789", "teams": ["team_1", "team_2"], "createdAt": 1678886400000, "screenshotSettings": {"captureInterval": 60} } ] } ## GET /projects/{projectId} ### Description Retrieves a specific project by its ID. ### Method GET ### Endpoint /projects/{projectId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project to retrieve. ### Response #### Success Response (200) - **project** (object) - The project object. - **id** (string) - The ID for the project - **archived** (boolean) - Is project archived or not - **statuses[]** (string) - Possible statuses for tasks - **priorities[]** (string) - Possible priorities for tasks - **billable** (boolean) - Is project billable or not - **payroll** (object) - Information about payroll - **name** (string) - The name of project - **description** (string) - The description of project - **employees[]** (string) - The employees assigned on project - **creatorId** (string) - The users responsible for project creation - **organizationId** (string) - The ID of organization - **teams** (string) - The array of team IDs to which employees belong - **createdAt** (number) - Date in milliseconds representing when project was created - **screenshotSettings** (object) - Settings for screenshot #### Response Example { "project": { "id": "proj_123", "archived": false, "statuses": ["open", "in_progress", "closed"], "priorities": ["low", "medium", "high"], "billable": true, "payroll": {"rate": 50}, "name": "New Feature Development", "description": "Developing the new user authentication module.", "employees": ["emp_abc", "emp_def"], "creatorId": "user_xyz", "organizationId": "org_789", "teams": ["team_1", "team_2"], "createdAt": 1678886400000, "screenshotSettings": {"captureInterval": 60} } } ## POST /projects ### Description Creates a new project. ### Method POST ### Endpoint /projects ### Request Body - **name** (string) - Required - The name of the project. - **organizationId** (string) - Required - The ID of the organization. - **description** (string) - Optional - The description of the project. - **billable** (boolean) - Optional - Whether the project is billable. - **employees** (array of strings) - Optional - IDs of employees assigned to the project. - **teams** (array of strings) - Optional - IDs of teams assigned to the project. - **screenshotSettings** (object) - Optional - Settings for screenshots. - **captureInterval** (number) - The interval in seconds for capturing screenshots. ### Request Example { "name": "API Integration", "organizationId": "org_789", "description": "Integrating with third-party APIs.", "billable": true, "employees": ["emp_ghi"], "screenshotSettings": {"captureInterval": 120} } ### Response #### Success Response (201) - **project** (object) - The newly created project object. - **id** (string) - The ID for the project - **archived** (boolean) - Is project archived or not - **statuses[]** (string) - Possible statuses for tasks - **priorities[]** (string) - Possible priorities for tasks - **billable** (boolean) - Is project billable or not - **payroll** (object) - Information about payroll - **name** (string) - The name of project - **description** (string) - The description of project - **employees[]** (string) - The employees assigned on project - **creatorId** (string) - The users responsible for project creation - **organizationId** (string) - The ID of organization - **teams** (string) - The array of team IDs to which employees belong - **createdAt** (number) - Date in milliseconds representing when project was created - **screenshotSettings** (object) - Settings for screenshot #### Response Example { "project": { "id": "proj_456", "archived": false, "statuses": ["open"], "priorities": ["medium"], "billable": true, "payroll": null, "name": "API Integration", "description": "Integrating with third-party APIs.", "employees": ["emp_ghi"], "creatorId": "user_xyz", "organizationId": "org_789", "teams": [], "createdAt": 1678972800000, "screenshotSettings": {"captureInterval": 120} } } ## PUT /projects/{projectId} ### Description Updates an existing project. ### Method PUT ### Endpoint /projects/{projectId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project to update. ### Request Body - **name** (string) - Optional - The name of the project. - **description** (string) - Optional - The description of the project. - **archived** (boolean) - Optional - Whether the project is archived. - **billable** (boolean) - Optional - Whether the project is billable. - **employees** (array of strings) - Optional - IDs of employees assigned to the project. - **teams** (array of strings) - Optional - IDs of teams assigned to the project. - **screenshotSettings** (object) - Optional - Settings for screenshots. - **captureInterval** (number) - The interval in seconds for capturing screenshots. ### Request Example { "description": "Updated description for API Integration.", "archived": true } ### Response #### Success Response (200) - **project** (object) - The updated project object. - **id** (string) - The ID for the project - **archived** (boolean) - Is project archived or not - **statuses[]** (string) - Possible statuses for tasks - **priorities[]** (string) - Possible priorities for tasks - **billable** (boolean) - Is project billable or not - **payroll** (object) - Information about payroll - **name** (string) - The name of project - **description** (string) - The description of project - **employees[]** (string) - The employees assigned on project - **creatorId** (string) - The users responsible for project creation - **organizationId** (string) - The ID of organization - **teams** (string) - The array of team IDs to which employees belong - **createdAt** (number) - Date in milliseconds representing when project was created - **screenshotSettings** (object) - Settings for screenshot #### Response Example { "project": { "id": "proj_456", "archived": true, "statuses": ["open"], "priorities": ["medium"], "billable": true, "payroll": null, "name": "API Integration", "description": "Updated description for API Integration.", "employees": ["emp_ghi"], "creatorId": "user_xyz", "organizationId": "org_789", "teams": [], "createdAt": 1678972800000, "screenshotSettings": {"captureInterval": 120} } } ## DELETE /projects/{projectId} ### Description Deletes a project. ### Method DELETE ### Endpoint /projects/{projectId} ### Parameters #### Path Parameters - **projectId** (string) - Required - The ID of the project to delete. ### Response #### Success Response (204) No content returned on successful deletion. #### Response Example (No content) ``` -------------------------------- ### Window Data API Source: https://developers.insightful.io/index Retrieve detailed information about work windows, including timestamps, project details, billing information, and user/system metadata. This endpoint allows fetching a specific window by its ID. ```APIDOC ## GET /websites/developers_insightful_io/windows/{id} ### Description Retrieves detailed information about a specific work window. ### Method GET ### Endpoint /websites/developers_insightful_io/windows/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The ID for the window. #### Query Parameters - **token** (string) - Optional - Token for authentication or specific retrieval. - **type** (WindowType) - Optional - Type of window to filter by. - **start** (number) - Optional - Time in milliseconds when shift is started. - **end** (number) - Optional - Time in milliseconds when shift is ended. - **timezoneOffset** (number) - Optional - Timezone difference in milliseconds. - **shiftId** (string) - Optional - ID of the shift. - **projectId** (number) - Optional - The ID of the project. - **taskId** (string) - Optional - The ID of the task. - **taskStatus** (string) - Optional - The status of the task. - **taskPriority** (string) - Optional - The priority of the task. - **paid** (boolean) - Optional - Indicates whether the employee is paid for the work. - **billable** (boolean) - Optional - Indicates whether the project is billable. - **overtime** (boolean) - Optional - Indicates whether the window was created during overtime. - **billRate** (number) - Optional - Bill rate for the window. - **overtimeBillRate** (number) - Optional - Overtime bill rate for the window. - **payRate** (number) - Optional - Employee's hourly pay rate. - **overtimePayRate** (number) - Optional - Employee's overtime pay rate. - **note** (string) - Optional - Task note associated with the window. - **name** (string) - Optional - The name of the user associated with the window. - **user** (string) - Optional - The username of the user. - **domain** (string) - Optional - Company domain. - **computer** (string) - Optional - Computer name where the work was done. - **hwid** (string) - Optional - Hardware ID. - **os** (string) - Optional - Operating system used. - **osVersion** (string) - Optional - Version of the operating system. - **employeeId** (string) - Optional - Employee ID. - **teamId** (string) - Optional - Team ID. - **organizationId** (string) - Optional - Organization ID. - **startTranslated** (number) - Optional - Translated start time (start - timezoneOffset). - **endTranslated** (number) - Optional - Translated end time (end - timezoneOffset). - **negativeTime** (number) - Optional - Reserved field. - **deletedScreenshots** (number) - Optional - Count of deleted screenshots during the window. ### Request Example ```json { "example": "No request body needed for GET request" } ``` ### Response #### Success Response (200) - **id** (string) - The ID for the window. - **token** (string) - Token. - **type** (WindowType) - Type of window. - **start** (number) - Time in milliseconds when shift is started. - **end** (number) - Time in milliseconds when shift is ended. - **timezoneOffset** (number) - Timezone difference in milliseconds. - **shiftId** (string) - ID of shift. - **projectId** (number) - The ID of project. - **taskId** (string) - The ID of task. - **taskStatus** (string) - The status of task. - **taskPriority** (string) - The priority of task. - **paid** (boolean) - Indicates whether the employee is paid for the work. - **billable** (boolean) - Indicates whether the project is billable. - **overtime** (boolean) - Indicates whether the window is created while the employee is working overtime. - **billRate** (number) - Bill rate. - **overtimeBillRate** (number) - Overtime bill rate. - **payRate** (number) - Employee's hourly pay rate. - **overtimePayRate** (number) - Overtime bill rate. - **note** (string) - Task note. - **name** (string) - The name of user. - **user** (string) - The username of user. - **domain** (string) - Company domain. - **computer** (string) - Computer name. - **hwid** (string) - Hardware ID. - **os** (string) - Operating system. - **osVersion** (string) - Version of operating system. - **employeeId** (string) - Employee ID. - **teamId** (string) - team ID. - **organizationId** (string) - Organization ID. - **startTranslated** (number) - Translated start time. - **endTranslated** (number) - Translated end time. - **negativeTime** (number) - Reserved field. - **deletedScreenshots** (number) - Count of deleted screenshots during the window. #### Response Example ```json { "id": "win_12345", "token": "tok_abcde", "type": "tracked", "start": 1678886400000, "end": 1678890000000, "timezoneOffset": -18000000, "shiftId": "shift_67890", "projectId": 101, "taskId": "task_xyz", "taskStatus": "in_progress", "taskPriority": "high", "paid": true, "billable": true, "overtime": false, "billRate": 100, "overtimeBillRate": 150, "payRate": 50, "overtimePayRate": 75, "note": "Working on feature X", "name": "John Doe", "user": "johndoe", "domain": "example.com", "computer": "DESKTOP-123", "hwid": "HWID_ABC", "os": "Windows", "osVersion": "10.0", "employeeId": "emp_007", "teamId": "team_alpha", "organizationId": "org_main", "startTranslated": 1678868400000, "endTranslated": 1678872000000, "negativeTime": 0, "deletedScreenshots": 0 } ``` ``` -------------------------------- ### Task API Source: https://developers.insightful.io/index Endpoints for managing tasks within projects. Allows retrieval, creation, and updating of task details including status, priority, and assigned employees. ```APIDOC ## GET /tasks ### Description Retrieves a list of tasks. ### Method GET ### Endpoint /tasks ### Query Parameters - **projectId** (string) - Optional - Filter tasks by project ID. - **organizationId** (string) - Required - The ID of the organization to filter tasks by. - **employeeId** (string) - Optional - Filter tasks by employee ID. ### Response #### Success Response (200) - **tasks** (array) - An array of task objects. - **id** (string) - The ID for the task - **status** (string) - The status for the task - **priority** (string) - The priority for the task - **billable** (boolean) - Is task billable or not - **name** (string) - The name of task - **projectId** (string) - The ID of project task belong to - **employees[]** (string) - Employee IDs working on this project - **description** (string) - The description of task - **creatorId** (string) - The user who create task - **organizationId** (string) - The organization ID - **teams[]** (string) - Team Ids employees belong - **createdAt** (string) - Date in milliseconds representing when task is created #### Response Example { "tasks": [ { "id": "task_abc", "status": "in_progress", "priority": "high", "billable": true, "name": "Implement user login", "projectId": "proj_123", "employees": ["emp_abc"], "description": "Implement secure user login functionality.", "creatorId": "user_xyz", "organizationId": "org_789", "teams": ["team_1"], "createdAt": "1678886400000" } ] } ## GET /tasks/{taskId} ### Description Retrieves a specific task by its ID. ### Method GET ### Endpoint /tasks/{taskId} ### Parameters #### Path Parameters - **taskId** (string) - Required - The ID of the task to retrieve. ### Response #### Success Response (200) - **task** (object) - The task object. - **id** (string) - The ID for the task - **status** (string) - The status for the task - **priority** (string) - The priority for the task - **billable** (boolean) - Is task billable or not - **name** (string) - The name of task - **projectId** (string) - The ID of project task belong to - **employees[]** (string) - Employee IDs working on this project - **description** (string) - The description of task - **creatorId** (string) - The user who create task - **organizationId** (string) - The organization ID - **teams[]** (string) - Team Ids employees belong - **createdAt** (string) - Date in milliseconds representing when task is created #### Response Example { "task": { "id": "task_abc", "status": "in_progress", "priority": "high", "billable": true, "name": "Implement user login", "projectId": "proj_123", "employees": ["emp_abc"], "description": "Implement secure user login functionality.", "creatorId": "user_xyz", "organizationId": "org_789", "teams": ["team_1"], "createdAt": "1678886400000" } } ## POST /tasks ### Description Creates a new task. ### Method POST ### Endpoint /tasks ### Request Body - **name** (string) - Required - The name of the task. - **projectId** (string) - Required - The ID of the project the task belongs to. - **organizationId** (string) - Required - The ID of the organization. - **status** (string) - Optional - The initial status of the task. - **priority** (string) - Optional - The priority of the task. - **billable** (boolean) - Optional - Whether the task is billable. - **employees** (array of strings) - Optional - IDs of employees assigned to the task. - **teams** (array of strings) - Optional - IDs of teams assigned to the task. - **description** (string) - Optional - The description of the task. ### Request Example { "name": "Design database schema", "projectId": "proj_456", "organizationId": "org_789", "priority": "medium", "billable": false, "employees": ["emp_ghi"] } ### Response #### Success Response (201) - **task** (object) - The newly created task object. - **id** (string) - The ID for the task - **status** (string) - The status for the task - **priority** (string) - The priority for the task - **billable** (boolean) - Is task billable or not - **name** (string) - The name of task - **projectId** (string) - The ID of project task belong to - **employees[]** (string) - Employee IDs working on this project - **description** (string) - The description of task - **creatorId** (string) - The user who create task - **organizationId** (string) - The organization ID - **teams[]** (string) - Team Ids employees belong - **createdAt** (string) - Date in milliseconds representing when task is created #### Response Example { "task": { "id": "task_def", "status": "open", "priority": "medium", "billable": false, "name": "Design database schema", "projectId": "proj_456", "employees": ["emp_ghi"], "description": null, "creatorId": "user_xyz", "organizationId": "org_789", "teams": [], "createdAt": "1678972800000" } } ## PUT /tasks/{taskId} ### Description Updates an existing task. ### Method PUT ### Endpoint /tasks/{taskId} ### Parameters #### Path Parameters - **taskId** (string) - Required - The ID of the task to update. ### Request Body - **status** (string) - Optional - The new status of the task. - **priority** (string) - Optional - The new priority of the task. - **billable** (boolean) - Optional - Whether the task is billable. - **name** (string) - Optional - The name of the task. - **description** (string) - Optional - The description of the task. - **employees** (array of strings) - Optional - IDs of employees assigned to the task. - **teams** (array of strings) - Optional - IDs of teams assigned to the task. ### Request Example { "status": "closed", "billable": true } ### Response #### Success Response (200) - **task** (object) - The updated task object. - **id** (string) - The ID for the task - **status** (string) - The status for the task - **priority** (string) - The priority for the task - **billable** (boolean) - Is task billable or not - **name** (string) - The name of task - **projectId** (string) - The ID of project task belong to - **employees[]** (string) - Employee IDs working on this project - **description** (string) - The description of task - **creatorId** (string) - The user who create task - **organizationId** (string) - The organization ID - **teams[]** (string) - Team Ids employees belong - **createdAt** (string) - Date in milliseconds representing when task is created #### Response Example { "task": { "id": "task_def", "status": "closed", "priority": "medium", "billable": true, "name": "Design database schema", "projectId": "proj_456", "employees": ["emp_ghi"], "description": null, "creatorId": "user_xyz", "organizationId": "org_789", "teams": [], "createdAt": "1678972800000" } } ## DELETE /tasks/{taskId} ### Description Deletes a task. ### Method DELETE ### Endpoint /tasks/{taskId} ### Parameters #### Path Parameters - **taskId** (string) - Required - The ID of the task to delete. ### Response #### Success Response (204) No content returned on successful deletion. #### Response Example (No content) ``` -------------------------------- ### Shared Settings API Source: https://developers.insightful.io/index Provides access to shared settings configurations. These settings can be organization-wide defaults or specific configurations. ```APIDOC ## GET /settings/shared ### Description Retrieves a list of shared settings. ### Method GET ### Endpoint /settings/shared ### Query Parameters - **organizationId** (string) - Required - The ID of the organization to retrieve settings for. ### Response #### Success Response (200) - **settings** (array) - An array of shared setting objects. - **id** (string) - The ID for the settings - **name** (string) - The name of the settings - **type** (string) - Type of settings - **settings** (object) - The actual settings configuration - **organizationId** (string) - The ID of organization - **default** (boolean) - Flag to mark if settings is default or not - **createdAt** (string) - Date in milliseconds representing when settings was created #### Response Example { "settings": [ { "id": "set_xyz", "name": "Default Screenshot Settings", "type": "screenshot", "settings": {"captureInterval": 60, "enabled": true}, "organizationId": "org_789", "default": true, "createdAt": "1678886400000" } ] } ## GET /settings/shared/{settingId} ### Description Retrieves a specific shared setting by its ID. ### Method GET ### Endpoint /settings/shared/{settingId} ### Parameters #### Path Parameters - **settingId** (string) - Required - The ID of the shared setting to retrieve. ### Response #### Success Response (200) - **setting** (object) - The shared setting object. - **id** (string) - The ID for the settings - **name** (string) - The name of the settings - **type** (string) - Type of settings - **settings** (object) - The actual settings configuration - **organizationId** (string) - The ID of organization - **default** (boolean) - Flag to mark if settings is default or not - **createdAt** (string) - Date in milliseconds representing when settings was created #### Response Example { "setting": { "id": "set_xyz", "name": "Default Screenshot Settings", "type": "screenshot", "settings": {"captureInterval": 60, "enabled": true}, "organizationId": "org_789", "default": true, "createdAt": "1678886400000" } } ## POST /settings/shared ### Description Creates a new shared setting. ### Method POST ### Endpoint /settings/shared ### Request Body - **name** (string) - Required - The name of the setting. - **type** (string) - Required - The type of the setting (e.g., 'screenshot', 'video'). - **settings** (object) - Required - The configuration object for the settings. - **organizationId** (string) - Required - The ID of the organization this setting belongs to. - **default** (boolean) - Optional - Whether this is the default setting for the organization. ### Request Example { "name": "Video Recording Defaults", "type": "video", "settings": {"recordMode": "always", "maxDuration": 300}, "organizationId": "org_789", "default": false } ### Response #### Success Response (201) - **setting** (object) - The newly created shared setting object. - **id** (string) - The ID for the settings - **name** (string) - The name of the settings - **type** (string) - Type of settings - **settings** (object) - The actual settings configuration - **organizationId** (string) - The ID of organization - **default** (boolean) - Flag to mark if settings is default or not - **createdAt** (string) - Date in milliseconds representing when settings was created #### Response Example { "setting": { "id": "set_pqr", "name": "Video Recording Defaults", "type": "video", "settings": {"recordMode": "always", "maxDuration": 300}, "organizationId": "org_789", "default": false, "createdAt": "1678972800000" } } ## PUT /settings/shared/{settingId} ### Description Updates an existing shared setting. ### Method PUT ### Endpoint /settings/shared/{settingId} ### Parameters #### Path Parameters - **settingId** (string) - Required - The ID of the shared setting to update. ### Request Body - **name** (string) - Optional - The name of the setting. - **settings** (object) - Optional - The configuration object for the settings. - **default** (boolean) - Optional - Whether this is the default setting for the organization. ### Request Example { "settings": {"captureInterval": 120, "enabled": false}, "default": true } ### Response #### Success Response (200) - **setting** (object) - The updated shared setting object. - **id** (string) - The ID for the settings - **name** (string) - The name of the settings - **type** (string) - Type of settings - **settings** (object) - The actual settings configuration - **organizationId** (string) - The ID of organization - **default** (boolean) - Flag to mark if settings is default or not - **createdAt** (string) - Date in milliseconds representing when settings was created #### Response Example { "setting": { "id": "set_xyz", "name": "Default Screenshot Settings", "type": "screenshot", "settings": {"captureInterval": 120, "enabled": false}, "organizationId": "org_789", "default": true, "createdAt": "1678886400000" } } ## DELETE /settings/shared/{settingId} ### Description Deletes a shared setting. ### Method DELETE ### Endpoint /settings/shared/{settingId} ### Parameters #### Path Parameters - **settingId** (string) - Required - The ID of the shared setting to delete. ### Response #### Success Response (204) No content returned on successful deletion. #### Response Example (No content) ``` -------------------------------- ### Video Session Data API Source: https://developers.insightful.io/index Endpoints for retrieving video session data. This includes information about video recordings, duration, participants, and associated projects/tasks. ```APIDOC ## GET /videosessions ### Description Retrieves a list of video sessions. ### Method GET ### Endpoint /videosessions ### Query Parameters - **organization ``` -------------------------------- ### Team Model Source: https://developers.insightful.io/index Represents a team within an organization, including its name, description, associated employees and projects, and settings for tracking productivity. ```APIDOC ## TEAM Model ### Description Represents a team within an organization. ### Key | Format | Description ---|---|--- `id` | string | The ID for the team `ignoreProductive` | boolean | If true, all productive applications won't be tracked for the team `ignoreNeutral` | boolean | If true, all neutral applications won't be tracked for the team `ignoreUnproductive` | boolean | If true, all unproductive applications won't be tracked for the team `ignoreUnreviewed` | boolean | If true, all unreviewed applications won't be tracked for the team `name` | string | The name of team `description` | string | The description of team `organizationId` | string | The ID of the organization which team belongs `default` | boolean | The flag which tells you if team is default `employees[]` | string | Array of all employees in this team `projects[]` | string | Array of all projects in this team `createdAt` | number | Time in milliseconds represents the time when team was created. ``` -------------------------------- ### Screenshot Data API Source: https://developers.insightful.io/index Endpoints for retrieving screenshot data captured by the Developer Insightful agent. This includes metadata about each screenshot. ```APIDOC ## GET /screenshots ### Description Retrieves a list of screenshots. ### Method GET ### Endpoint /screenshots ### Query Parameters - **organizationId** (string) - Required - The ID of the organization. - **projectId** (string) - Optional - Filter by project ID. - **taskId** (string) - Optional - Filter by task ID. - **employeeId** (string) - Optional - Filter by employee ID. - **limit** (number) - Optional - Number of results to return. - **next** (string) - Optional - Cursor for pagination. ### Response #### Success Response (200) - **screenshots** (array) - An array of screenshot objects. - **id** (string) - The ID for item - **site** (string) - Site used when screenshot is taken - **productivity** (number) - Type of productivity - **employeeId** (string) - The ID of employee - **appId** (string) - The ID of app when screenshot is taken - **appOrgId** (string) - The ID of app org - **appTeamId** (string) - The ID of app team - **teamId** (string) - The ID of team - **organizationId** (string) - The ID of organization - **srcEmployeeId** (string) - The ID of merged employee - **srcTeamId** (string) - The team ID of merged employee - **timestampTranslated** (string) - Timestamp in milliseconds translated to UTC - **systemPermissions** (object) - Optional. System permissions if any provided for screenshot. - **next** (string) - Hash value that is used to fetch next batch of data #### Response Example { "screenshots": [ { "id": "ss_1a2b3c", "site": "example.com", "productivity": 0.8, "employeeId": "emp_abc", "appId": "app_111", "appOrgId": "apporg_111", "appTeamId": "appteam_111", "teamId": "team_1", "organizationId": "org_789", "srcEmployeeId": "emp_abc", "srcTeamId": "team_1", "timestampTranslated": "1678972800000", "systemPermissions": null, "next": "some_hash_value" } ] } ``` -------------------------------- ### Employee Model Source: https://developers.insightful.io/index Represents an employee within the Insightful system, including their ID, name, team, account details, system permissions, and organizational information. ```APIDOC ## EMPLOYEE Model ### Description Represents an employee within the Insightful system. ### Key | Format | Description ---|---|--- `id` | string | The ID for the employee `name` | string | The name for employee `teamsId` | string | The ID of team which employee now belongs `sharedSettingsId` | string | The ID of shared settings applied on employee `accountId` | string | The ID of the employee account in Insightful application `identifier` | string | Unique ID of an employee based on email, computer logon or domain logon info `type` | string | Type of shared settings applied on this employee. Values are `personal`, `office` `organizationId` | string | The ID of organization which employee belongs `projects[]` | string | The IDs of projects which employee has access `deactivated` | number | Time in milliseconds represents the time since the employee was deactivated `invited` | number | Time in milliseconds represents the time elapsed from the time the invitation was sent to the acceptance `systemPermissions` | IEmployeeSystemPermissions[] | List of system permissions that employee used per computer. `createdAt` | number | Time in milliseconds represents the time when employee was created. ```