Reporting

Lists report-ready time-clock rows from the time-clock reporting view, including clock-in/clock-out times, computed shift hours, reason and clock codes, and override-audit context so callers do not need to hand-join timer entries to their reason and clock-code tags.

post/api/reporting/time-clock/list

Query parameters

Sort.Fieldstring

Sort field

Sort.Dir'ascending' | 'descending'

Specify sorting direction.

Sort direction

Skipinteger

Number of records to skip. Defaults to 0. Combine with FulcrumProduct.PublicApi.Dto.Common.PagingDto.Take to page through a result set larger than one page.

Takeinteger

Number of records to return. Validation accepts 0 through 5000, but 0 is not a page size and what an endpoint does with it varies, so send a value from 1 to 5000.

Two cases differ. A request that supplies paging but leaves this field out takes this field's default of <b>50</b>. A request that supplies no paging at all is endpoint-specific — some define their own fallback — so it does not reliably mean any particular number of records. Either way the response says nothing about records it did not return, so send this explicitly whenever the size of the answer matters. Endpoints returning a paged envelope report totalCount and hasNextPage alongside the records; endpoints returning a bare array report neither, so page those with FulcrumProduct.PublicApi.Dto.Common.PagingDto.Skip until a page comes back shorter than the value requested.

Request body

startedFromstring date-time nullable

Inclusive lower bound applied to the entry's clock-in time (Started). Null means no lower bound.

startedTostring date-time nullable

Inclusive upper bound applied to the entry's clock-in time (Started); the whole to day is included. Null means no upper bound.

stoppedFromstring date-time nullable

Inclusive lower bound on the entry's clock-out time (Stopped), as a whole day in UTC rather than the shop's timezone. An entry not yet stopped never matches. Null means no lower bound.

stoppedTostring date-time nullable

Inclusive upper bound on the entry's clock-out time (Stopped), as a whole day in UTC rather than the shop's timezone. An entry not yet stopped never matches. Null means no upper bound.

employeestring nullable

Optional exact-match filter on the operator / employee name. Null means no employee filter.

typestring nullable

Optional exact-match filter on the timer-entry type (ClockIn or Break). Null means no type filter.

Response

A page of time-clock report rows with the total matching count.

pageinteger required

The 1-indexed page

pageSizeinteger required

The page size

totalCountinteger required

The total count of records

totalPagesinteger required

The total pages

hasPreviousPageboolean required

True if there is a previous page

hasNextPageboolean required

True if there is a next page

Changes

Changed in 1 of the 23 revisions of this API.8

    • ○

      added the new optional request property (media type: application/json-patch+json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: application/json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: text/json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: application/*+json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: application/json-patch+json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: application/json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: text/json)

      new-optional-request-property

    • ○

      added the new optional request property (media type: application/*+json)

      new-optional-request-property