v1

latestOpenAPI 3.0.12026-07-2464217456.8 KB
Time Tracking

Get all time entries

This endpoint can be used to get all time entries. You can refine your search by adding filters. Filters are given as query parameters and have a defined structure: key is field.operator and value is value. For instance: date.gt=2023-02-11, minutes.eq=250. Apart from filters, you can add sortBy combined with sortOrder to sort the time entries. The response body is paginated and you can control the pagination using the limit and pageToken parameters.

get/1.0/time-entries

Query parameters

pageSizenumber
Example:100

This parameter sets the maximum number of responses to be displayed per page. If the page size is insufficient to accommodate the whole number of responses obtained, the pagination object will include a link to the next page as well as the next page token. If left blank, it defaults to 100.

pageTokenstring
Example:59c12a42-dd10-11ed-afa1-0242ac120002

Use this parameter to specify the pageToken of a page to which you want to navigate. This pageToken can be obtained from a previous request which specified a limit and will only be active for 15 minutes after it is created.

includeFieldsstring[]

This query parameter allows you to specify which fields should be returned in the response body by selecting from the drop down. To get the relevant fields, use comma separated values. If the field is left blank, the default properties are returned.

sortBy'minutes' | 'date' | 'id' | 'billable'

You can use the sortBy param to sort the responses by the given field. Valid fields to perform sortBy are: MINUTES, DATE, ID and BILLABLE.

sortOrder'ASC' | 'DESC'

The sortOrder param can be used to specify the sorting order, which can be Ascending (ASC) or Descending (DESC). Descending is the default option.

match'all' | 'any'

You can use the match param to specify if we need to filter the entries using either AND(all) / OR(any). Defaults to AND.

date.gtstring
Example:2023-03-28

You can use this param to specify some date and the responses will contain time-entries whose date are greater than the given date.

date.eqstring
Example:2023-03-28

You can use this param to specify some date and the responses will contain exact matches of time-entries that match the given date.

date.ltstring
Example:2023-03-28

You can use this param to specify some date and the responses will contain time-entries whose date are less than the given date.

date.gestring
Example:2023-03-28

You can use this param to specify some date and the responses will contain time-entries whose date are greater than or equal to the given date.

date.lestring
Example:2023-03-28

You can use this param to specify some date and the responses will contain time-entries whose date are less than or equal to the given date.

project.eqnumber
Example:201

You can use this param to specify some project Id and the responses will contain exact matches of time-entries that match the given project.

projectId.eqnumber
Example:201

You can use this param to specify some project Id and the responses will contain exact matches of time-entries that match the given project.

task.eqnumber
Example:202

You can use this param to specify some task Id and the responses will contain exact matches of time-entries that match the given task.

taskId.eqnumber
Example:202

You can use this param to specify some task Id and the responses will contain exact matches of time-entries that match the given task.

taskId.oneOfnumber
Example:202

You can use this param to provide ids of task and the responses will contain time entries whose time entries that contains the given task ids

taskId.noneOfnumber
Example:202

You can use this param to provide ids of task and the responses will contain time entries whose time entries that contains the given task ids

projectPhase.eqnumber
Example:210

You can use this param to specify some project phase Id and the responses will contain exact matches of time-entries that match the given phase.

category.eqnumber
Example:5

You can use this param to specify some category Id and the responses will contain exact matches of time-entries that match the given category.

user.eqnumber
Example:5

You can use this param to specify some user Id and the responses will contain exact matches of time-entries that belong to the user with the given user Id.

emailId.eqstring
Example:john.doe@rocketlane.com

You can use this param to specify some email Id and the responses will contain exact matches of time-entries that belong to the user with the given email Id.

emailId.cnstring
Example:john.doe

You can use this param to specify some text and the responses will contain time-entries that contain the given text in their email name.

emailId.ncstring
Example:john.doe

You can use this param to specify some text and the responses will contain time-entries that DO NOT contain the given text in their email Id.

sourceType.eq'GOOGLE_CALENDAR' | 'OUTLOOK_CALENDAR' | 'TASK' | 'PROJECT' | 'PHASE' | 'ADHOC' | 'MILESTONE'

You can use this param to specify a source type for the time entries and the responses will contain exact matches of time-entries that have the given source type.

activityName.eqstring
Example:Pre-Sales Campaign

You can use this param to specify some activity name and the responses will contain exact matches of time-entries that match the given activity name.

activityName.cnstring
Example:Sales

You can use this param to specify some text and the responses will contain time-entries that contain the given text in their activity name.

activityName.ncstring
Example:Sales

You can use this param to specify some text and the responses will contain time-entries that DO NOT contain the given text in their activity name.

approvalStatus.eq'NOT_SUBMITTED' | 'SUBMITTED' | 'APPROVED' | 'REJECTED'

You can use this param to specify an approval status for the time entries and the responses will contain exact matches of time-entries that have the given approval type.

submittedBy.eqnumber
Example:5

You can use this param to specify a submitter for the time entries and the response will contain time-entries submitted by the given user.

submittedAt.eqinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries submitted at the given timestamp.

submittedAt.gtinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries submitted after the given timestamp.

submittedAt.geinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries submitted at or after the given timestamp.

submittedAt.ltinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries submitted before the given timestamp.

submittedAt.leinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries submitted at or before the given timestamp.

approvedBy.eqnumber
Example:5

You can use this param to specify an approver for the time entries and the response will contain time-entries approved by the given user.

approvedAt.eqinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries approved at the given timestamp.

approvedAt.gtinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries approved after the given timestamp.

approvedAt.geinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries approved at or after the given timestamp.

approvedAt.ltinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries approved before the given timestamp.

approvedAt.leinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries approved at or before the given timestamp.

rejectedBy.eqnumber
Example:5

You can use this param to specify a rejecter for the time entries and the response will contain time-entries rejected by the given user.

rejectedAt.eqinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries rejected at the given timestamp.

rejectedAt.gtinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries rejected after the given timestamp.

rejectedAt.geinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries rejected at or after the given timestamp.

rejectedAt.ltinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries rejected before the given timestamp.

rejectedAt.leinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries rejected at or before the given timestamp.

billable.eqboolean
Example:true

You can use this param to specify the billable flag for the time entries and the responses will contain exact matches of time-entries that have the given billable.

includeDeleted.eqboolean

You can use this parameter to specify whether responses will include the deleted time entries.

createdAt.gtinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are greater than the given time entries created date.

createdAt.eqinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain exact matches of time entries that match the given time entries created date.

createdAt.ltinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are less than the given time entries created date.

createdAt.geinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are greater than or equal to the given time entries created date.

createdAt.leinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are less than or equal to the given time entries created date.

updatedAt.gtinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are greater than the given time entries updated date.

updatedAt.eqinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain exact matches of time entries that match the given time entries updated date.

updatedAt.ltinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are less than the given time entries updated date.

updatedAt.geinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are greater than or equal to the given time entries updated date.

updatedAt.leinteger
Example:1625164800000

You can use this param to provide an epoch milli value and the responses will contain time entries whose date are less than or equal to the given time entries updated date.

Response

The requested action was successfully executed.

Example response

{
  "data": [
    {
      "timeEntryId": 201,
      "date": "2023-03-28",
      "minutes": 250,
      "activityName": "Pre-Sales campaign",
      "project": {
        "projectName": "Acme Onboarding",
        "projectId": 204
      },
      "task": {
        "taskName": "Kickoff meeting",
        "taskId": 201
      },
      "projectPhase": {
        "phaseId": 201,
        "phaseName": "Go live"
      },
      "createdAt": 1681319726000,
      "updatedAt": 1681319726000,
      "createdBy": {
        "emailId": "john.doe@rocketlane.com",
        "userId": 201,
        "firstName": "John",
        "lastName": "Doe"
      },
      "updatedBy": {
        "emailId": "john.doe@rocketlane.com",
        "userId": 201,
        "firstName": "John",
        "lastName": "Doe"
      },
      "billable": true,
      "user": {
        "emailId": "john.doe@rocketlane.com",
        "userId": 201,
        "firstName": "John",
        "lastName": "Doe"
      },
      "notes": "Working on API integration",
      "category": {
        "categoryName": "Pre-sales",
        "categoryId": 8
      },
      "sourceType": "Task",
      "submittedBy": {
        "emailId": "john.doe@rocketlane.com",
        "userId": 201,
        "firstName": "John",
        "lastName": "Doe"
      },
      "submittedAt": 1681319726000,
      "approvedBy": {
        "emailId": "john.doe@rocketlane.com",
        "userId": 201,
        "firstName": "John",
        "lastName": "Doe"
      },
      "approvedAt": 1681319726000,
      "rejectedBy": {
        "emailId": "john.doe@rocketlane.com",
        "userId": 201,
        "firstName": "John",
        "lastName": "Doe"
      },
      "rejectedAt": 1681319726000,
      "deleted": true,
      "costRate": {
        "rate": 40,
        "currency": "USD"
      },
      "billRate": {
        "rate": 40,
        "currency": "EUR"
      },
      "fields": [
        {
          "fieldId": 201,
          "fieldLabel": "MRR",
          "fieldValueLabel": "1000"
        }
      ]
    }
  ],
  "pagination": {
    "pageSize": 100,
    "hasMore": true,
    "totalRecordCount": 10398,
    "nextPage": "https://api.rocketlane.com/api/1.0/time-entries?includeFields=category,minutes&billable.eq=false&sortBy=startDate&sortOrder=desc&pageToken=e4a3dd8e-e338-11ed-b5ea-0242ac120002&limit=100&assignee.any=1&startDate.gt=2022-01-02",
    "nextPageToken": "e4a3dd8e-e338-11ed-b5ea-0242ac120002"
  }
}