The Time endpoint supports GET, PUT and POST.

The purpose is to allow you to GET time and material entries and add or update time entries. Using this endpoint it would be possible to have Streamtime interact with another time billing system or allow the creation of a time entry tool or widget.

 

The available criteria when doing a GET in the API Previewer are -

Time Entry UID: not visible in Streamtime so a GET can be run to find the UID before going a POST to update a time or material entry.

Job UID: is the Job UID (not the Job Number) the time entry is being captured against. To retrieve the Job UID do a GET against the Jobs endpoint for the Job Number.

Task UID: allows the time entry to be related to a Streamtime task so the time will appear 

Billable: is the billable/non-billable tag. By doing a GET against a Job or Task it is possible to check to see if the time entry should be added as billable or not.

Category: is the Cost matrix Category.

Material: is the Cost Matrix Task/Material.

Staff Code: Staff code is the 3 letter code attributed to a user when they are created. It can be viewed in the Setup - System Setup - Users - Staff Licensed to Use Streamtime list as CODE. This field is validated when doing a PUT or POST.

Date Created: is the date the time entry was created (actual start and end times are returned in a GET and available when doing the PUT/POST but only date can be searched with the API Previewer.)

When doing a PUT or POST the user code is validated to ensure your capturing time for a current Streamtime user. The following error is returned when the user code doesn't exist. 

 

{
   "Result": "Error",
   "TimeEntries": {
      "TimeEntry": [{
         "Result": "Error",
         "Message": "Invalid StaffCode",
         "UID": "XXXX"
      }]
   }
}

 

The full list of fields returned when doing a GET are -

 

'UID'
'JobUID'
'JobNo'
'RelatedTaskUID'
'Billable'
'Catetory'
'Category'
'Material'
'MaterialCost'
'MaterialQty'
'Notes'
'StaffCode'
'Date'
'TimeStart'
'TimeFinish'

Important: JobNumber and JobUID are both the Job UID which is only visible by doing a GET against the Jobs endpoint. This is what you MUST use when doing a PUT or POST a time entry against. JobNo is the actual job number which is visible in the Streamtime interface. This is useful for doing a GET/search against the Time endpoint but should not be used in isolation when doing a PUT or POST.

 

Catetory and Category are also both the Cost Matrix Category field.

The Job UID labelled as JobNumber and Category as Catetory are returned/displayed only when doing a GET and are maintained in the API only as they are the original descriptions used when the API was first developed and were mislabeled/misspelled, and may still be in use by some customers.

Did this answer your question?