Powershell / easybill REST API / Create time tracking
Back to Collection Items
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$http = New-Object Chilkat.Http
# Use this online tool to generate code from sample JSON: Generate Code to Create JSON
# The following JSON is sent in the request body.
# {
# "description": "<string>",
# "cleared_at": null,
# "created_at": "<dateTime>",
# "date_from_at": null,
# "date_thru_at": null,
# "hourly_rate": 0,
# "id": "<long>",
# "note": null,
# "number": "<string>",
# "position_id": null,
# "project_id": null,
# "login_id": "<long>",
# "timer_value": null
# }
$json = New-Object Chilkat.JsonObject
$json.UpdateString("description","<string>")
$json.UpdateNull("cleared_at")
$json.UpdateString("created_at","<dateTime>")
$json.UpdateNull("date_from_at")
$json.UpdateNull("date_thru_at")
$json.UpdateInt("hourly_rate",0)
$json.UpdateString("id","<long>")
$json.UpdateNull("note")
$json.UpdateString("number","<string>")
$json.UpdateNull("position_id")
$json.UpdateNull("project_id")
$json.UpdateString("login_id","<long>")
$json.UpdateNull("timer_value")
$http.SetRequestHeader("Content-Type","application/json")
$http.SetRequestHeader("Authorization","{{apiKey}}")
$http.SetRequestHeader("Accept","application/json")
$resp = $http.PostJson3("https://api.easybill.de/rest/v1/time-trackings","application/json",$json)
if ($http.LastMethodSuccess -eq $false) {
$($http.LastErrorText)
exit
}
$sbResponseBody = New-Object Chilkat.StringBuilder
$resp.GetBodySb($sbResponseBody)
$jResp = New-Object Chilkat.JsonObject
$jResp.LoadSb($sbResponseBody)
$jResp.EmitCompact = $false
$("Response Body:")
$($jResp.Emit())
$respStatusCode = $resp.StatusCode
$("Response Status Code = " + $respStatusCode)
if ($respStatusCode -ge 400) {
$("Response Header:")
$($resp.Header)
$("Failed.")
exit
}
# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)
# {
# "description": "<string>",
# "cleared_at": null,
# "created_at": "<dateTime>",
# "date_from_at": null,
# "date_thru_at": null,
# "hourly_rate": 0,
# "id": "<long>",
# "note": null,
# "number": "<string>",
# "position_id": null,
# "project_id": null,
# "login_id": "<long>",
# "timer_value": null
# }
# Sample code for parsing the JSON response...
# Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
$date_from_at = New-Object Chilkat.DtObj
$date_thru_at = New-Object Chilkat.DtObj
$description = $jResp.StringOf("description")
$cleared_at = $jResp.StringOf("cleared_at")
$created_at = $jResp.StringOf("created_at")
$jResp.DtOf("date_from_at",$false,$date_from_at)
$jResp.DtOf("date_thru_at",$false,$date_thru_at)
$hourly_rate = $jResp.IntOf("hourly_rate")
$id = $jResp.StringOf("id")
$note = $jResp.StringOf("note")
$v_number = $jResp.StringOf("number")
$position_id = $jResp.StringOf("position_id")
$project_id = $jResp.StringOf("project_id")
$login_id = $jResp.StringOf("login_id")
$timer_value = $jResp.StringOf("timer_value")
Curl Command
curl -X POST
-H "Authorization: {{apiKey}}"
-H "Content-Type: application/json"
-H "Accept: application/json"
-d '{
"description": "<string>",
"cleared_at": null,
"created_at": "<dateTime>",
"date_from_at": null,
"date_thru_at": null,
"hourly_rate": 0,
"id": "<long>",
"note": null,
"number": "<string>",
"position_id": null,
"project_id": null,
"login_id": "<long>",
"timer_value": null
}'
https://api.easybill.de/rest/v1/time-trackings
Postman Collection Item JSON
{
"name": "Create time tracking",
"request": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"description\": \"<string>\",\n \"cleared_at\": null,\n \"created_at\": \"<dateTime>\",\n \"date_from_at\": null,\n \"date_thru_at\": null,\n \"hourly_rate\": 0,\n \"id\": \"<long>\",\n \"note\": null,\n \"number\": \"<string>\",\n \"position_id\": null,\n \"project_id\": null,\n \"login_id\": \"<long>\",\n \"timer_value\": null\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/time-trackings",
"host": [
"{{baseUrl}}"
],
"path": [
"time-trackings"
]
}
},
"response": [
{
"name": "Successful operation",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "Accept",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"description\": \"<string>\",\n \"cleared_at\": null,\n \"created_at\": \"<dateTime>\",\n \"date_from_at\": null,\n \"date_thru_at\": null,\n \"hourly_rate\": 0,\n \"id\": \"<long>\",\n \"note\": null,\n \"number\": \"<string>\",\n \"position_id\": null,\n \"project_id\": null,\n \"login_id\": \"<long>\",\n \"timer_value\": null\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/time-trackings",
"host": [
"{{baseUrl}}"
],
"path": [
"time-trackings"
]
}
},
"status": "Created",
"code": 201,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"cookie": [
],
"body": "{\n \"description\": \"<string>\",\n \"cleared_at\": null,\n \"created_at\": \"<dateTime>\",\n \"date_from_at\": null,\n \"date_thru_at\": null,\n \"hourly_rate\": 0,\n \"id\": \"<long>\",\n \"note\": null,\n \"number\": \"<string>\",\n \"position_id\": null,\n \"project_id\": null,\n \"login_id\": \"<long>\",\n \"timer_value\": null\n}"
},
{
"name": "Too Many Requests",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "Content-Type",
"value": "application/json"
},
{
"description": "Added as a part of security scheme: apikey",
"key": "Authorization",
"value": "<API Key>"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"description\": \"<string>\",\n \"cleared_at\": null,\n \"created_at\": \"<dateTime>\",\n \"date_from_at\": null,\n \"date_thru_at\": null,\n \"hourly_rate\": 0,\n \"id\": \"<long>\",\n \"note\": null,\n \"number\": \"<string>\",\n \"position_id\": null,\n \"project_id\": null,\n \"login_id\": \"<long>\",\n \"timer_value\": null\n}",
"options": {
"raw": {
"headerFamily": "json",
"language": "json"
}
}
},
"url": {
"raw": "{{baseUrl}}/time-trackings",
"host": [
"{{baseUrl}}"
],
"path": [
"time-trackings"
]
}
},
"status": "Too Many Requests",
"code": 429,
"_postman_previewlanguage": "text",
"header": [
],
"cookie": [
],
"body": ""
}
]
}