Contents

Summary

Contains methods for creating, reading, updating, and deleting time entries as well as methods for getting information about time accounts and time reports (weekly timesheets).

Access Restrictions

This section requires access to the TDTimeExpense application.

API Methods

POST https://services.dartmouth.edu/TDWebApi/api/time Copy URL

Adds or edits one or more time entries. Time entries will be created if their ID is zero or negative and edited if they have a positive IDs. You cannot add / edit more than 50 items at once. If you need to work with a larger set of records, you will need to perform multiple calls.

A collection of successes and failures will be returned. Successes will be accompanied by the IDs of the new time entries. Failures will be accompanied by an error code and error message. Because some operations may complete successfully while others fail, it is important for the caller to inspect the results of the failures collection.

In order to add or edit time for a user, they must be in your organization and be a standard User.

Time entries cannot be added or edited for reports that are submitted or approved or on days marked as locked days within your organization.

Time entries using limited time accounts cannot be negative, must have a limit defined for the user for the time period you're working with, and the number of hours in this limit cannot be exceeded.

Once a time entry has been created, you cannot change many properties about it, including the item it is associated with and the person who entered time. If you need to do these things, we recommend deleting the entry and re-adding it using the corrected values.

This endpoint can be used to delete time entries by setting their minutes to zero. However, time can only be deleted when authenticated as an Admin Service Account or as the user who the time is for.

Add or edit operations are allowed either as the user the time is for or as an Admin Service Account. An exception to this rule is if you are working with task time, have the Projects application, are on the project in question, and have permission to add time for other users. An additional exception is when working with ticket or ticket task time and you have the application permission to add time for others within the ticketing application in question.

Time entry will only be allowed for time accounts available on the item you're trying to enter time for. Additionally, the user in question must be able to access the item that the time is for which can depend on applications and permissions granted to users as well as project / workspace / request / ticketing application membership.entries

The user you are entering time for must be active and have the time and expenses application.

Parameters

Returns

An object indicating which operations succeeded and failed as well as any error messages for failures and IDs for new additions. (TeamDynamix.Api.Time.BulkOperationResults)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

DELETE https://services.dartmouth.edu/TDWebApi/api/time/{id} Copy URL

Deletes the time entry.

Time can only be deleted by the person the time is for or an Admin Service Account.

You cannot delete time entries associated with time reports that have been submitted or approved.

Parameters

Returns

The response code.

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/{id} Copy URL

Gets details on a specific time entry.

Parameters

Returns

The time entry or null if one could not be found. (TeamDynamix.Api.Time.TimeEntry)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

PUT https://services.dartmouth.edu/TDWebApi/api/time/{id} Copy URL

Edits a pre-existing time entry. See documentation on the POST multiple add / edit time entries for more specifics.

Parameters

Returns

The modified time entry. (TeamDynamix.Api.Time.TimeEntry)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

POST https://services.dartmouth.edu/TDWebApi/api/time/delete Copy URL

Deletes the time entries with the specified ids and returns success or failure information.

Time can only be deleted by the person the time is for or an Admin Service Account.

You cannot delete time entries associated with time reports that have been submitted or approved.

You can only delete up to 50 entries per call. If you need to delete more than that, you will need to make multiple calls to the API.

Parameters

Returns

An object indicating which operations succeeded and failed as well as any error messages. (TeamDynamix.Api.Time.BulkOperationResults)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/locked?startDate={startDate}&endDate={endDate} Copy URL

Gets the locked days in a specific time period. If no dates are specified, all locked days in the organization will be retrieved. Time entry will not be allowed for dates in this period.

Parameters

Returns

A list of locked dates in the date range. (DateTime[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/report/{reportDate} Copy URL

Gets details on a specific week's time report (weekly timesheet) for the executing user.

Parameters

Returns

The time type or null if one could not be found. (TeamDynamix.Api.Time.TimeReport)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/report/{reportDate}/{uid} Copy URL

Gets details on a specific week's time report (timesheet) for a user.

In order to access details, you must either be logged in as a user with the Analysis application, the user you are requesting the time report of, one of the organization's Admin Service Accounts, or someone who is responsible for approving one or more items on the user's time report.

Parameters

Returns

The time report or null if one could not be found. (TeamDynamix.Api.Time.TimeReport)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

POST https://services.dartmouth.edu/TDWebApi/api/time/search Copy URL

Searches for time entries that match the specified parameters.

You will only be able to see time for yourself unless the user you are authenticated as has the Analysis application or is an organization's Web Admin Service Account.

Most search fields exist in ranges that you can specify none, both, or either the From or To properties. When present, a value will exclude values outside of the specified range. These values default to null by default.

You can also specify project / workspace, plan, task, ticket task, ticket, and/or issue IDs to help with the search operation. Components can also be set to filter out item types that you aren't interested in, but all searches are mutually exclusive.

Parameters

Returns

Paged results for the search operation (TeamDynamix.Api.Time.TimeEntry[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 30 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types Copy URL

Gets a list of all available active time types.

Returns

The time types or null if one could not be found. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/{id} Copy URL

Gets details on a specific time type.

Parameters

Returns

The time type or null if one could not be found. (TeamDynamix.Api.Time.TimeType)

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/{id}/limits/{uid}?startDate={startDate}&endDate={endDate} Copy URL

Gets the time limits for a time type for a specified user and date range.

The user requested must be of type User and within your organization.

Parameters

Returns

A list of time limits for the specified user and time type between the specified dates. (TeamDynamix.Api.Time.TimeTypeLimit[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

DELETE https://services.dartmouth.edu/TDWebApi/api/time/types/component/app/{appID}/ticket/{ticketID} Copy URL

Unassociates a collection of time types from a ticket.

You must have the ability to edit the specified ticket to call this endpoint.

Parameters

Returns

A response message indicating if the operation was successful or not.

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

Remarks

Only valid time types, already associated to the ticket, will be processed. Any other time types will be skipped.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/app/{appID}/ticket/{ticketID} Copy URL

Gets the time type available or applied to a specific ticket.

In order to get this information you must be one of the organization's Admin Service Accounts, be the creator or contact on the ticket, have the corresponding ticketing application, or be on the same account as the ticket and have permissions to view requests related to accounts the user has.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

POST https://services.dartmouth.edu/TDWebApi/api/time/types/component/app/{appID}/ticket/{ticketID} Copy URL

Associates a collection of time types to a ticket.

You must have the ability to edit the specified ticket to call this endpoint.

Parameters

Returns

A response message indicating if the operation was successful or not.

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

Remarks

Only valid ticket time types, not already associated to the ticket, will be processed. Any other time types will be skipped. A time type must be active, not a time off account and not a limited time type to be considered valid.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/app/{appID}/ticket/{ticketID}/task/{taskID} Copy URL

Gets the time type available or applied to a specific ticket.

In order to get this information you must be one of the organization's Admin Service Accounts, be the creator or contact on the ticket, have the corresponding ticketing application, or be on the same account as the ticket and have permissions to view requests related to accounts the user has.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/project/{projectID} Copy URL

Gets the time type available or applied to a specific project.

In order to get this information you must be on the project, have the Analysis application, or be one of the organization's Admin Service Accounts.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/project/{projectID}/issue/{issueID} Copy URL

Gets the time type available or applied to a specific issue.

In order to get this information you must be on the project the issue is on, have the Analysis application, or be one of the organization's Admin Service Accounts.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/project/{projectID}/plan/{planID}/task/{taskID} Copy URL

Gets the time type available or applied to a specific task.

In order to get this information you must be on the project containing the task, have the Analysis application, or be one of the organization's Admin Service Accounts.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/request/{requestID} Copy URL

Gets the time type available or applied to a specific request.

In order to get this information you must be on the request, have the Analysis application, or be one of the organization's Admin Service Accounts.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/timeoff/{projectID} Copy URL

Gets the time types available to a specific project that can be applied as time off.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.

GET https://services.dartmouth.edu/TDWebApi/api/time/types/component/workspace/{workspaceID} Copy URL

Gets the time type available or applied to a specific workspace.

In order to get this information you must be on the workspace, have the Analysis application, or be one of the organization's Admin Service Accounts.

Parameters

Returns

A list of time types. (TeamDynamix.Api.Time.TimeType[])

Rate/Submission Limitations

Invocations of this method are rate-limited, with a restriction of 60 calls per IP address every 60 seconds.