| Requires any of the roles: | Worker, Agent, Administrator |
| POST,OPTIONS | /v1/TimeTracker/ClockInOut |
|---|
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| Timecard | body | TimeCard | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| AgentId | form | int | No | |
| CheckInId | form | int | No | |
| DateLogged | form | DateTime | No | |
| TimeIn | form | TimeSpan | No | |
| TimeInDate | form | DateTimeOffset | No | |
| TimeOut | form | TimeSpan | No | |
| TimeOutDate | form | DateTimeOffset | No | |
| TimeLogged | form | decimal | No | |
| PaymentType | form | int | No | |
| ServiceCodeId | form | int | No | |
| ServiceCode | form | string | No | |
| ServiceRate | form | decimal | No | |
| ServiceDescription | form | string | No | |
| WorkDescription | form | string | No | |
| AdjustedTimeIn | form | TimeSpan | No | |
| AdjustedTimeInDate | form | DateTimeOffset | No | |
| AdjustedTimeOut | form | TimeSpan | No | |
| AdjustedTimeOutDate | form | DateTimeOffset | No | |
| IsValid | form | bool | No | |
| Adjusted | form | bool | No | |
| ProjectID | form | int | No | |
| ProjectName | form | string | No | |
| ClientID | form | int | No | |
| ClientName | form | string | No | |
| CategoryID | form | int | No | |
| CategoryName | form | string | No | |
| JobID | form | int | No | |
| JobName | form | string | No |
| Name | Parameter | Data Type | Required | Description |
|---|---|---|---|---|
| ResponseStatus | form | ResponseStatus | No | |
| response | form | bool | No |
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/TimeTracker/ClockInOut HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Timecard:
{
AgentId: 0,
CheckInId: 0,
DateLogged: 0001-01-01,
TimeIn: PT0S,
TimeInDate: 0001-01-01T00:00:00.0000000+00:00,
TimeOut: PT0S,
TimeOutDate: 0001-01-01T00:00:00.0000000+00:00,
TimeLogged: 0,
PaymentType: 0,
ServiceCodeId: 0,
ServiceCode: String,
ServiceRate: 0,
ServiceDescription: String,
WorkDescription: String,
AdjustedTimeIn: PT0S,
AdjustedTimeInDate: 0001-01-01T00:00:00.0000000+00:00,
AdjustedTimeOut: PT0S,
AdjustedTimeOutDate: 0001-01-01T00:00:00.0000000+00:00,
IsValid: False,
Adjusted: False,
ProjectID: 0,
ProjectName: String,
ClientID: 0,
ClientName: String,
CategoryID: 0,
CategoryName: String,
JobID: 0,
JobName: String
}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
response: False
}