Timesheet Sync API (1.0.0)

Download OpenAPI specification:

Timesheet Mobile SDK Team: support@timesheet.io URL: https://timesheet.io License: Apache 2.0

The Timesheet Sync API is specifically designed for bi-directional synchronization between mobile clients (iOS/Android) and the Timesheet server.

Key Features

  • Efficient Data Synchronization: Optimized for bandwidth and battery usage
  • Conflict Resolution: Smart handling of concurrent modifications
  • Offline Support: Queue changes when offline for later synchronization
  • Delta Updates: Transfer only changed data to minimize bandwidth

Sync Protocol

The Sync API uses a timestamp-based synchronization protocol:

  1. Client sends last sync timestamp
  2. Server returns all changes since that timestamp
  3. Client sends local changes
  4. Server resolves conflicts and confirms changes

Data Types

The following data types are synchronized:

  • Time entries
  • Projects
  • Clients
  • Tasks
  • User settings

Authentication

All API requests require authentication using either:

  • OAuth2 Bearer Token: For user-authorized applications
  • API Key: For server-to-server integrations

Device Registration

New devices must be registered before synchronization can begin.

Profile

Endpoint to retrieve the profile of the current user.

Get current user profile

Retrieves the profile information of the authenticated user. This is typically called upon login to get user details and subscription status.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
referrer
string

The referrer URL where the user came from, used for analytics

newsletter
boolean

Controls whether to include newsletter subscription status in the response or update subscription preference

Responses

Response samples

Content type
{
  • "permission": 0,
  • "email": "string",
  • "imageUrl": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "language": "string",
  • "countryIso": "string",
  • "country": "string",
  • "ipAddress": "string",
  • "referrer": "string",
  • "newsletter": true,
  • "gdprConsent": true,
  • "invited": true,
  • "activatedTeams": true,
  • "activated": true,
  • "needsSetup": true,
  • "user": "string",
  • "lastUpdate": 0,
  • "subscriptionId": "string",
  • "expires": 0,
  • "status": 0,
  • "plan": 0,
  • "valid": true,
  • "expired": true,
  • "product": "string",
  • "trial": true,
  • "planBusiness": true,
  • "planPro": true,
  • "planPlus": true,
  • "planBasic": true,
  • "member": true,
  • "personalSubscriptionActive": true,
  • "organizationSubscriptionActive": true,
  • "basic": true,
  • "pro": true,
  • "plus": true,
  • "validProfile": true,
  • "validAndActivated": true,
  • "admin": true,
  • "deleted": true,
  • "displayName": "string",
  • "initials": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}

Device

Endpoint to retrieve and synchronise connected devices.

Register device

Register a new device.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
name
string
registrationId
string

Responses

Request samples

Content type
{
  • "name": "string",
  • "registrationId": "string"
}

Response samples

Content type
{
  • "id": "string",
  • "name": "string",
  • "registrationId": "string",
  • "user": "string",
  • "deleted": true,
  • "lastUpdate": 0,
  • "created": 0
}

Sends sync message

Sends a sync message to all other devices of the user.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
regId
required
string
lastSync
required
integer <int64>

Responses

Sync device

Sends a syncs message to the device of the user.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Unregister device

Unregister a device.

Authorizations:
bearerAuthapiKeyAuth
path Parameters
id
required
string

Responses

Synchronisation

Endpoint to synchronise the data.

Update SyncState

Send clients synchronisation state to server.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get automations

Get dirty automations from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get expenses

Get dirty expenses from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get notes

Get dirty notes.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get pauses

Get dirty pauses from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get project members

Get dirty project members from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get projects

Get dirty projects from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get rates

Get dirty rates from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get SyncState

Get servers synchronisation state.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get tags

Get dirty tags from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get tasks

Get dirty tasks from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get TaskTags

Get dirty TaskTags.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get team members

Get dirty team members from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get teams

Get dirty teams from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get timer

Get dirty timer from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Get todos

Get dirty todos from server.

Authorizations:
bearerAuthapiKeyAuth
query Parameters
syncState
required
integer <int64>
limit
required
integer <int32>
offset
required
integer <int32>

Responses

Response samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update automations

Update dirty automations.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update expenses

Update dirty expenses.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update notes.

Update dirty notes.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update pauses

Update dirty pauses.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update project members

Update dirty project members.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update projects

Update dirty projects.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update rates

Update dirty rates.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update tags

Update dirty tags.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update tasks

Update dirty tasks.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update TaskTags

Update dirty TaskTags.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update team members

Update dirty team members.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update teams

Update dirty teams.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update timer

Update dirty timer.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Update todos

Update dirty todos.

Authorizations:
bearerAuthapiKeyAuth
Request Body schema:
syncState
integer <int64>
deviceId
string
projectState
integer <int64>
todoState
integer <int64>
taskState
integer <int64>
pauseState
integer <int64>
expenseState
integer <int64>
noteState
integer <int64>
tagState
integer <int64>
taskTagState
integer <int64>
rateState
integer <int64>
teamState
integer <int64>
teamMemberState
integer <int64>
projectMemberState
integer <int64>
automationState
integer <int64>
timerState
integer <int64>
projectCount
integer <int32>
todoCount
integer <int32>
taskCount
integer <int32>
pauseCount
integer <int32>
expenseCount
integer <int32>
noteCount
integer <int32>
tagCount
integer <int32>
taskTagCount
integer <int32>
rateCount
integer <int32>
teamCount
integer <int32>
teamMemberCount
integer <int32>
projectMemberCount
integer <int32>
automationCount
integer <int32>
timerCount
integer <int32>
Array of objects (ProjectSyncDto)
Array of objects (ToDoSyncDto)
Array of objects (TaskSyncDto)
Array of objects (PauseSyncDto)
Array of objects (ExpenseSyncDto)
Array of objects (NoteSyncDto)
Array of objects (TagSyncDto)
Array of objects (TaskTagSyncDto)
Array of objects (RateSyncDto)
Array of objects (TeamSyncDto)
Array of objects (TeamMemberSyncDto)
Array of objects (ProjectMemberSyncDto)
Array of objects (AutomationSyncDto)
Array of objects (TimerSyncDto)

Responses

Request samples

Content type
{
  • "syncState": 0,
  • "deviceId": "string",
  • "projectState": 0,
  • "todoState": 0,
  • "taskState": 0,
  • "pauseState": 0,
  • "expenseState": 0,
  • "noteState": 0,
  • "tagState": 0,
  • "taskTagState": 0,
  • "rateState": 0,
  • "teamState": 0,
  • "teamMemberState": 0,
  • "projectMemberState": 0,
  • "automationState": 0,
  • "timerState": 0,
  • "projectCount": 0,
  • "todoCount": 0,
  • "taskCount": 0,
  • "pauseCount": 0,
  • "expenseCount": 0,
  • "noteCount": 0,
  • "tagCount": 0,
  • "taskTagCount": 0,
  • "rateCount": 0,
  • "teamCount": 0,
  • "teamMemberCount": 0,
  • "projectMemberCount": 0,
  • "automationCount": 0,
  • "timerCount": 0,
  • "projects": [
    ],
  • "todos": [
    ],
  • "tasks": [
    ],
  • "pauses": [
    ],
  • "expenses": [
    ],
  • "notes": [
    ],
  • "tags": [
    ],
  • "taskTags": [
    ],
  • "rates": [
    ],
  • "teams": [
    ],
  • "teamMembers": [
    ],
  • "projectMembers": [
    ],
  • "automations": [
    ],
  • "timers": [
    ]
}

Billing

Endpoint to retrieve and manage subscriptions.

Start Trial Period

Start a trial period for the user.

Authorizations:
bearerAuthapiKeyAuth

Responses

Response samples

Content type
{
  • "permission": 0,
  • "email": "string",
  • "imageUrl": "string",
  • "firstname": "string",
  • "lastname": "string",
  • "language": "string",
  • "countryIso": "string",
  • "country": "string",
  • "ipAddress": "string",
  • "referrer": "string",
  • "newsletter": true,
  • "gdprConsent": true,
  • "invited": true,
  • "activatedTeams": true,
  • "activated": true,
  • "needsSetup": true,
  • "user": "string",
  • "lastUpdate": 0,
  • "subscriptionId": "string",
  • "expires": 0,
  • "status": 0,
  • "plan": 0,
  • "valid": true,
  • "expired": true,
  • "product": "string",
  • "trial": true,
  • "planBusiness": true,
  • "planPro": true,
  • "planPlus": true,
  • "planBasic": true,
  • "member": true,
  • "personalSubscriptionActive": true,
  • "organizationSubscriptionActive": true,
  • "basic": true,
  • "pro": true,
  • "plus": true,
  • "validProfile": true,
  • "validAndActivated": true,
  • "admin": true,
  • "deleted": true,
  • "displayName": "string",
  • "initials": "string",
  • "createdAt": "2019-08-24T14:15:22Z"
}