Connecting to TimeCamp
Using API Key Authentication
TimeCamp uses token-based authentication. To obtain an API Token:
- Log in to your TimeCamp account at https://app.timecamp.com
- Click your profile avatar in the top-right corner
- Select Profile Settings
- Copy the API token shown at the bottom of the page
After obtaining your API Token, set the following connection properties:
- AuthScheme: Set this to APIKey.
- APIKey: Set this to your TimeCamp API token.
Example Connection String
Profile=C:\profiles\TimeCamp.apip;AuthScheme=APIKey;ProfileSettings="APIKey=your_api_token";
Connecting to TimeCamp
Once the authentication is configured, you can connect to TimeCamp and query data from any of the available tables such as Users, Tasks, TimeEntries, and Expenses.
Available Tables
The TimeCamp API Profile provides access to the following tables:
- Users: Returns user accounts in the TimeCamp workspace. Supports listing all users or retrieving a single user by UserId
- Groups: Returns groups (departments or teams) in the TimeCamp workspace
- GroupUsers: Returns users that belong to a specific group. Requires GroupId
- Tasks: Returns tasks and projects in the TimeCamp workspace
- TaskDetails: Returns a flat list of detailed task records
- TaskRates: Returns the billing rates for a specific task. Requires TaskId
- UserRates: Returns the billing rate for a specific user. Requires UserId
- TimeEntries: Returns time entries logged in the workspace. Requires a date range via StartDate and EndDate inputs (YYYY-MM-DD)
- TimerRunning: Returns the currently running timer for the authenticated user
- Activity: Returns computer activity tracking records for a specific date. Requires the Date input (YYYY-MM-DD)
- Attendance: Returns attendance records for users. Requires a date range via StartDate and EndDate inputs (YYYY-MM-DD)
- Approvals: Returns time approval records. Optionally filter by date range via StartDate and EndDate inputs
- ApprovalDetails: Returns detailed information for a specific approval. Requires ResourceId
- TagLists: Returns tag list containers in the workspace. Supports listing all or retrieving by TagListId
- Tags: Returns a single tag by ID. Requires TagId
- TimeTrackingRoles: Returns predefined system roles and their permissions
- Expenses: Returns expense records. Supports optional date range filtering via TimeFrameStart and TimeFrameEnd inputs
- ExpenseCategories: Returns expense category definitions
- DataExports: Returns data export records. Supports listing all exports or retrieving a single export by Id
Important Notes
- The TimeEntries and Attendance tables require StartDate and EndDate inputs (YYYY-MM-DD format).
- The Activity table requires a Date input (YYYY-MM-DD format).
- The GroupUsers, TaskRates, UserRates, Tags, and ApprovalDetails tables require a parent identifier input.
- The Tasks and TimeTrackingRoles tables use a JSON object map response format.
- The Expenses and DataExports tables support page-based pagination via page and limit parameters.
API Documentation
For more information about the TimeCamp API, see the official TimeCamp API documentation.
Usage Examples
Users:
SELECT * FROM Users
Groups:
SELECT * FROM Groups
GroupUsers (requires GroupId):
SELECT * FROM GroupUsers WHERE GroupId = '12345'
Tasks:
SELECT * FROM Tasks
TaskDetails (requires TaskIds):
SELECT * FROM TaskDetails WHERE TaskIds = '12345'
TaskRates (requires TaskId):
SELECT * FROM TaskRates WHERE TaskId = '12345'
UserRates (requires UserId):
SELECT * FROM UserRates WHERE UserId = '12345'
TimeEntries (requires date range):
SELECT * FROM TimeEntries WHERE StartDate = '2024-01-01' AND EndDate = '2024-01-31'
TimerRunning:
SELECT * FROM TimerRunning
Activity (requires Date):
SELECT * FROM Activity WHERE Date = '2024-01-15'
Attendance (requires date range):
SELECT * FROM Attendance WHERE StartDate = '2024-01-01' AND EndDate = '2024-01-31'
Approvals:
SELECT * FROM Approvals
ApprovalDetails (requires ResourceId):
SELECT * FROM ApprovalDetails WHERE ResourceId = '12345'
TagLists:
SELECT * FROM TagLists
Tags (requires TagId):
SELECT * FROM Tags WHERE TagId = '12345'
TimeTrackingRoles:
SELECT * FROM TimeTrackingRoles
Expenses:
SELECT * FROM Expenses
ExpenseCategories:
SELECT * FROM ExpenseCategories
DataExports:
SELECT * FROM DataExports
Connection Properties
The connection string properties are the various options that can be used to establish a connection. This section provides a complete list of the options you can configure in the connection string for this provider.
| Property | Description |
| APIKey | The API key used to authenticate with the TimeCamp API. |
| AuthScheme | The scheme used for authentication. Accepted entries are APIKey or None. Allowed values are: BASIC, NONE, NTLM, OAUTH, APIKEY, OAUTH_CLIENT, OAUTH_PASSWORD |