AlphaAlpha Docs

H R Time Entry

API calls for HR time entries

Create a time entry

POST
/hr/time-entries
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:18080/api/v1/hr/time-entries" \  -H "Content-Type: application/json" \  -d '{    "date": "2019-08-24",    "employeeId": "string",    "hours": 0.1  }'
{
  "approvedAt": "2019-08-24T14:15:22Z",
  "approvedBy": "string",
  "billable": true,
  "billingRate": 0.1,
  "clientId": "string",
  "created": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "date": "2019-08-24",
  "description": "string",
  "employee": {
    "avatar": "string",
    "department": "string",
    "email": "string",
    "fullName": "string",
    "id": "string",
    "jobTitle": "string"
  },
  "employeeId": "string",
  "events": [
    {
      "authorId": "string",
      "date": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "string",
      "type": "CREATE"
    }
  ],
  "hours": 0.1,
  "id": "string",
  "opportunityId": "string",
  "projectId": "string",
  "rejectionReason": "string",
  "startTime": "string",
  "status": "DRAFT",
  "task": {
    "id": "string",
    "name": "string"
  },
  "taskId": "string",
  "tenantId": "string",
  "updated": "2019-08-24T14:15:22Z",
  "updatedBy": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Approve time entries

POST
/hr/time-entries/approve
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:18080/api/v1/hr/time-entries/approve" \  -H "Content-Type: application/json" \  -d '{    "ids": [      "string"    ]  }'
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employee": {
      "avatar": "string",
      "department": "string",
      "email": "string",
      "fullName": "string",
      "id": "string",
      "jobTitle": "string"
    },
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "task": {
      "id": "string",
      "name": "string"
    },
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time entries by client

GET
/hr/time-entries/by-client/{clientId}
AuthorizationBearer <token>

In: header

Path Parameters

clientId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/by-client/string"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time entries by employee

GET
/hr/time-entries/by-employee/{employeeId}
AuthorizationBearer <token>

In: header

Path Parameters

employeeId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/by-employee/string"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time entries by employee and date range

GET
/hr/time-entries/by-employee/{employeeId}/range
AuthorizationBearer <token>

In: header

Path Parameters

employeeId*string

Query Parameters

startDate*string
Formatdate
endDate*string
Formatdate

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/by-employee/string/range?startDate=2019-08-24&endDate=2019-08-24"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time entries by opportunity

GET
/hr/time-entries/by-opportunity/{opportunityId}
AuthorizationBearer <token>

In: header

Path Parameters

opportunityId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/by-opportunity/string"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time entries by project

GET
/hr/time-entries/by-project/{projectId}
AuthorizationBearer <token>

In: header

Path Parameters

projectId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/by-project/string"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time entries by task

GET
/hr/time-entries/by-task/{taskId}
AuthorizationBearer <token>

In: header

Path Parameters

taskId*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/by-task/string"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Download Csv_ Time Entry

GET
/hr/time-entries/csv-export
AuthorizationBearer <token>

In: header

Query Parameters

search?array<>
filters?array<>
page?integer
Default0
Formatint32
size?integer
Default20
Formatint32
sort?string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/csv-export"
"string"
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Delete a list of entities by their IDs

DELETE
/hr/time-entries/delete-list
AuthorizationBearer <token>

In: header

Query Parameters

ids*array<>

Response Body

application/json

application/json

application/json

curl -X DELETE "http://localhost:18080/api/v1/hr/time-entries/delete-list?ids=string"
Empty
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Dynamic Search_ Time Entry

GET
/hr/time-entries/dynamic-search
AuthorizationBearer <token>

In: header

Query Parameters

search?array<>
filters?array<>
page?integer
Default0
Formatint32
size?integer
Default20
Formatint32
sort?string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/dynamic-search"
{
  "content": [
    {
      "approvedAt": "2019-08-24T14:15:22Z",
      "approvedBy": "string",
      "billable": true,
      "billingRate": 0.1,
      "clientId": "string",
      "created": "2019-08-24T14:15:22Z",
      "createdBy": "string",
      "date": "2019-08-24",
      "description": "string",
      "employeeId": "string",
      "events": [
        {
          "authorId": "string",
          "date": "2019-08-24T14:15:22Z",
          "description": "string",
          "id": "string",
          "type": "CREATE"
        }
      ],
      "hours": 0.1,
      "id": "string",
      "opportunityId": "string",
      "projectId": "string",
      "rejectionReason": "string",
      "startTime": "string",
      "status": "DRAFT",
      "taskId": "string",
      "tenantId": "string",
      "updated": "2019-08-24T14:15:22Z",
      "updatedBy": "string"
    }
  ],
  "empty": true,
  "first": true,
  "last": true,
  "number": 0,
  "numberOfElements": 0,
  "pageable": {
    "offset": 0,
    "pageNumber": 0,
    "pageSize": 0,
    "paged": true,
    "sort": {
      "empty": true,
      "sorted": true,
      "unsorted": true
    },
    "unpaged": true
  },
  "size": 0,
  "sort": {
    "empty": true,
    "sorted": true,
    "unsorted": true
  },
  "totalElements": 0,
  "totalPages": 0
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Dynamic Search Post_ Time Entry

POST
/hr/time-entries/dynamic-search
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:18080/api/v1/hr/time-entries/dynamic-search" \  -H "Content-Type: application/json" \  -d '{    "filters": {      "property1": null,      "property2": null    },    "page": 0,    "search": [      "string"    ],    "size": 0,    "sort": [      {        "ascending": true,        "field": "string"      }    ]  }'
{
  "content": [
    {
      "approvedAt": "2019-08-24T14:15:22Z",
      "approvedBy": "string",
      "billable": true,
      "billingRate": 0.1,
      "clientId": "string",
      "created": "2019-08-24T14:15:22Z",
      "createdBy": "string",
      "date": "2019-08-24",
      "description": "string",
      "employeeId": "string",
      "events": [
        {
          "authorId": "string",
          "date": "2019-08-24T14:15:22Z",
          "description": "string",
          "id": "string",
          "type": "CREATE"
        }
      ],
      "hours": 0.1,
      "id": "string",
      "opportunityId": "string",
      "projectId": "string",
      "rejectionReason": "string",
      "startTime": "string",
      "status": "DRAFT",
      "taskId": "string",
      "tenantId": "string",
      "updated": "2019-08-24T14:15:22Z",
      "updatedBy": "string"
    }
  ],
  "empty": true,
  "first": true,
  "last": true,
  "number": 0,
  "numberOfElements": 0,
  "pageable": {
    "offset": 0,
    "pageNumber": 0,
    "pageSize": 0,
    "paged": true,
    "sort": {
      "empty": true,
      "sorted": true,
      "unsorted": true
    },
    "unpaged": true
  },
  "size": 0,
  "sort": {
    "empty": true,
    "sorted": true,
    "unsorted": true
  },
  "totalElements": 0,
  "totalPages": 0
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Find by list of ids in current tenant

GET
/hr/time-entries/find
AuthorizationBearer <token>

In: header

Query Parameters

ids*array<>

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/find?ids=string"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Find all for current tenant

GET
/hr/time-entries/find-all
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/find-all"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Find a list of entities by their IDs

GET
/hr/time-entries/find-list
AuthorizationBearer <token>

In: header

Query Parameters

ids?array<>

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/find-list"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Find by id in current tenant

GET
/hr/time-entries/find/{id}
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/find/string"
{
  "approvedAt": "2019-08-24T14:15:22Z",
  "approvedBy": "string",
  "billable": true,
  "billingRate": 0.1,
  "clientId": "string",
  "created": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "date": "2019-08-24",
  "description": "string",
  "employeeId": "string",
  "events": [
    {
      "authorId": "string",
      "date": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "string",
      "type": "CREATE"
    }
  ],
  "hours": 0.1,
  "id": "string",
  "opportunityId": "string",
  "projectId": "string",
  "rejectionReason": "string",
  "startTime": "string",
  "status": "DRAFT",
  "taskId": "string",
  "tenantId": "string",
  "updated": "2019-08-24T14:15:22Z",
  "updatedBy": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get my time stats

GET
/hr/time-entries/my/stats
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/my/stats"
{
  "averageHoursPerDay": 0.1,
  "businessDaysElapsed": 0,
  "currentStreak": 0,
  "dailyHours": [
    {
      "date": "2019-08-24",
      "hours": 0.1
    }
  ],
  "hoursThisMonth": 0.1,
  "totalHoursAllTime": 0.1,
  "workingDaysThisMonth": 0
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get my weekly timesheet

GET
/hr/time-entries/my/week
AuthorizationBearer <token>

In: header

Query Parameters

weekOffset?integer
Default0
Formatint32

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/my/week"
{
  "employeeId": "string",
  "entries": [
    {
      "approvedAt": "2019-08-24T14:15:22Z",
      "approvedBy": "string",
      "billable": true,
      "billingRate": 0.1,
      "clientId": "string",
      "created": "2019-08-24T14:15:22Z",
      "createdBy": "string",
      "date": "2019-08-24",
      "description": "string",
      "employee": {
        "avatar": "string",
        "department": "string",
        "email": "string",
        "fullName": "string",
        "id": "string",
        "jobTitle": "string"
      },
      "employeeId": "string",
      "events": [
        {
          "authorId": "string",
          "date": "2019-08-24T14:15:22Z",
          "description": "string",
          "id": "string",
          "type": "CREATE"
        }
      ],
      "hours": 0.1,
      "id": "string",
      "opportunityId": "string",
      "projectId": "string",
      "rejectionReason": "string",
      "startTime": "string",
      "status": "DRAFT",
      "task": {
        "id": "string",
        "name": "string"
      },
      "taskId": "string",
      "tenantId": "string",
      "updated": "2019-08-24T14:15:22Z",
      "updatedBy": "string"
    }
  ],
  "targetHours": 0.1,
  "totalHours": 0.1,
  "weekStart": "2019-08-24"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get paginated time entries

GET
/hr/time-entries/page
AuthorizationBearer <token>

In: header

Query Parameters

pageNumber?integer
Formatint32
pageSize?integer
Formatint32
sortBy?string
direction?string
Value in"ASC" | "DESC"
search?string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/page"
{
  "content": [
    {
      "approvedAt": "2019-08-24T14:15:22Z",
      "approvedBy": "string",
      "billable": true,
      "billingRate": 0.1,
      "clientId": "string",
      "created": "2019-08-24T14:15:22Z",
      "createdBy": "string",
      "date": "2019-08-24",
      "description": "string",
      "employeeId": "string",
      "events": [
        {
          "authorId": "string",
          "date": "2019-08-24T14:15:22Z",
          "description": "string",
          "id": "string",
          "type": "CREATE"
        }
      ],
      "hours": 0.1,
      "id": "string",
      "opportunityId": "string",
      "projectId": "string",
      "rejectionReason": "string",
      "startTime": "string",
      "status": "DRAFT",
      "taskId": "string",
      "tenantId": "string",
      "updated": "2019-08-24T14:15:22Z",
      "updatedBy": "string"
    }
  ],
  "empty": true,
  "first": true,
  "last": true,
  "number": 0,
  "numberOfElements": 0,
  "pageable": {
    "offset": 0,
    "pageNumber": 0,
    "pageSize": 0,
    "paged": true,
    "sort": {
      "empty": true,
      "sorted": true,
      "unsorted": true
    },
    "unpaged": true
  },
  "size": 0,
  "sort": {
    "empty": true,
    "sorted": true,
    "unsorted": true
  },
  "totalElements": 0,
  "totalPages": 0
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get pending approvals

GET
/hr/time-entries/pending-approval
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/pending-approval"
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employee": {
      "avatar": "string",
      "department": "string",
      "email": "string",
      "fullName": "string",
      "id": "string",
      "jobTitle": "string"
    },
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "task": {
      "id": "string",
      "name": "string"
    },
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get time report

GET
/hr/time-entries/report
AuthorizationBearer <token>

In: header

Query Parameters

startDate*string
Formatdate
endDate*string
Formatdate

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/report?startDate=2019-08-24&endDate=2019-08-24"
{
  "billableHours": 0.1,
  "byClient": [
    {
      "billableHours": 0.1,
      "clientId": "string",
      "hours": 0.1
    }
  ],
  "byEmployee": [
    {
      "billableHours": 0.1,
      "currency": "string",
      "employeeId": "string",
      "employeeName": "string",
      "hourlyRate": 0.1,
      "hours": 0.1,
      "totalCost": 0.1
    }
  ],
  "byProject": [
    {
      "hours": 0.1,
      "projectId": "string"
    }
  ],
  "endDate": "2019-08-24",
  "startDate": "2019-08-24",
  "totalHours": 0.1
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
GET
/hr/time-entries/report/trends
AuthorizationBearer <token>

In: header

Query Parameters

startDate*string
Formatdate
endDate*string
Formatdate

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/report/trends?startDate=2019-08-24&endDate=2019-08-24"
{
  "billableHours": 0.1,
  "byClient": [
    {
      "billableHours": 0.1,
      "clientId": "string",
      "hours": 0.1
    }
  ],
  "byEmployee": [
    {
      "billableHours": 0.1,
      "currency": "string",
      "employeeId": "string",
      "employeeName": "string",
      "hourlyRate": 0.1,
      "hours": 0.1,
      "totalCost": 0.1
    }
  ],
  "byProject": [
    {
      "hours": 0.1,
      "projectId": "string"
    }
  ],
  "endDate": "2019-08-24",
  "monthlyTrends": [
    {
      "billableHours": 0.1,
      "employeeCount": 0,
      "month": "string",
      "totalCost": 0.1,
      "totalHours": 0.1
    }
  ],
  "startDate": "2019-08-24",
  "totalCost": 0.1,
  "totalHours": 0.1
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Submit time entries for approval

POST
/hr/time-entries/submit
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:18080/api/v1/hr/time-entries/submit" \  -H "Content-Type: application/json" \  -d '{    "ids": [      "string"    ]  }'
[
  {
    "approvedAt": "2019-08-24T14:15:22Z",
    "approvedBy": "string",
    "billable": true,
    "billingRate": 0.1,
    "clientId": "string",
    "created": "2019-08-24T14:15:22Z",
    "createdBy": "string",
    "date": "2019-08-24",
    "description": "string",
    "employee": {
      "avatar": "string",
      "department": "string",
      "email": "string",
      "fullName": "string",
      "id": "string",
      "jobTitle": "string"
    },
    "employeeId": "string",
    "events": [
      {
        "authorId": "string",
        "date": "2019-08-24T14:15:22Z",
        "description": "string",
        "id": "string",
        "type": "CREATE"
      }
    ],
    "hours": 0.1,
    "id": "string",
    "opportunityId": "string",
    "projectId": "string",
    "rejectionReason": "string",
    "startTime": "string",
    "status": "DRAFT",
    "task": {
      "id": "string",
      "name": "string"
    },
    "taskId": "string",
    "tenantId": "string",
    "updated": "2019-08-24T14:15:22Z",
    "updatedBy": "string"
  }
]
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Get enriched time entry

GET
/hr/time-entries/{id}
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

application/json

curl -X GET "http://localhost:18080/api/v1/hr/time-entries/string"
{
  "approvedAt": "2019-08-24T14:15:22Z",
  "approvedBy": "string",
  "billable": true,
  "billingRate": 0.1,
  "clientId": "string",
  "created": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "date": "2019-08-24",
  "description": "string",
  "employee": {
    "avatar": "string",
    "department": "string",
    "email": "string",
    "fullName": "string",
    "id": "string",
    "jobTitle": "string"
  },
  "employeeId": "string",
  "events": [
    {
      "authorId": "string",
      "date": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "string",
      "type": "CREATE"
    }
  ],
  "hours": 0.1,
  "id": "string",
  "opportunityId": "string",
  "projectId": "string",
  "rejectionReason": "string",
  "startTime": "string",
  "status": "DRAFT",
  "task": {
    "id": "string",
    "name": "string"
  },
  "taskId": "string",
  "tenantId": "string",
  "updated": "2019-08-24T14:15:22Z",
  "updatedBy": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Update a time entry

PATCH
/hr/time-entries/{id}
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X PATCH "http://localhost:18080/api/v1/hr/time-entries/string" \  -H "Content-Type: application/json" \  -d '{    "date": "2019-08-24",    "employeeId": "string",    "hours": 0.1  }'
{
  "approvedAt": "2019-08-24T14:15:22Z",
  "approvedBy": "string",
  "billable": true,
  "billingRate": 0.1,
  "clientId": "string",
  "created": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "date": "2019-08-24",
  "description": "string",
  "employee": {
    "avatar": "string",
    "department": "string",
    "email": "string",
    "fullName": "string",
    "id": "string",
    "jobTitle": "string"
  },
  "employeeId": "string",
  "events": [
    {
      "authorId": "string",
      "date": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "string",
      "type": "CREATE"
    }
  ],
  "hours": 0.1,
  "id": "string",
  "opportunityId": "string",
  "projectId": "string",
  "rejectionReason": "string",
  "startTime": "string",
  "status": "DRAFT",
  "task": {
    "id": "string",
    "name": "string"
  },
  "taskId": "string",
  "tenantId": "string",
  "updated": "2019-08-24T14:15:22Z",
  "updatedBy": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Delete by id in current tenant

DELETE
/hr/time-entries/{id}
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Response Body

application/json

application/json

application/json

curl -X DELETE "http://localhost:18080/api/v1/hr/time-entries/string"
Empty
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Add a comment to an entity

POST
/hr/time-entries/{id}/comment
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

body*string

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:18080/api/v1/hr/time-entries/string/comment" \  -H "Content-Type: application/json" \  -d 'string'
{
  "approvedAt": "2019-08-24T14:15:22Z",
  "approvedBy": "string",
  "billable": true,
  "billingRate": 0.1,
  "clientId": "string",
  "created": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "date": "2019-08-24",
  "description": "string",
  "employee": {
    "avatar": "string",
    "department": "string",
    "email": "string",
    "fullName": "string",
    "id": "string",
    "jobTitle": "string"
  },
  "employeeId": "string",
  "events": [
    {
      "authorId": "string",
      "date": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "string",
      "type": "CREATE"
    }
  ],
  "hours": 0.1,
  "id": "string",
  "opportunityId": "string",
  "projectId": "string",
  "rejectionReason": "string",
  "startTime": "string",
  "status": "DRAFT",
  "task": {
    "id": "string",
    "name": "string"
  },
  "taskId": "string",
  "tenantId": "string",
  "updated": "2019-08-24T14:15:22Z",
  "updatedBy": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}

Reject a time entry

POST
/hr/time-entries/{id}/reject
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

reason*string

Response Body

application/json

application/json

application/json

application/json

curl -X POST "http://localhost:18080/api/v1/hr/time-entries/string/reject" \  -H "Content-Type: application/json" \  -d '{    "reason": "string"  }'
{
  "approvedAt": "2019-08-24T14:15:22Z",
  "approvedBy": "string",
  "billable": true,
  "billingRate": 0.1,
  "clientId": "string",
  "created": "2019-08-24T14:15:22Z",
  "createdBy": "string",
  "date": "2019-08-24",
  "description": "string",
  "employee": {
    "avatar": "string",
    "department": "string",
    "email": "string",
    "fullName": "string",
    "id": "string",
    "jobTitle": "string"
  },
  "employeeId": "string",
  "events": [
    {
      "authorId": "string",
      "date": "2019-08-24T14:15:22Z",
      "description": "string",
      "id": "string",
      "type": "CREATE"
    }
  ],
  "hours": 0.1,
  "id": "string",
  "opportunityId": "string",
  "projectId": "string",
  "rejectionReason": "string",
  "startTime": "string",
  "status": "DRAFT",
  "task": {
    "id": "string",
    "name": "string"
  },
  "taskId": "string",
  "tenantId": "string",
  "updated": "2019-08-24T14:15:22Z",
  "updatedBy": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}
{
  "detail": "string",
  "time": "2019-08-24T14:15:22Z",
  "title": "string"
}