Download OpenAPI specification:Download
TimeTrack API is a headless solution for versatile time tracking
Endpoints related to user authentication and account management, including signup, login, token refresh, and invitation-based registration.
Signup required field
email required | string <email> The email of the user to signup |
firstName required | string <email> The first name of the user to signup |
lastName required | string <email> The last name the user to signup |
password required | string The password of the user |
orgName required | string The name of the organisation the users belong to |
{- "email": "user@example.com",
- "firstName": "user@example.com",
- "lastName": "user@example.com",
- "password": "string",
- "orgName": "string"
}
{- "message": "User and organisation registered successfully",
- "user": {
- "id": "Q2fspaa93Ad",
- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com",
- "role": "member",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}, - "org": {
- "id": "Os2fe92ja9EA",
- "name": "Visidra",
- "decription": "string",
- "email": "contact@visidra.com",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
}
Authenticates the user using their email and password credentials. Returns a long-lived access token (valid for 1 day) and a refresh token (valid for 7 days) to enable continuous access without requiring frequent re-authentication. This flow is suitable for interactive user sessions such as web or mobile clients.
Login credentials (email and password)
email required | string <email> |
password required | string <password> |
{- "email": "user@visidra.com",
- "password": "password123"
}
{- "accessToken": "q224EM8d...",
- "refreshToken": "ia3af99...",
- "expiresIn": 1714586400000
}
Exchanges a valid refresh token for a new access token and refresh token pair. The access token is valid for 1 day, and the refresh token expires 7 days after the session start time. To maintain continuous access, clients must call this endpoint before the refresh token expires.
Refresh token
refreshToken | string |
{- "refreshToken": "eyJhbGciOi..."
}
{- "accessToken": "q224EM8d...",
- "refreshToken": "ia3af99...",
- "expiresIn": 1714586400000
}
Logs in a user and returns a short-lived JWT along with a refresh token. Intended for programmatic access such as CLI tools, scripts, or temporary sessions requiring frequent token rotation.
Login with API key
apiKey required | string <key> |
{- "apiKey": "k4t43m1d... (secret)"
}
{- "accessToken": "q224EM8d...",
- "refreshToken": "ia3af99...",
- "expiresIn": 1714586400000
}
Exchanges a short-lived refresh token for a new access token and refresh token pair. The access token is valid for 15 minutes, while the refresh token remains valid for 1 day from the session start time. This flow is optimized for automated scripts or background jobs that require frequent token renewal and short-lived access, with security in mind.
Refresh token
refreshToken | string |
{- "refreshToken": "eyJhbGciOi..."
}
{- "accessToken": "q224EM8d...",
- "refreshToken": "ia3af99...",
- "expiresIn": 1714586400000
}
Retrieves all active sessions (access and refresh tokens) created by users within the authenticated organisation. This endpoint is typically used by administrators to monitor or audit user sessions across the entire team. Requires a valid access token with administrative privileges.
[- {
- "id": "9vjaæ38f9w",
- "userId": "9vjaæ38f9w",
- "sessionStartedAt": 1714500000000,
- "expiresAt": 1714586400000,
- "userAgent": "Mozilla/5.0"
}
]
Completes the signup process for an invited user using a one-time invitation link. Creates the user account and removes the invitation if it is valid and not expired.
User object that needs to be created
firstName | string |
lastName | string |
email required | string <email> |
role required | string Enum: "member" "admin" The user's role within the organization. |
{- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "role": "member"
}
{- "id": "Q2fspaa93Ad",
- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com",
- "role": "member",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Endpoints for creating and managing organisations, including access to organisation details, user membership, and administrative actions.
Retrieves an organisation by its ID.
orgId required | string Example: Os2fe92ja9EA The ID of the organisation |
{- "id": "Os2fe92ja9EA",
- "name": "Visidra",
- "decription": "string",
- "email": "contact@visidra.com",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Updates an organisation's details.
orgId required | string Example: Os2fe92ja9EA The ID of the organisation |
Organisation object that needs to be updated
name | string |
string <email> | |
description | string |
{- "name": "Visidra Updated",
- "email": "contact.updated@visidra.com",
- "description": "456 New Address Rd, Tech City"
}
{- "id": "Os2fe92ja9EA",
- "name": "Visidra",
- "decription": "string",
- "email": "contact@visidra.com",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Endpoints for managing user accounts within an organisation, including listing users, updating user details, and resetting passwords.
[- {
- "id": "Q2fspaa93Ad",
- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com",
- "role": "member",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
]
Creates a new user entry
User object that needs to be created
firstName | string |
lastName | string |
email required | string <email> |
role required | string Enum: "member" "admin" The user's role within the organization. |
{- "firstName": "John",
- "lastName": "Doe",
- "email": "john.doe@example.com",
- "role": "member"
}
{- "id": "Q2fspaa93Ad",
- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com",
- "role": "member",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Retrieves a user by their ID.
userId required | string The ID of the user |
{- "id": "Q2fspaa93Ad",
- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com",
- "role": "member",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Updates a user's details.
userId required | string The ID of the user |
User object that needs to be updated
firstName | string |
lastName | string |
string <email> |
{- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com"
}
{- "id": "Q2fspaa93Ad",
- "firstName": "Doug",
- "lastName": "John",
- "email": "john.doe@example.com",
- "role": "member",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Allows a user to update their own password.
userId required | string The ID of the user |
Object that updates password
password required | string <password> >= 12 characters The new password the user wants to set. |
{- "password": "pa$$word_qwe"
}
{- "message": "Password updated successfully"
}
Allows an admin to reset a user's password.
userId required | string The ID of the user |
expiresAt required | string <date-time> The new expiration date in ISO_8601 format. |
{- "expiresAt": "2025-04-30T00:00:00Z"
}
{- "message": "Password reset scheduled"
}
Generates a new API key for the authenticated user. The plain-text key is returned once in the response and must be stored securely. The response also includes metadata about the key for future reference.
Name for the new API key
name required | string |
{- "name": "Name of the new api key"
}
{- "apiKey": "k4t43m1d... (secret)",
- "message": "API key created. Store it securely — it will not be shown again.",
- "info": {
- "id": "string",
- "name": "string",
- "last4": "string",
- "lastUsedAt": 0,
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
}
Retrieves metadata for a specific API key, including its name, creation time, last usage timestamp, and masked identifier (last 4 characters).i The actual secret value of the API key is not returned for security reasons.
apiKeyId required | string The ID of the api key |
{- "id": "string",
- "name": "string",
- "last4": "string",
- "lastUsedAt": 0,
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Invalidates the existing API key and generates a new one. The original key is permanently deleted, and a new key is returned in the response. The new key must be stored securely, as it will not be shown again. Useful when rotating credentials for security or automation purposes.
apiKeyId required | string The ID of the api key |
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Permanently deletes an API key identified by its ID. This action revokes access for any client using the key. Once deleted, the key cannot be recovered.
apiKeyId required | string The ID of the api key |
{- "message": "Response message"
}
Endpoints for creating and managing projects, which group related tasks and time tracking entries under a shared context.
[- {
- "id": "E9a9f9f93Aq",
- "userId": "Q2fspaa93Ad",
- "name": "New e-commerce system",
- "description": "Few months with NestJS and Vue",
- "externalId": "JIRA-102",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
]
Creates a new project entry.
Project object that needs to be created
name required | string |
description | string |
externalId | string |
{- "name": "New e-commerce shop",
- "description": "Few months with NestJS and Vue",
- "externalId": "JIRA-102"
}
{- "id": "E9a9f9f93Aq",
- "userId": "Q2fspaa93Ad",
- "name": "New e-commerce system",
- "description": "Few months with NestJS and Vue",
- "externalId": "JIRA-102",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Retrieves a project by its ID.
projectId required | string ID of the Project |
{- "id": "E9a9f9f93Aq",
- "userId": "Q2fspaa93Ad",
- "name": "New e-commerce system",
- "description": "Few months with NestJS and Vue",
- "externalId": "JIRA-102",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Updates a project's details.
projectId required | string ID of the Project |
Project object that needs to be updated
name required | string |
description | string |
{- "name": "New e-commerce system",
- "description": "Few months with NestJS and Vue"
}
{- "id": "E9a9f9f93Aq",
- "userId": "Q2fspaa93Ad",
- "name": "New e-commerce system",
- "description": "Few months with NestJS and Vue",
- "externalId": "JIRA-102",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2019-08-24T14:15:22Z"
}
Retrieve all tasks associated with a specific project.
projectId required | string ID of the Project |
[- {
- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
]
Adds a new task and assigns it to the specified project by project ID.
projectId required | string ID of the Project |
Task object that needs to be created
name required | string |
description | string |
{- "name": "New website design",
- "description": "Create a new homepage using React"
}
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Updates the task's project association by assigning it to a different project. This operation is useful for reorganizing tasks across projects without modifying the task content.
projectId required | string ID of the Project |
taskId required | string The ID of the task |
Object containing task move information
projectId required | string |
{- "projectId": "I9a2f9f13Aq"
}
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Permanently deletes a task from the specified project. This operation cannot be undone and will remove the task and its time tracking data entirely.
projectId required | string ID of the Project |
taskId required | string The ID of the task |
{- "message": "Response message"
}
Removes the association between the task and its project, but keeps the task and its data intact.
projectId required | string ID of the Project |
taskId required | string The ID of the task |
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Associates an existing standalone task with the specified project. This operation updates the task's project reference without modifying other task data.
projectId required | string ID of the Project |
taskId required | string The ID of the task |
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Endpoints for managing individual tasks, including creation, time tracking, project assignment, and status management.
[- {
- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
]
Creates a new task entry.
Task object that needs to be created
name required | string |
description | string |
{- "name": "New website design",
- "description": "Create a new homepage using React"
}
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Retrieves a task by its ID.
taskId required | string The ID of the task |
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Updates a task's details
taskId required | string The ID of the task |
Task object that needs to be updated
name required | string |
description required | string |
{- "name": "New website design",
- "description": "Create a new homepage using React"
}
{- "id": "398fa3ov3",
- "userId": "Q2fspaa93Ad",
- "name": "New website design",
- "description": "Create a new homepage using React",
- "status": "open",
- "projectId": "string",
- "createdAt": "2025-04-22T09:00:00Z",
- "updatedAt": "2025-04-22T09:00:00Z"
}
Starts time tracking for task ID
taskId required | string The ID of the task |
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Ends time tracking for task ID.
taskId required | string The ID of the task |
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Starts time tracking using task name. If tasks does not exist, it gets created first
name required | string Example: Write API Documentation Name of the task to clock in |
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Starts time tracking using external ID. This ID typically comes from an integrated third-party project management system such as Jira, Trello, Asana, or GitHub. If tasks does not exists, it gets created first
externalid required | string Example: JIRA-492 The external ID of the task to clock in |
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Endpoints for recording and retrieving time tracking entries for tasks, including clock-in, clock-out, and duration reporting.
Retrieves all time tracking entries associated with the specified task. Useful for reporting, auditing, or displaying time spent on a specific task.
[- {
- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
]
Starts a new time tracking entry for the specified task. Records the start time and, optionally, the end time if provided.
Create a new time track entry
start required | integer <int64> Unix timestamp in milliseconds (UTC) |
end | integer <int64> Unix timestamp in milliseconds (UTC) |
{- "start": 0,
- "end": 0
}
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Retrieves a specific time tracking entry associated with the given task ID and time track ID. Useful for viewing detailed time tracking information for a single entry.
taskId required | string The ID of the task |
trackId required | string The ID of the TimeTrack |
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Modifies an existing time tracking entry associated with the specified task. Typically used to set or adjust the end time, duration, or correct tracking errors.
taskId required | string The ID of the task |
trackId required | string The ID of the TimeTrack |
{- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
Permanently removes a specific time tracking entry associated with the given task. This action cannot be und
taskId required | string The ID of the task |
trackId required | string The ID of the TimeTrack |
{- "message": "Response message"
}
Endpoints for managing user invitations, including creating signup links and handling one-time invitation-based account registration. (Optional: may be grouped under Account)
Retrieves all invitations under your organisation
[- {
- "id": "QEFf93fjap",
- "email": "john.doe@example.com",
- "expiresAt": "2025-04-22T10:00:00Z",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
]
Creates a new invitation for a user to join the organisation. The invitation includes a one-time signup link that expires after 1 day.
Invitation object that needs to be created
email required | string <email> The email of the user being invited. |
{- "email": "john.doe@example.com"
}
{- "message": "Invitation successfully created",
- "invitation": {
- "id": "QEFf93fjap",
- "email": "john.doe@example.com",
- "expiresAt": "2025-04-22T10:00:00Z",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
}
Retrieves an invitation by its ID, including the email and expiration details. Typically used to validate and display invitation information before signup.
invId required | string Example: QEFf93fjap The unique ID of the invitation |
{- "id": "QEFf93fjap",
- "email": "john.doe@example.com",
- "expiresAt": "2025-04-22T10:00:00Z",
- "createdAt": "2025-04-22T10:00:00Z",
- "updatedAt": "2025-04-22T10:00:00Z"
}
Deletes a pending invitation by its ID. This operation is typically used to revoke access before the invitation is accepted. Only valid for invitations that have not yet been used or expired.
invId required | string Example: QEFf93fjap The unique ID of the invitation |
{- "message": "Response message"
}
Endpoints intended for internal use only. Access is restricted to super users with elevated permissions. These operations are not available to regular organisation members.
Retrieves a detailed time tracking report for a specific task, including total tracked time, user-by-user breakdown, and related time entries.
taskId required | string The ID of the task |
{- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "taskId": "string",
- "taskName": "New website design",
- "taskDescription": "Create a new homepage using React",
- "timeFormatted": "4h 10m 10s",
- "total": 1712100000000,
- "tracks": [
- {
- "id": "398fa3ov3",
- "taskId": "task789",
- "userId": "user456",
- "startTime": "2025-04-22T14:00:00Z",
- "endTime": "2025-04-22T15:30:00Z",
- "start": 1712100000000,
- "end": 1714580000000,
- "amount": 1714500000000,
- "hours": 1,
- "minutes": 35,
- "seconds": 5,
- "timeFormatted": "1h 35m 5s",
- "createdAt": "2025-04-22T14:00:00Z",
- "updatedAt": "2025-04-22T15:35:00Z"
}
]
}
Retrieves a detailed time tracking report for a specific task, including total tracked time, user-by-user breakdown, and related time entries.
taskId required | string The ID of the task |
{- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "taskId": "string",
- "taskName": "New website design",
- "taskDescription": "Create a new homepage using React",
- "timeFormatted": "4h 10m 10s",
- "total": 1712100000000,
- "users": [
- {
- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "projectId": "string",
- "projectName": "string",
- "total": 1914100000000,
- "timeFormatted": "string"
}
]
}
Retrieves a time tracking report for a specific project, including a breakdown of total time tracked by each user across all associated tasks.
projectId required | string ID of the Project |
{- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "projectId": "string",
- "projectName": "string",
- "projectDescription": "string",
- "total": 0,
- "timeFormatted": "string",
- "users": [
- {
- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "userId": "string",
- "firstName": "string",
- "lastName": "string",
- "total": 0,
- "timeFormatted": "string"
}
]
}
Retrieves a time tracking report for a specific project, including a breakdown of total time tracked for each task within the project. Useful for understanding how time is distributed across tasks regardless of user.
projectId required | string ID of the Project |
{- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "projectId": "string",
- "projectName": "string",
- "projectDescription": "string",
- "total": 0,
- "timeFormatted": "string",
- "tasks": [
- {
- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "taskId": "string",
- "taskName": "string",
- "taskDescription": "string",
- "total": 0,
- "timeFormatted": "string"
}
]
}
Retrieves a time tracking report for a specific user, including a project-level breakdown with all associated tasks and time tracked within each. Useful for reviewing a user's activity across multiple projects over a given time range.
userId required | string The ID of the user |
startDate | integer Example: startDate=1714521600000 Start of the time range (inclusive), in UNIX milliseconds. The range between startDate and endDate must not exceed 7 days. |
endDate | integer Example: endDate=1715039999999 End of the time range (inclusive), in UNIX milliseconds. The range between startDate and endDate must not exceed 7 days. |
{- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "userId": "string",
- "userName": "string",
- "total": 0,
- "timeFormatted": "string",
- "projects": [
- {
- "hours": 4,
- "minutes": 10,
- "seconds": 10,
- "projectId": "string",
- "projectName": "string",
- "total": 1914100000000,
- "timeFormatted": "string"
}
]
}