{"id":938,"date":"2016-09-09T07:31:49","date_gmt":"2016-09-09T12:31:49","guid":{"rendered":"https:\/\/www.teamdesk.net\/blog\/?p=938"},"modified":"2016-09-14T06:05:02","modified_gmt":"2016-09-14T11:05:02","slug":"aggregate-functions-rest-api","status":"publish","type":"post","link":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/","title":{"rendered":"Aggregate functions in REST API&#8217;s Select method"},"content":{"rendered":"<p>We&#8217;ve extended Select method of <a href=\"https:\/\/www.teamdesk.net\/help\/15.6.aspx\">TeamDesk REST API<\/a> with an ability to perform aggregate functions over the columns&#8217; values bringing functionality in par with now-obsolete SOAP API.<\/p>\n<p><!--more--><\/p>\n<p>Now, you can instruct REST API to calculate aggregate functions by adding \/\/&lt;FUNCTION&gt; suffix to column&#8217;s name in a list of columns to select, such as: <em>column=Population\/\/SUM<\/em>. &lt;FUNCTION&gt; is one\u00a0of the following: COUNT, SUM, AVG, MIN, MAX, STDEV, STDEVP, VAR, VARP (uppercase is required).<\/p>\n<p>Columns to group by are specified by appending \/\/&lt;GROUPBY&gt; suffix to column name.<\/p>\n<p>You can choose from the following &lt;GROUPBY&gt; values, depending on column type:<\/p>\n<ul>\n<li>All types:\n<ul>\n<li>EQ &#8211; by equal values.<\/li>\n<\/ul>\n<\/li>\n<li>Text\n<ul>\n<li>FW &#8211; by first word.<\/li>\n<li>FL &#8211; by first letter.<\/li>\n<\/ul>\n<\/li>\n<li>Times, Durations and Timestamps\n<ul>\n<li>SS &#8211; by second.<\/li>\n<li>MI\u00a0&#8211; by minute.<\/li>\n<li>HH &#8211; by hour.<\/li>\n<\/ul>\n<\/li>\n<li>Dates, Durations \u00a0and Timestamps\n<ul>\n<li>DD &#8211; by day.<\/li>\n<\/ul>\n<\/li>\n<li>Dates and Timestamps\n<ul>\n<li>MM &#8211; by month.<\/li>\n<li>QQ &#8211; by quarter.<\/li>\n<li>YY &#8211; by year.<\/li>\n<\/ul>\n<\/li>\n<li>Numbers\n<ul>\n<li>.001 &#8211; by one thousandth<\/li>\n<li>.01 &#8211; by one hundredth<\/li>\n<li>.1 &#8211; by one tenth<\/li>\n<li>1 &#8211; by integer value<\/li>\n<li>10 &#8211; by ten<\/li>\n<li>100 &#8211; by hundred<\/li>\n<li>1K &#8211; by thousand<\/li>\n<li>10K &#8211; by ten thousands<\/li>\n<li>100K &#8211; by hundred thousands<\/li>\n<li>1M &#8211; by million<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>If you specified aggregate function for one of the columns, all columns you are not aggregating should contain group specifier. Also, in this case sorting is limited to the columns you group by.<\/p>\n<h2>Results with aggregate functions<\/h2>\n<p>Since you can calculate multiple aggregate function over a single column in one query, the value appears under the name suffixed function name\u00a0in the result. However, group columns appear without the suffix since you can not group over the same column twice. Last row of the output is a grand total row designated by <em>&#8220;<span class=\"hljs-attribute\">@row.type<\/span>&#8220;: &#8220;Grand&#8221;<\/em> in JSON (or <em>type=&#8221;Grand&#8221;<\/em> attribute in XML) containing aggregate values calculated across all groups, for example,<\/p>\n<pre>...\/Invoices\/select.json?column=Customer\/\/EQ&amp;column=Invoiced\/\/SUM\r\n<\/pre>\n<p>produces<\/p>\n<pre style=\"background: #EEEEEE; padding: 1em;\">[\r\n    { \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Customer<\/span><\/span>\": <span class=\"hljs-value\"><span class=\"hljs-number\"><span style=\"color: #0000ff;\">\"Oracle\"<\/span><\/span><\/span>, \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Invoiced\/\/SUM<\/span><\/span>\":\u00a0<span class=\"hljs-value\"><span class=\"hljs-string\"><span style=\"color: #0000ff;\">10000<\/span><\/span> <\/span>},\r\n \u00a0\u00a0 { \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Customer<\/span><\/span>\": <span class=\"hljs-value\"><span class=\"hljs-number\"><span style=\"color: #0000ff;\">\"Google\"<\/span><\/span><\/span>, \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Invoiced<span style=\"color: #ff0000;\">\/\/<\/span>SUM<\/span><\/span>\":\u00a0<span class=\"hljs-value\"><span class=\"hljs-string\"><span style=\"color: #0000ff;\">20000 <\/span><\/span><\/span>},\r\n \u00a0\u00a0 { \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Customer<\/span><\/span>\": <span class=\"hljs-value\"><span class=\"hljs-number\"><span style=\"color: #0000ff;\">\"Microsoft\"<\/span><\/span><\/span>, \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Invoiced<span style=\"color: #ff0000;\">\/\/<\/span>SUM<\/span><\/span>\":\u00a0<span class=\"hljs-value\"><span class=\"hljs-string\"><span style=\"color: #0000ff;\">50000 <\/span><\/span><\/span>},\r\n \u00a0\u00a0 { \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">@row.type<\/span><\/span>\": <span class=\"hljs-value\"><span class=\"hljs-string\"><span style=\"color: #0000ff;\">\"Grand\"<\/span><\/span><\/span>, \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Customer<\/span><\/span>\": <span class=\"hljs-value\"><span class=\"hljs-number\"><span style=\"color: #0000ff;\">null<\/span><\/span><\/span>, \"<span class=\"hljs-attribute\"><span style=\"color: #ff0000;\">Invoiced<span style=\"color: #ff0000;\">\/\/<\/span>SUM<\/span><\/span>\":\u00a0<span class=\"hljs-value\"><span class=\"hljs-string\"><span style=\"color: #0000ff;\">80000 <\/span><\/span><\/span>}\r\n]\r\n<\/pre>\n<p>As a final word, as slash can not appear in the name of XML tags and requires encoding you can use two minus signs instead of two slashes as a separator.<\/p>\n<p>Enjoy!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve extended Select method of TeamDesk REST API with an ability to perform aggregate functions over the columns&#8217; values bringing functionality in par with now-obsolete SOAP API.<\/p>\n","protected":false},"author":4,"featured_media":942,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-938","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-whats-new"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Aggregate functions in REST API&#039;s Select method - TeamDesk Blog<\/title>\n<meta name=\"description\" content=\"Select method is extended with an ability to perform aggregate functions over the columns values bringing functionality in par with now-obsolete SOAP API.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Aggregate functions in REST API&#039;s Select method - TeamDesk Blog\" \/>\n<meta property=\"og:description\" content=\"Select method is extended with an ability to perform aggregate functions over the columns values bringing functionality in par with now-obsolete SOAP API.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/\" \/>\n<meta property=\"og:site_name\" content=\"TeamDesk Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-09-09T12:31:49+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2016-09-14T11:05:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.teamdesk.net\/blog\/wp-content\/uploads\/2016\/09\/restapi.png\" \/>\n\t<meta property=\"og:image:width\" content=\"854\" \/>\n\t<meta property=\"og:image:height\" content=\"568\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Kirill Bondar\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirill Bondar\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/\"},\"author\":{\"name\":\"Kirill Bondar\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/#\\\/schema\\\/person\\\/22c4c05bd657513c8b00122fa364c8d2\"},\"headline\":\"Aggregate functions in REST API&#8217;s Select method\",\"datePublished\":\"2016-09-09T12:31:49+00:00\",\"dateModified\":\"2016-09-14T11:05:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/\"},\"wordCount\":357,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/restapi.png\",\"articleSection\":[\"What's New\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/\",\"url\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/\",\"name\":\"Aggregate functions in REST API's Select method - TeamDesk Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/restapi.png\",\"datePublished\":\"2016-09-09T12:31:49+00:00\",\"dateModified\":\"2016-09-14T11:05:02+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/#\\\/schema\\\/person\\\/22c4c05bd657513c8b00122fa364c8d2\"},\"description\":\"Select method is extended with an ability to perform aggregate functions over the columns values bringing functionality in par with now-obsolete SOAP API.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/restapi.png\",\"contentUrl\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/wp-content\\\/uploads\\\/2016\\\/09\\\/restapi.png\",\"width\":854,\"height\":568},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/whats-new\\\/aggregate-functions-rest-api\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Aggregate functions in REST API&#8217;s Select method\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/\",\"name\":\"TeamDesk Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/#\\\/schema\\\/person\\\/22c4c05bd657513c8b00122fa364c8d2\",\"name\":\"Kirill Bondar\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc5bc844095b5753ccc73c589c028bf16615674f289668146bbd59205a08a52d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc5bc844095b5753ccc73c589c028bf16615674f289668146bbd59205a08a52d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/dc5bc844095b5753ccc73c589c028bf16615674f289668146bbd59205a08a52d?s=96&d=mm&r=g\",\"caption\":\"Kirill Bondar\"},\"url\":\"https:\\\/\\\/www.teamdesk.net\\\/blog\\\/author\\\/kirill-bondar\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Aggregate functions in REST API's Select method - TeamDesk Blog","description":"Select method is extended with an ability to perform aggregate functions over the columns values bringing functionality in par with now-obsolete SOAP API.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/","og_locale":"en_US","og_type":"article","og_title":"Aggregate functions in REST API's Select method - TeamDesk Blog","og_description":"Select method is extended with an ability to perform aggregate functions over the columns values bringing functionality in par with now-obsolete SOAP API.","og_url":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/","og_site_name":"TeamDesk Blog","article_published_time":"2016-09-09T12:31:49+00:00","article_modified_time":"2016-09-14T11:05:02+00:00","og_image":[{"width":854,"height":568,"url":"https:\/\/www.teamdesk.net\/blog\/wp-content\/uploads\/2016\/09\/restapi.png","type":"image\/png"}],"author":"Kirill Bondar","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirill Bondar","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#article","isPartOf":{"@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/"},"author":{"name":"Kirill Bondar","@id":"https:\/\/www.teamdesk.net\/blog\/#\/schema\/person\/22c4c05bd657513c8b00122fa364c8d2"},"headline":"Aggregate functions in REST API&#8217;s Select method","datePublished":"2016-09-09T12:31:49+00:00","dateModified":"2016-09-14T11:05:02+00:00","mainEntityOfPage":{"@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/"},"wordCount":357,"commentCount":0,"image":{"@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.teamdesk.net\/blog\/wp-content\/uploads\/2016\/09\/restapi.png","articleSection":["What's New"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/","url":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/","name":"Aggregate functions in REST API's Select method - TeamDesk Blog","isPartOf":{"@id":"https:\/\/www.teamdesk.net\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#primaryimage"},"image":{"@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#primaryimage"},"thumbnailUrl":"https:\/\/www.teamdesk.net\/blog\/wp-content\/uploads\/2016\/09\/restapi.png","datePublished":"2016-09-09T12:31:49+00:00","dateModified":"2016-09-14T11:05:02+00:00","author":{"@id":"https:\/\/www.teamdesk.net\/blog\/#\/schema\/person\/22c4c05bd657513c8b00122fa364c8d2"},"description":"Select method is extended with an ability to perform aggregate functions over the columns values bringing functionality in par with now-obsolete SOAP API.","breadcrumb":{"@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#primaryimage","url":"https:\/\/www.teamdesk.net\/blog\/wp-content\/uploads\/2016\/09\/restapi.png","contentUrl":"https:\/\/www.teamdesk.net\/blog\/wp-content\/uploads\/2016\/09\/restapi.png","width":854,"height":568},{"@type":"BreadcrumbList","@id":"https:\/\/www.teamdesk.net\/blog\/whats-new\/aggregate-functions-rest-api\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.teamdesk.net\/blog\/"},{"@type":"ListItem","position":2,"name":"Aggregate functions in REST API&#8217;s Select method"}]},{"@type":"WebSite","@id":"https:\/\/www.teamdesk.net\/blog\/#website","url":"https:\/\/www.teamdesk.net\/blog\/","name":"TeamDesk Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.teamdesk.net\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.teamdesk.net\/blog\/#\/schema\/person\/22c4c05bd657513c8b00122fa364c8d2","name":"Kirill Bondar","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/dc5bc844095b5753ccc73c589c028bf16615674f289668146bbd59205a08a52d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/dc5bc844095b5753ccc73c589c028bf16615674f289668146bbd59205a08a52d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/dc5bc844095b5753ccc73c589c028bf16615674f289668146bbd59205a08a52d?s=96&d=mm&r=g","caption":"Kirill Bondar"},"url":"https:\/\/www.teamdesk.net\/blog\/author\/kirill-bondar\/"}]}},"_links":{"self":[{"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/posts\/938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/comments?post=938"}],"version-history":[{"count":7,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/posts\/938\/revisions"}],"predecessor-version":[{"id":991,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/posts\/938\/revisions\/991"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/media\/942"}],"wp:attachment":[{"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/media?parent=938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/categories?post=938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.teamdesk.net\/blog\/wp-json\/wp\/v2\/tags?post=938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}