{"id":13098,"date":"2020-10-30T11:53:13","date_gmt":"2020-10-30T10:53:13","guid":{"rendered":"https:\/\/wpstaging.timetrackapp.com\/api\/api-expenses\/"},"modified":"2023-03-01T13:02:20","modified_gmt":"2023-03-01T12:02:20","slug":"expenses","status":"publish","type":"page","link":"https:\/\/wpstaging.timetrackapp.com\/en\/api\/expenses\/","title":{"rendered":"API &#8211; Expenses"},"content":{"rendered":"\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-k6jj58ve-4d1f16dc3a5c8647855d83f7f4eaf395\">\n.avia-section.av-k6jj58ve-4d1f16dc3a5c8647855d83f7f4eaf395{\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-4d1f16dc3a5c8647855d83f7f4eaf395 .av-section-color-overlay{\nopacity:1;\n}\n<\/style>\n<div id='call-to-action'  class='avia-section av-k6jj58ve-4d1f16dc3a5c8647855d83f7f4eaf395 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-13098'><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-13098'><div class='entry-content-wrapper clearfix'>\n<style type=\"text\/css\" data-created_by=\"avia_inline_auto\" id=\"style-css-av-n9kvsa-79ba5da4f0c1a23e4152120dd2d96f7e\">\n.flex_column.av-n9kvsa-79ba5da4f0c1a23e4152120dd2d96f7e{\nborder-radius:0px 0px 0px 0px;\npadding:0px 0px 0px 0px;\n}\n<\/style>\n<div  class='flex_column av-n9kvsa-79ba5da4f0c1a23e4152120dd2d96f7e 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-5dzxbao-ff2e6b2f2f3b105aee569e8ac6cf19bf '   itemscope=\"itemscope\" itemtype=\"https:\/\/schema.org\/CreativeWork\" ><div class='avia_textblock page_api'  itemprop=\"text\" ><h2>Expenses<\/h2>\n<p>With expenses endpoint you can:<\/p>\n<ul>\n<li>Get all expenses without filter<\/li>\n<li>Get all expenses with filter<\/li>\n<li>Read expense<\/li>\n<li>Create expense<\/li>\n<li>Update expense<\/li>\n<li>Delete expense<\/li>\n<\/ul>\n<p>Expense object has following params:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Param<\/th>\n<th>Type<\/th>\n<th>Description<\/th>\n<\/tr>\n<tr>\n<td>ID<\/td>\n<td>Integer<\/td>\n<td>ID<\/td>\n<\/tr>\n<tr>\n<td>user<\/td>\n<td>Text<\/td>\n<td>Username<\/td>\n<\/tr>\n<tr>\n<td>clientName<\/td>\n<td>Text<\/td>\n<td>Client name<\/td>\n<\/tr>\n<tr>\n<td>projectName<\/td>\n<td>Text<\/td>\n<td>Project name<\/td>\n<\/tr>\n<tr>\n<td>name<\/td>\n<td>Text<\/td>\n<td>Expense name<\/td>\n<\/tr>\n<tr>\n<td>price<\/td>\n<td>Number<\/td>\n<td>Price<\/td>\n<\/tr>\n<tr>\n<td>quantity<\/td>\n<td>Integer<\/td>\n<td>Quantity<\/td>\n<\/tr>\n<tr>\n<td>billable<\/td>\n<td>Boolean<\/td>\n<td>Flag billable or non-billable. Default billable.<\/td>\n<\/tr>\n<tr>\n<td>payType<\/td>\n<td>Text<\/td>\n<td>Payed with credit card or cash etc.<\/td>\n<\/tr>\n<tr>\n<td>details<\/td>\n<td>Text<\/td>\n<td>Notes<\/td>\n<\/tr>\n<tr>\n<td>tags<\/td>\n<td>Text<\/td>\n<td>Hashtags<\/td>\n<\/tr>\n<tr>\n<td>date<\/td>\n<td>Text<\/td>\n<td>Timestamp &#8211; Format: YYYY-MM-DDTHH:MM:SS.fffZ, Example: 2020-10-20T09:00:00.000Z<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Get all expenses without filter<\/h3>\n<blockquote>\n<p>curl &#8220;https:\/\/testaccount.timetrackenterprise.com\/api\/v2\/ext\/expenses\/&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;X-TimeTrack-Api-Secret: &lt;<em>API_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;X-TimeTrack-Api-Key: &lt;<em>API_KEY&gt;<\/em>&#8216;<br \/>\n-d $'{}&#8217;<\/p>\n<\/blockquote>\n<h3>Get all expenses with filter<\/h3>\n<p>Following params can be used for search \/ filter:<\/p>\n<table>\n<tbody>\n<tr>\n<th>Param<\/th>\n<th>Type<\/th>\n<th>Description<\/th>\n<\/tr>\n<tr>\n<td>name<\/td>\n<td>Text<\/td>\n<td>Expense name<\/td>\n<\/tr>\n<tr>\n<td>projectName<\/td>\n<td>Text<\/td>\n<td>Project name<\/td>\n<\/tr>\n<tr>\n<td>clientName<\/td>\n<td>Text<\/td>\n<td>Client name<\/td>\n<\/tr>\n<tr>\n<td>user<\/td>\n<td>Text<\/td>\n<td>Username<\/td>\n<\/tr>\n<tr>\n<td>from<\/td>\n<td>Text<\/td>\n<td>from, Format: YYYY-MM-DDTHH:MM:SS.fffZ, Example: 2020-10-20T09:00:00.000Z<\/td>\n<\/tr>\n<tr>\n<td>to<\/td>\n<td>Text<\/td>\n<td>to, Format: YYYY-MM-DDTHH:MM:SS.fffZ, Example: 2020-10-20T09:00:00.000Z<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>In this example we will search for all expenses for user &#8220;test&#8221; between 2020-10-01 and 2020-10-23<\/p>\n<blockquote>\n<p>curl &#8220;https:\/\/testaccount.timetrackenterprise.com\/api\/v2\/ext\/expenses?username=test&amp;from=2020-10-01T00:00:00.000Z&amp;to=2020-10-23T23:59:59.999Z&#8221;&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;X-TimeTrack-Api-Secret: &lt;<em>API_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;X-TimeTrack-Api-Key: &lt;<em>API_KEY&gt;<\/em>&#8216;<br \/>\n-d $'{}&#8217;<\/p>\n<\/blockquote>\n<h3>Read expense<\/h3>\n<p><strong>Required params<\/strong>: id.<\/p>\n<blockquote>\n<p>curl &#8220;https:\/\/testaccount.timetrackenterprise.com\/api\/v2\/ext\/expenses\/1&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;X-TimeTrack-Api-Secret: &lt;<em>API_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;X-TimeTrack-Api-Key: &lt;<em>API_KEY&gt;<\/em>&#8216;<br \/>\n-d $'{}&#8217;<\/p>\n<\/blockquote>\n<h3>Create expense<\/h3>\n<p>For create method you can use all params of expense object.<\/p>\n<p><strong>Required params<\/strong>: clientName, projectName, user, name, quantity, price, date<\/p>\n<blockquote>\n<p>curl -X &#8220;POST&#8221;\u00a0&#8220;https:\/\/testaccount.timetrackenterprise.com\/api\/v2\/ext\/expenses&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;X-TimeTrack-Api-Secret: &lt;<em>API_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;X-TimeTrack-Api-Key: &lt;<em>API_KEY&gt;<\/em>&#8216;<br \/>\n-d $'{<br \/>\n&#8220;quantity&#8221;: 1,<br \/>\n&#8220;price&#8221;: 125.5,<br \/>\n&#8220;clientName&#8221;: &#8220;Client 006&#8221;,<br \/>\n&#8220;date&#8221;: &#8220;2020-10-20T10:00:00.000Z&#8221;,<br \/>\n&#8220;username&#8221;: &#8220;test&#8221;,<br \/>\n&#8220;projectName&#8221;: &#8220;Project 006_1&#8221;,<br \/>\n&#8220;name&#8221;: &#8220;Flight Ticket&#8221;<br \/>\n}&#8217;<\/p>\n<\/blockquote>\n<h3>Update expense<\/h3>\n<p>For update method you can use all params of expense object except: clientName, projectName, user, name.<\/p>\n<blockquote>\n<p>curl -X &#8220;PUT&#8221;\u00a0&#8220;https:\/\/testaccount.timetrackenterprise.com\/api\/v2\/ext\/expenses\/1&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;X-TimeTrack-Api-Secret: &lt;<em>API_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;X-TimeTrack-Api-Key: &lt;<em>API_KEY&gt;<\/em>&#8216;<br \/>\n-d $'{<br \/>\n&#8220;price&#8221;: 135.5,<br \/>\n&#8220;notes&#8221;: &#8220;Test notes for API&#8221;<br \/>\n}&#8217;<\/p>\n<\/blockquote>\n<h3>Delete expense<\/h3>\n<blockquote>\n<p>curl -X &#8220;DELETE&#8221;\u00a0&#8220;https:\/\/testaccount.timetrackenterprise.com\/api\/v2\/ext\/expenses\/1&#8221;<br \/>\n-H &#8216;Content-Type: application\/json&#8217;<br \/>\n-H &#8216;X-TimeTrack-Api-Secret: &lt;<em>API_SECRET_TOKEN&gt;<\/em>&#8216;<br \/>\n-H &#8216;X-TimeTrack-Api-Key: &lt;<em>API_KEY&gt;<\/em>&#8216;<br \/>\n-d $'{}&#8217;<\/p>\n<\/blockquote>\n<\/div><\/section><\/div><\/p>\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  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","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":13043,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-13098","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/pages\/13098","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=13098"}],"version-history":[{"count":0,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/pages\/13098\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/pages\/13043"}],"wp:attachment":[{"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/media?parent=13098"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/categories?post=13098"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpstaging.timetrackapp.com\/en\/wp-json\/wp\/v2\/tags?post=13098"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}