{"id":13043,"date":"2020-10-29T18:05:49","date_gmt":"2020-10-29T17:05:49","guid":{"rendered":"https:\/\/wpstaging.timetrackapp.com\/api\/"},"modified":"2024-07-23T10:06:36","modified_gmt":"2024-07-23T08:06:36","slug":"api","status":"publish","type":"page","link":"https:\/\/wpstaging.timetrackapp.com\/en\/api\/","title":{"rendered":"API"},"content":{"rendered":"\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-k6jj58ve-95b4c89849d89dd5b4e64b3ad7d614f7\">\n.avia-section.av-k6jj58ve-95b4c89849d89dd5b4e64b3ad7d614f7{\nbackground-repeat:no-repeat;\nbackground-image:url(https:\/\/wpstaging.timetrackapp.com\/wp-content\/uploads\/2020\/02\/img_are_you_freelancer.jpg);\nbackground-position:50% 50%;\nbackground-attachment:scroll;\n}\n.avia-section.av-k6jj58ve-95b4c89849d89dd5b4e64b3ad7d614f7 .av-section-color-overlay{\nopacity:1;\n}\n<\/style>\n<div id='call-to-action'  class='avia-section av-k6jj58ve-95b4c89849d89dd5b4e64b3ad7d614f7 main_color avia-section-large avia-no-border-styling  avia-builder-el-0  el_before_av_four_fifth  avia-builder-el-first  avia-bg-style-scroll av-section-color-overlay-active container_wrap fullsize'  data-section-bg-repeat='no-repeat'><div class=\"av-section-color-overlay-wrap\"><div class=\"av-section-color-overlay\"><\/div><div class='container av-section-cont-open' ><main  role=\"main\" itemprop=\"mainContentOfPage\"  class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-13043'><div class='entry-content-wrapper clearfix'>\n<section  class='av_textblock_section av-k6jjc1w6-d2a3e2b3ffad0185ecf50fe4378d1a8d '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h1 class=\"custom_h1\" style=\"color: #fff;\">API<\/h1>\n<p><span style=\"color: #ffffff;\">Use TimeTrack Rest API to integrate TimeTrack with other systems.<br \/>\nHappy Coding!<\/span><\/p>\n<\/div><\/section>\n<\/div><\/div><\/main><!-- close content main element --><\/div><\/div><\/div><div id='after_section_1'  class='main_color av_default_container_wrap container_wrap fullsize'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-13043'><div class='entry-content-wrapper clearfix'>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-sg89v4-a99834917633dfe69a13bde651f35b15\">\n.flex_column.av-sg89v4-a99834917633dfe69a13bde651f35b15{\nborder-radius:0px 0px 0px 0px;\npadding:0px 0px 0px 0px;\n}\n<\/style>\n<div  class='flex_column av-sg89v4-a99834917633dfe69a13bde651f35b15 av_four_fifth  avia-builder-el-2  el_after_av_section  el_before_av_one_fifth  avia-builder-el-first  first flex_column_div av-zero-column-padding  '     ><section  class='av_textblock_section av-kgushhyh-a40554079de2f343a79fe7c6e865b4d0 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h2>Introduction<\/h2>\n<p>Dear Developers, you can use TimeTrack API to access and manage Resources from your TimeTrack Enterprise account.<\/p>\n<p>Currently you can manage following resources:<\/p>\n<ul>\n<li>Clients<\/li>\n<li>Projects<\/li>\n<li>Tasks<\/li>\n<li>Project Time Entries<\/li>\n<li>Expenses<\/li>\n<li>Attendances<\/li>\n<li>Absences (Paid Leave, Sick Leave etc.)<\/li>\n<li>Absence Types<\/li>\n<li>Project Timer<\/li>\n<li>Attendance Timer<\/li>\n<li>User Reports \/ Timesheets<\/li>\n<\/ul>\n<p>We will be constantly extended, so please make sure to check the documentation.\u00a0Examples are in shell as CURL.<\/p>\n<p>If you see any inconsistencies, please contact us at support AT timetrackenterprise.com<\/p>\n<p>Your TimeTrack Team wish you Happy Coding!<\/p>\n<\/div><\/section><\/div>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-kguof6g6-97f8f79cefbcca3ddbdec2b8541426be\">\n.flex_column.av-kguof6g6-97f8f79cefbcca3ddbdec2b8541426be{\nborder-radius:0px 0px 0px 0px;\npadding:0px 0px 0px 0px;\n}\n<\/style>\n<div  class='flex_column av-kguof6g6-97f8f79cefbcca3ddbdec2b8541426be av_one_fifth  avia-builder-el-4  el_after_av_four_fifth  el_before_av_section  avia-builder-el-last  flex_column_div av-zero-column-padding  '     ><section  class='av_textblock_section av-kguoffk6-c7fc6bdf8ba12cf48c24e35eca104db4 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock'  itemprop=\"text\" ><h2>Resources<\/h2>\n<ul>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/clients\/\">Clients<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/projects\/\">Projects<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/tasks\/\">Tasks<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/project-time-entries\/\">Project Time Entries<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/expenses\/\">Expenses<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/attendance-time-entries\/\">Attendances<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/absences\/\">Absences<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/absence-types\/\">Absence Types<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/timers\/#projekt-stempeluhr\">Project Timer<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/timers\/#arbeitszeit-stempeluhr\">Attendance Timer<\/a><\/li>\n<li><a href=\"https:\/\/wpstaging.timetrackapp.com\/en\/api\/timesheets\/\">User Reports<\/a><\/li>\n<\/ul>\n<\/div><\/section><\/div>\n<\/div><\/div><\/div><!-- close content main div --><\/div><\/div>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-kguszftx-60407e6e9b88145511ec701dd5c22e3e\">\n.avia-section.av-kguszftx-60407e6e9b88145511ec701dd5c22e3e{\nbackground-color:#f6f7f9;\nbackground-image:unset;\n}\n<\/style>\n<div id='av_section_2'  class='avia-section av-kguszftx-60407e6e9b88145511ec701dd5c22e3e main_color avia-section-default avia-no-border-styling  avia-builder-el-6  el_after_av_one_fifth  avia-builder-el-last  avia-bg-style-scroll container_wrap fullsize'  ><div class='container av-section-cont-open' ><div class='template-page content  av-content-full alpha units'><div class='post-entry post-entry-type-page post-entry-13043'><div class='entry-content-wrapper clearfix'>\n\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-wllxjk-0accdf8b7894aa738181a56444ad054e\">\n.flex_column.av-wllxjk-0accdf8b7894aa738181a56444ad054e{\nborder-radius:0px 0px 0px 0px;\npadding:0px 0px 0px 0px;\n}\n<\/style>\n<div  class='flex_column av-wllxjk-0accdf8b7894aa738181a56444ad054e av_four_fifth  avia-builder-el-7  avia-builder-el-no-sibling  first flex_column_div av-zero-column-padding  '     ><section  class='av_textblock_section av-5dzxbao-39e3db151b62e2655bed12d07bad6556 '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock page_api'  itemprop=\"text\" ><h2>General<\/h2>\n<h3>Authentication<\/h3>\n<p>TimeTrack uses App Key and App Secret for authentication. You can get App Key and App Secret in Web-App \/ Settings \/ General \/ API. Use App Secret and App Key in every request like in this example:<\/p>\n<blockquote>\n<p>curl &#8220;&lt;<em>ENDPOINT_URL<\/em>&gt;&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;<strong>X-TimeTrack-Api-Secret<\/strong>: &lt;<em>APP_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;<strong>X-TimeTrack-Api-Key<\/strong>: &lt;<em>APP_KEY&gt;<\/em>&#8216;<\/p>\n<\/blockquote>\n<p>App Key and Secret will be automatically generated for you. You can generate new App Secret anytime.<\/p>\n<p>&lt;<em>APP_SECRET_TOKEN<\/em>&gt; has to be replaces by your App Secret from Web-App \/ Settings \/ General \/ API.<\/p>\n<p>&lt;<em>APP_KEY<\/em>&gt; has to be replaces by your App Key from Web-App \/ Settings \/ General \/ API.<\/p>\n<p>In the following example we will be using <em>TESTACCOUNT<\/em> as Example account. Make sure to use your account during the implementation.<\/p>\n<h3>Pagination<\/h3>\n<p>For READ Requests the records will be returned in pages. If you don&#8217;t send page or limit, you will get 50 records.<\/p>\n<p>You can control paging with &#8220;<strong>page_number<\/strong>&#8221; (0 to infinite) and &#8220;<strong>limit<\/strong>&#8221; (0 to 1000). You need to pass them with other URL parameters. Max values for limit is 1000 records.<\/p>\n<h3>Date format<\/h3>\n<p>All requests and responses are in JSON format.<\/p>\n<p>Date format is YYYY-MM-DD. Examples: 2020-10-23, 2020-01-01<\/p>\n<p>Timestamp YYYY-MM-DDTHH:MM:SSZ. Examples: 2020-10-23T14:30:00Z, 2020-10-23T00:00:00.000Z<\/p>\n<p>Number formats, Example: hourRate 20.5.<\/p>\n<p>Booleans, Example: true or false, 1 or 0<\/p>\n<h3>Error messages<\/h3>\n<p>Errors will be presented in following format:<\/p>\n<blockquote>\n<p>{<br \/>\n&#8220;errors&#8221;: [<br \/>\n{<br \/>\n&#8220;title&#8221;: &#8220;TimeEntry exist but it is deleted&#8221;,<br \/>\n&#8220;status&#8221;: 404,<br \/>\n&#8220;code&#8221;: 15020,<br \/>\n&#8220;detail&#8221;: &#8220;TimeEntry is deleted and can not be used.&#8221;<br \/>\n}<br \/>\n]<br \/>\n}<\/p>\n<\/blockquote>\n<p>Title returns the main error message.<\/p>\n<p>Status Codes:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Code<\/th>\n<th>Description<\/th>\n<\/tr>\n<tr>\n<td>401<\/td>\n<td>Authentification didn&#8217;t work, please check App Key and Secret.<\/td>\n<\/tr>\n<tr>\n<td>403<\/td>\n<td>Action not allowed<\/td>\n<\/tr>\n<tr>\n<td>404<\/td>\n<td>Record not found<\/td>\n<\/tr>\n<tr>\n<td>422<\/td>\n<td>Conflict on update or params are wrong<\/td>\n<\/tr>\n<tr>\n<td>500<\/td>\n<td>Internal server error<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Code ist internal error code that can help us find the cause, please send it to us if you have any problems.<\/p>\n<p>Detail: gives more information about the error, if available.<\/p>\n<h3>Throttling<\/h3>\n<p>Currently request rates are limited to 30 requests per minute. For On-Premise clients we can change this value.<\/p>\n<\/div><\/section><\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-13043","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/pages\/13043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/comments?post=13043"}],"version-history":[{"count":0,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/pages\/13043\/revisions"}],"wp:attachment":[{"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/media?parent=13043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/categories?post=13043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/tags?post=13043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}