type SyncResponse = {
[key: string]: unknown;
calendarAccounts?: {
[key: string]: unknown;
calendarsSyncState?: "error" | "synced" | "syncing";
id: string;
isAllDayTasksEnabled?: boolean;
isDeleted?: boolean;
isEventsEnabled?: boolean;
isTasksEnabled?: boolean;
name: string;
pendingOperationUntil?: string | null;
type: "google" | "microsoft" | "apple";
}[];
calendars?: {
[key: string]: unknown;
accountId: string;
color: string | null;
id: string;
isTaskCalendar?: boolean;
isVisible: boolean;
summary: string;
}[];
collaborators?: {
[key: string]: unknown;
email: string;
fullName: string;
id: string;
imageId: string | null;
timezone: string;
}[];
collaboratorStates?: {
[key: string]: unknown;
isDeleted: boolean;
projectId: string;
state: "active" | "invited";
userId: string;
workspaceRole?: "ADMIN" | "MEMBER" | "GUEST";
}[];
completedInfo?: (
| {
[key: string]: unknown;
archivedSections: number;
completedItems: number;
projectId: string;
}
| {
[key: string]: unknown;
completedItems: number;
id: string;
sectionId: string;
}
| {
[key: string]: unknown;
completedItems: number;
id?: string;
itemId: string;
})[];
dayOrders?: Record<string, number>;
filters?: {
[key: string]: unknown;
color: string;
id: string;
isDeleted: boolean;
isFavorite: boolean;
isFrozen: boolean;
itemOrder: number;
name: string;
query: string;
}[];
folders?: {
[key: string]: unknown;
childOrder: number;
defaultOrder: number;
id: string;
isDeleted: boolean;
name: string;
workspaceId: string;
}[];
fullSync?: boolean;
items?: {
addedAt: Date | null;
addedByUid: string | null;
assignedByUid: string | null;
checked: boolean;
childOrder: number;
completedAt: Date | null;
content: string;
dayOrder: number;
deadline: | {
date: string;
lang: string;
}
| null;
description: string;
due: | {
date: string;
datetime?: string | null;
isRecurring: boolean;
lang?: string | null;
string: string;
timezone?: string | null;
}
| null;
duration: | {
amount: number;
unit: "minute" | "day";
}
| null;
id: string;
isCollapsed: boolean;
isDeleted: boolean;
isUncompletable: boolean;
labels: string[];
parentId: string | null;
priority: number;
projectId: string;
responsibleUid: string | null;
sectionId: string | null;
updatedAt: Date | null;
url: string;
userId: string;
}[];
labels?: {
color: string;
id: string;
isFavorite: boolean;
name: string;
order: number | null;
}[];
liveNotifications?: {
[key: string]: unknown;
assignedByUid?: string;
createdAt: Date;
fromUid: string;
fromUser?: {
email: string;
fullName: string;
id: string;
imageId: string | null;
};
id: string;
invitationId?: string;
invitationSecret?: string;
isDeleted?: boolean;
isUnread: boolean;
itemContent?: string;
itemId?: string;
notificationType: string;
projectId?: string;
projectName?: string;
responsibleUid?: string;
}[];
locations?: Record<string, unknown>[];
notes?: {
[key: string]: unknown;
content: string;
fileAttachment: | {
fileDuration?: number | null;
fileName?: string | null;
fileSize?: number | null;
fileType?: string | null;
fileUrl?: string | null;
image?: string | null;
imageHeight?: number | null;
imageWidth?: number | null;
resourceType: string;
title?: string | null;
uploadState?: "completed" | "pending" | null;
url?: string | null;
}
| null;
id: string;
isDeleted: boolean;
itemId?: string;
postedAt: Date;
postedUid: string;
projectId?: string;
reactions: Record<string, string[]> | null;
uidsToNotify: string[] | null;
}[];
notificationSettings?: Record<string, boolean>;
projectNotes?: {
[key: string]: unknown;
content: string;
fileAttachment: | {
fileDuration?: number | null;
fileName?: string | null;
fileSize?: number | null;
fileType?: string | null;
fileUrl?: string | null;
image?: string | null;
imageHeight?: number | null;
imageWidth?: number | null;
resourceType: string;
title?: string | null;
uploadState?: "completed" | "pending" | null;
url?: string | null;
}
| null;
id: string;
isDeleted: boolean;
itemId?: string;
postedAt: Date;
postedUid: string;
projectId?: string;
reactions: Record<string, string[]> | null;
uidsToNotify: string[] | null;
}[];
projects?: (
| {
canAssignTasks: boolean;
childOrder: number;
color: string;
createdAt: Date | null;
defaultOrder: number;
description: string;
id: string;
inboxProject: boolean;
isArchived: boolean;
isCollapsed: boolean;
isDeleted: boolean;
isFavorite: boolean;
isFrozen: boolean;
isShared: boolean;
name: string;
parentId: string | null;
updatedAt: Date | null;
url: string;
viewStyle: string;
}
| {
access?: {
visibility: "restricted" | "team" | "public";
};
canAssignTasks: boolean;
childOrder: number;
collaboratorRoleDefault: string;
color: string;
createdAt: Date | null;
defaultOrder: number;
description: string;
folderId: string | null;
id: string;
isArchived: boolean;
isCollapsed: boolean;
isDeleted: boolean;
isFavorite: boolean;
isFrozen: boolean;
isInviteOnly: boolean | null;
isLinkSharingEnabled: boolean;
isShared: boolean;
name: string;
role: string | null;
status: string;
updatedAt: Date | null;
url: string;
viewStyle: string;
workspaceId: string;
})[];
projectViewOptionsDefaults?: {
[key: string]: unknown;
calendarSettings?: | {
[key: string]: unknown;
layout?: "WEEK" | "MONTH";
}
| null;
filteredBy?: string | null;
groupedBy?: | "PROJECT"
| "LABEL"
| "ASSIGNEE"
| "ADDED_DATE"
| "DUE_DATE"
| "DEADLINE"
| "PRIORITY"
| "WORKSPACE"
| null;
projectId: string;
showCompletedTasks?: boolean;
sortedBy?: | "PROJECT"
| "ASSIGNEE"
| "ADDED_DATE"
| "DUE_DATE"
| "DEADLINE"
| "PRIORITY"
| "WORKSPACE"
| "MANUAL"
| "ALPHABETICALLY"
| null;
sortOrder?: "ASC" | "DESC" | null;
viewMode?: "LIST" | "BOARD" | "CALENDAR" | null;
}[];
reminders?: (
| {
[key: string]: unknown;
id: string;
isDeleted: boolean;
itemId: string;
locLat: string;
locLong: string;
locTrigger: "on_enter" | "on_leave";
name: string;
notifyUid: string;
projectId?: string;
radius: number;
type: "location";
}
| {
[key: string]: unknown;
due: {
date: string;
datetime?: string | null;
isRecurring: boolean;
lang?: string | null;
string: string;
timezone?: string | null;
};
id: string;
isDeleted: boolean;
isUrgent?: boolean;
itemId: string;
notifyUid: string;
projectId?: string;
type: "absolute";
}
| {
[key: string]: unknown;
due?: {
date: string;
datetime?: string | null;
isRecurring: boolean;
lang?: string | null;
string: string;
timezone?: string | null;
};
id: string;
isDeleted: boolean;
isUrgent?: boolean;
itemId: string;
minuteOffset: number;
notifyUid: string;
projectId?: string;
type: "relative";
})[];
remindersLocation?: {
[key: string]: unknown;
id: string;
isDeleted: boolean;
itemId: string;
locLat: string;
locLong: string;
locTrigger: "on_enter" | "on_leave";
name: string;
notifyUid: string;
projectId?: string;
radius: number;
type: "location";
}[];
roleActions?: Record<string, unknown>[];
sections?: {
addedAt: Date;
archivedAt: Date | null;
id: string;
isArchived: boolean;
isCollapsed: boolean;
isDeleted: boolean;
name: string;
projectId: string;
sectionOrder: number;
updatedAt: Date;
url: string;
userId: string;
}[];
stats?: Record<string, unknown>;
suggestions?: (
| {
[key: string]: unknown;
content: {
locale: string;
templates: {
[key: string]: unknown;
id: string;
name: string;
templateType: "project" | "setup";
}[];
};
isDeleted: boolean;
type: "templates" | "most_used_user_templates";
}
| {
[key: string]: unknown;
content: {
locale: string;
templates: {
[key: string]: unknown;
id: string;
name: string;
templateType: "project" | "setup";
workspaceId: string | null;
}[];
};
isDeleted: boolean;
type: "most_used_workspace_templates";
})[];
syncStatus?: Record<string,
| {
error: string;
errorCode: number;
errorExtra: Record<string, unknown>;
errorTag: string;
httpCode: number;
}
| "ok">;
syncToken?: string;
tempIdMapping?: Record<string, string>;
tooltips?: {
[key: string]: unknown;
scheduled?: string[];
seen?: string[];
};
user?: {
[key: string]: unknown;
activatedUser: boolean;
autoReminder: number;
avatarBig?: string;
avatarMedium?: string;
avatarS640?: string;
avatarSmall?: string;
businessAccountId: string | null;
dailyGoal: number;
dateFormat: "DD/MM/YYYY" | "MM/DD/YYYY";
dateistLang: string | null;
daysOff: number[];
email: string;
featureIdentifier: string;
features: {
[key: string]: unknown;
autoInviteDisabled?: boolean;
beta: boolean;
dateistInlineDisabled: boolean;
dateistLang: any;
goldTheme?: boolean;
hasPushReminders: boolean;
karmaDisabled: boolean;
karmaVacation: boolean;
migratedFromTdb?: boolean;
restriction: number;
};
freeTrailExpires?: Date;
fullName: string;
gettingStartedGuideProjects: | {
[key: string]: unknown;
closed: boolean;
completed: boolean;
onboardingUseCase: string;
projectId: string;
}[]
| null;
hasMagicNumber: boolean;
hasPassword: boolean;
hasStartedATrial?: boolean;
id: string;
imageId: string | null;
inboxProjectId: string;
isCelebrationsEnabled: boolean;
isPremium: boolean;
joinableWorkspace: | {
[key: string]: unknown;
memberCount: number;
workspaceId: string;
workspaceName: string;
}
| null;
joinedAt: Date;
karma: number;
karmaTrend: string;
lang: string;
mfaEnabled?: boolean;
mobileHost: string | null;
mobileNumber: string | null;
nextWeek: | "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
| "Sunday";
onboardingCompleted?: boolean | null;
onboardingInitiated?: boolean | null;
onboardingLevel?: string | null;
onboardingPersona?: string | null;
onboardingRole?: string | null;
onboardingSkipped?: boolean;
onboardingTeamMode?: boolean | null;
onboardingUseCases?: string[] | null;
premiumStatus: | "not_premium"
| "current_personal_plan"
| "legacy_personal_plan"
| "teams_business_member";
premiumUntil: Date | null;
rambleSessionsUsage?: | {
currentCount: number;
limit: number;
remaining: number;
resetDate: Date;
}
| null;
shareLimit: number;
sortOrder: number;
startDay: | "Monday"
| "Tuesday"
| "Wednesday"
| "Thursday"
| "Friday"
| "Saturday"
| "Sunday";
startPage: string;
themeId: string;
timeFormat: "24h" | "12h";
token: string;
tzInfo: {
[key: string]: unknown;
gmtString: string;
hours: number;
isDst: boolean;
minutes: number;
timezone: string;
};
uniquePrefix: number;
verificationStatus: string;
websocketUrl: string;
weekendStartDay: number;
weeklyGoal: number;
};
userPlanLimits?: {
[key: string]: unknown;
current: {
[key: string]: unknown;
activeProjects?: number;
activityLog?: number;
collaboratorsPerProject?: number;
commentsPerTask?: number;
fileUploadsPerComment?: number;
filtersPerUser?: number;
labelsPerTask?: number;
remindersPerUser?: number;
sectionsPerProject?: number;
tasksPerProject?: number;
};
next: | {
[key: string]: unknown;
activeProjects?: number;
activityLog?: number;
collaboratorsPerProject?: number;
commentsPerTask?: number;
fileUploadsPerComment?: number;
filtersPerUser?: number;
labelsPerTask?: number;
remindersPerUser?: number;
sectionsPerProject?: number;
tasksPerProject?: number;
}
| null;
};
userSettings?: {
[key: string]: unknown;
aiEmailAssist: boolean;
completedSoundDesktop: boolean;
completedSoundMobile: boolean;
debugLogSendingEnabledUntil: string | null;
legacyPricing: boolean;
navigation: {
[key: string]: unknown;
countsShown: boolean;
features: {
name: string;
shown: boolean;
}[];
};
quickAdd: {
[key: string]: unknown;
features: {
name: string;
shown: boolean;
}[];
labelsShown: boolean;
};
reminderDesktop: boolean;
reminderEmail: boolean;
reminderPush: boolean;
resetRecurringSubtasks: boolean;
syncTheme?: boolean;
theme?: string | null;
};
viewOptions?: {
[key: string]: unknown;
filteredBy?: string | null;
groupedBy?: | "PROJECT"
| "LABEL"
| "ASSIGNEE"
| "ADDED_DATE"
| "DUE_DATE"
| "DEADLINE"
| "PRIORITY"
| "WORKSPACE"
| null;
objectId?: string;
showCompletedTasks?: boolean;
sortedBy?: | "PROJECT"
| "ASSIGNEE"
| "ADDED_DATE"
| "DUE_DATE"
| "DEADLINE"
| "PRIORITY"
| "WORKSPACE"
| "MANUAL"
| "ALPHABETICALLY"
| null;
sortOrder?: "ASC" | "DESC" | null;
viewMode?: "LIST" | "BOARD" | "CALENDAR";
viewType: | "PROJECT"
| "TODAY"
| "UPCOMING"
| "LABEL"
| "FILTER"
| "WORKSPACE_FILTER"
| "SEARCH"
| "TEMPLATE_PREVIEW"
| "TASK_DETAIL"
| "AUTOMATION"
| "ASSIGNED"
| "OVERDUE"
| "WORKSPACE_OVERVIEW";
}[];
workspaceFilters?: {
[key: string]: unknown;
color: string;
createdAt: Date;
creatorUid: string;
id: string;
isDeleted: boolean;
isFavorite: boolean;
isFrozen: boolean;
itemOrder: number;
name: string;
query: string;
updatedAt: Date;
updaterUid: string;
workspaceId: string;
}[];
workspaceGoals?: {
[key: string]: unknown;
createdAt: Date;
creatorUid: string;
deadline: string | null;
description: string | null;
id: string;
isDeleted: boolean;
progress: | {
[key: string]: unknown;
completedItems: number;
totalItems: number;
}
| null;
projectIds: string[];
title: string;
updatedAt: Date;
workspaceId: string;
}[];
workspaces?: {
adminSortingApplied: boolean;
createdAt: Date | undefined;
creatorId: string;
currentActiveProjects: number | null;
currentMemberCount: number | null;
currentTemplateCount: number | null;
defaultCollaborators?: {
predefinedGroupIds: string[];
userIds: string[];
};
description: string;
domainDiscovery?: boolean | null;
domainName?: string | null;
id: string;
inviteCode?: string | null;
isCollapsed: boolean;
isDeleted: boolean;
isGuestAllowed?: boolean | null;
isLinkSharingEnabled?: boolean | null;
limits?: {
[key: string]: any;
current: Record<string, any> | null;
next: Record<string, any> | null;
};
logoBig?: string | null;
logoMedium?: string | null;
logoS640?: string | null;
logoSmall?: string | null;
memberCountByType?: {
adminCount: number;
guestCount: number;
memberCount: number;
};
name: string;
pendingInvitations?: string[] | null;
plan: "STARTER" | "BUSINESS";
projectSortPreference?: string | null;
properties?: Record<string, unknown>;
restrictEmailDomains?: boolean | null;
role?: "ADMIN" | "MEMBER" | "GUEST";
}[];
workspaceUsers?: {
fullName: string;
imageId: string | null;
isDeleted: boolean;
role: "ADMIN" | "MEMBER" | "GUEST";
timezone: string;
userEmail: string;
userId: string;
workspaceId: string;
}[];
};