<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Add tag to an App using RepositoryService in Integration, Extension &amp; APIs</title>
    <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894667#M3098</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-size: 13.3333px;"&gt;I appreciate this is a somewhat ancient topic, and the information I'm about to provide below might be around in other posts in the forum, but since this topic was brought to my attention after an internal query at R&amp;amp;D I decided I could contribute to a more efficient use of our API:s. Jeffrey's answer is good and works fine, but I can't believe how it's possible to figure out the admittedly obscure selection API for this purpose!&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;Fortunately, there's a more direct way of adding a tag to another entity, and it goes like this:&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;First, as has been stated already, the tag has to be created up front:&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15263772788053154 jive_text_macro" jivemacro_uid="_15263772788053154"&gt;
&lt;P&gt;POST /qrs/tag&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "name": "New tag"&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;201 Created&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "id": "{new tag id}",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "name": "New tag",&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; ...&amp;nbsp; // remaining properties snipped&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;







&lt;/PRE&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Next, get your app of interest:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15263772787955038" jivemacro_uid="_15263772787955038"&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;GET /qrs/app/{app-id}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;200 OK&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; "id": "{app-id}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; "modifiedDate": "{current-app-modified-date}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; "tags": [&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "{old tag 1 id}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name": "Old tag 1"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "{old tag 2 id}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name": "Old tag 2"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... // and so on, if there are a ton of tags on the app&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; ],&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; ... // remaining properties snipped&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;







&lt;/PRE&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;Finally, add the new tag to the app, notice that you only need to supply the properties I show in your PUT request.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15263772787825495" jivemacro_uid="_15263772787825495" modifiedtitle="true"&gt;
&lt;P&gt;PUT /qrs/app/{app-id}&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "modifiedDate": "{current-app-modified-date}", // this is key, and is what's causing the 409 CONFLICT if missing&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "tags": [&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "{old tag 1 id}" }, // only the id property is needed, name etc can be sent, but will be ignored&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "{old tag 2 id}" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "{new tag id}" }&amp;nbsp;&amp;nbsp;&amp;nbsp; // this is what we're actually after, adding a reference to the tag in the app's tag list&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ]&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;200 OK&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "id": "{app-id}",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "modifiedDate": "{new-app-modified-date}",&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt;"&gt;&amp;nbsp; "tags": [&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // the three tags as per the request&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ],&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ... // remaining properties snipped&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;







&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hopefully this is helpful going forward!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 15 May 2018 09:51:04 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-05-15T09:51:04Z</dc:date>
    <item>
      <title>Add tag to an App using RepositoryService</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894664#M3095</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm trying to assign an existing tag to an existing app using the QRS API in Qlik Sense 1.1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The HTTP-response I get is 409 Conflict and the tag is not assigned. Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The request looks like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;PUT /qrs/App/f340ab7b-48e1-4d62-8d91-899e4e701f8b?xrfKey=OS9t6q2dXjanwIma&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp; "Id":"f340ab7b-48e1-4d62-8d91-899e4e701f8b",&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp; "Tags":&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Id":"4cde2209-0703-4a07-aa64-c75730a9cf54",&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Name":"MyTag"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: arial, helvetica, sans-serif;"&gt;Response:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;409 Conflict&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;[&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id":"f340ab7b-48e1-4d62-8d91-899e4e701f8b",&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name":"&lt;EM&gt;&amp;lt;AppName&amp;gt;&lt;/EM&gt;",&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedByUserName":"&lt;EM&gt;&amp;lt;User&amp;gt;&lt;/EM&gt;",&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedDate":"2015-05-20T07:25:11.293Z"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;]&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 20 May 2015 08:06:06 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894664#M3095</guid>
      <dc:creator />
      <dc:date>2015-05-20T08:06:06Z</dc:date>
    </item>
    <item>
      <title>Re: Add tag to an App using RepositoryService</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894665#M3096</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Danny,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;a PUT directly to the APP is not going to work for adding a tag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To actually do this through QRS is a bit arduous, but I have figured it out as your question came to me as a challenge.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the long version, and my assumption is all of the components are created using QRS API.&amp;nbsp; If not, then some tweaks may be necessary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If this response proves to work, please mark the question as answered.&amp;nbsp; I am going to post some more formal documentation on this subject in the near future.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note I am using a virtual proxy and header injection to connect to QRS API.&amp;nbsp; Your urls may be different.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The format of the below will be in the following:&lt;/P&gt;&lt;P&gt;Direction&lt;/P&gt;&lt;P&gt;Web Request&lt;/P&gt;&lt;P&gt;Request Method&lt;/P&gt;&lt;P&gt;Payload (if applicable)&lt;/P&gt;&lt;P&gt;Response&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here we go:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create the tag:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request&lt;/STRONG&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://sense10/demohdr/qrs/Tag?privileges=true&amp;amp;xrfkey=ABCDEFG123456789" rel="nofollow"&gt;https://sense10/demohdr/qrs/Tag?privileges=true&amp;amp;xrfkey=ABCDEFG123456789&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method&lt;/STRONG&gt;: POST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Payload&lt;/STRONG&gt;: &lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14322613993956342 jive_text_macro" jivemacro_uid="_14322613993956342"&gt;
&lt;P&gt;{"name":"myTag"}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;STRONG&gt;Response&lt;/STRONG&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14322614088455667" jivemacro_uid="_14322614088455667" modifiedtitle="true"&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "0374c074-1859-444c-aee3-b6981bb29ce5", //This ID is the ObjectID that will be used to apply the tag&lt;/P&gt;
&lt;P&gt;// to the app&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "createdDate": "2015-05-22T02:01:33.058Z",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedDate": "2015-05-22T02:01:33.058Z",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedByUserName": "SENSE10\\administrator",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name": "myTag",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "privileges": [&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "create",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "read",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "update",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "delete"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ],&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "schemaPath": "Tag"&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Create an App Selection entry.&amp;nbsp; The App Selection entry is used to apply the tag to the app.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request&lt;/STRONG&gt;&lt;SPAN&gt; URL:&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://sense10/qrs/Selection?privileges=true&amp;amp;xrfkey=ABCDEFG123456789" rel="nofollow"&gt;https://sense10/qrs/Selection?privileges=true&amp;amp;xrfkey=ABCDEFG123456789&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method&lt;/STRONG&gt;:POST&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Payload&lt;/STRONG&gt;: &lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14322617371494797" jivemacro_uid="_14322617371494797" modifiedtitle="true"&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "items":&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;[&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "objectID":"e19d2062-0cbc-4f50-bee8-eff537615cd7", //this is the id for &lt;BR /&gt;//the app, not the appID, just the id&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type":"App",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "objectName":"Automotive",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "data":&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "App":&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "published":null&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }]&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;STRONG&gt;Response&lt;/STRONG&gt;:&lt;/SPAN&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14322624068737451 jive_text_macro" jivemacro_uid="_14322624068737451"&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "b8efc73c-67d9-4f55-b45b-97399459d174", //This is the id for the App selection.&amp;nbsp; This id will be used in the final put to identify the app to apply the tag.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "createdDate": "1753-01-01T00:00:00.000Z",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedDate": "1753-01-01T00:00:00.000Z",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedByUserName": "SENSE10\\administrator",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "items": [&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "93c28b51-4cf4-4b09-a96e-b22e13ea43d9",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "createdDate": "1753-01-01T00:00:00.000Z",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedDate": "1753-01-01T00:00:00.000Z",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "modifiedByUserName": "SENSE10\\administrator",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type": "App",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "objectID": "e19d2062-0cbc-4f50-bee8-eff537615cd7",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "objectName": "Automotive",&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "schemaPath": "Selection.Item"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;],&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "privileges": null,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "schemaPath": "Selection"&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3. Perform a GET on the the new App Selection to the App/Synthetic Path.&amp;nbsp; &lt;SPAN style="font-size: 13.3333330154419px;"&gt;In the Request, notice the use of the Selection ID from the response in step 2.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request&lt;/STRONG&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://sense10/qrs/Selection/b8efc73c-67d9-4f55-b45b-97399459d174/App/synthetic?xrfkey=ABCDEFG123456789" rel="nofollow"&gt;https://sense10/qrs/Selection/b8efc73c-67d9-4f55-b45b-97399459d174/App/synthetic?xrfkey=ABCDEFG123456789&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method&lt;/STRONG&gt;: GET&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Response&lt;/STRONG&gt;: A very lengthy response for which I will not add here.&amp;nbsp; Suffice it to say all of the properties related to the App are returned.&amp;nbsp; I have added them in a file to this post.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4. Add the tag to the App.&amp;nbsp; A PUT to the App/Synthetic path will do the trick.&amp;nbsp; I have pulled out the appropriate json to make in the PUT for adding the tag.&amp;nbsp; It appears in the Payload.&amp;nbsp; In the Request, notice the use of the Selection ID from the response in step 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Request&lt;/STRONG&gt;&lt;SPAN&gt; URL:&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://sense10/qrs/Selection/b8efc73c-67d9-4f55-b45b-97399459d174/App/synthetic?xrfkey=BxEmvIwdQLuWV0SE" rel="nofollow"&gt;https://sense10/qrs/Selection/b8efc73c-67d9-4f55-b45b-97399459d174/App/synthetic?xrfkey=BxEmvIwdQLuWV0SE&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Method&lt;/STRONG&gt;:PUT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Payload&lt;/STRONG&gt;:&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14322632775468175 jive_text_macro" jivemacro_uid="_14322632775468175" modifiedtitle="true"&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "properties":[&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "name":"refList_Tag",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "refData":[&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "Count":0,// If you are adding multiple tags, this count value may need to be different.&amp;nbsp; Evaluate the&lt;/P&gt;
&lt;P&gt;//GET &lt;/P&gt;
&lt;P&gt;&amp;nbsp; "Item":&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "id":"0374c074-1859-444c-aee3-b6981bb29ce5",&amp;nbsp; //This is the objectID for the tag from Step 1.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "name":"myTag"&amp;nbsp; //You need to include the name of the tag as well.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }],&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "schemaPath":"SyntheticProperty",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "value":&lt;/P&gt;
&lt;P&gt;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "0374c074-1859-444c-aee3-b6981bb29ce5":"added"&amp;nbsp; &lt;SPAN style="font-size: 13.3333330154419px;"&gt;//This is the objectID for the tag from Step 1.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; },&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "valueIsModified":true,&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "valueIsDifferent":false&lt;/P&gt;
&lt;P&gt;&amp;nbsp; }],&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "latestModifiedDate": "2015-05-22T01:43:04.127Z",&amp;nbsp; //This is the last modified date from&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //the GET request on the App/Synthetic in Step 3.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name": null,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "type": "App",&amp;nbsp; //This identifies that we are adding the tag to the app.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "access": [],&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; "children": []&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After all of this, when the PUT works, a 204 status message will be returned.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 May 2015 02:59:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894665#M3096</guid>
      <dc:creator />
      <dc:date>2015-05-22T02:59:53Z</dc:date>
    </item>
    <item>
      <title>Re: Add tag to an App using RepositoryService</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894666#M3097</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Jeffrey, you pushed me in the right direction. I saw similar requests in Fiddler when I manually added the tag, but I thought I could be done in a single request.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I managed to do the trick using &lt;STRONG&gt;Create selection by type&lt;/STRONG&gt; (&lt;A href="http://help.qlik.com/sense/en-us/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositoryServiceAPI-Create-Selection-By-Type.htm%3FTocPath%3DQlik%2520Sense%2520Repository%2520Service%2520API%7CGeneral%2520path%2520structure%2520and%2520use%7C_____13" title="http://help.qlik.com/sense/en-us/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositoryServiceAPI-Create-Selection-By-Type.htm%3FTocPath%3DQlik%2520Sense%2520Repository%2520Service%2520API%7CGeneral%2520path%2520structure%2520and%2520use%7C_____13"&gt;http://help.qlik.com/sense/en-us/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositorySe…&lt;/A&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;POST&lt;/STRONG&gt; /qrs/selection/App?filter=id%20eq%20c9817602-4209-4e97-9260-cdef3c50e7e5&amp;amp;xrfKey=ta9aJKeXFL7TRdfr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and then &lt;STRONG&gt;Update selection by synthetic&lt;/STRONG&gt; (&lt;A href="http://help.qlik.com/sense/en-us/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositoryServiceAPI-Update-Selection-By-Synthetic.htm%3FTocPath%3DQlik%2520Sense%2520Repository%2520Service%2520API%7CGeneral%2520path%2520structure%2520and%2520use%7C_____16" title="http://help.qlik.com/sense/en-us/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositoryServiceAPI-Update-Selection-By-Synthetic.htm%3FTocPath%3DQlik%2520Sense%2520Repository%2520Service%2520API%7CGeneral%2520path%2520structure%2520and%2520use%7C_____16"&gt;http://help.qlik.com/sense/en-us/developer/#../Subsystems/RepositoryServiceAPI/Content/RepositoryServiceAPI/RepositorySe…&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PUT&lt;/STRONG&gt; /qrs/selection/3f50446a-096e-4c29-8c2d-bec43d699cef/App/synthetic?xrfKey=ta9aJKeXFL7TRdfr&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Payload&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "properties":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; [&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Name":"refList_Tag",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Value":&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "4cde2209-0703-4a07-aa64-c75730a9cf54":"added"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "ValueIsModified":true&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ],&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "Type":"App",&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "LatestModifiedDate":"2015-05-22T12:45:33.736Z"&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 May 2015 13:00:19 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894666#M3097</guid>
      <dc:creator />
      <dc:date>2015-05-22T13:00:19Z</dc:date>
    </item>
    <item>
      <title>Re: Add tag to an App using RepositoryService</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894667#M3098</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-size: 13.3333px;"&gt;I appreciate this is a somewhat ancient topic, and the information I'm about to provide below might be around in other posts in the forum, but since this topic was brought to my attention after an internal query at R&amp;amp;D I decided I could contribute to a more efficient use of our API:s. Jeffrey's answer is good and works fine, but I can't believe how it's possible to figure out the admittedly obscure selection API for this purpose!&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;Fortunately, there's a more direct way of adding a tag to another entity, and it goes like this:&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;First, as has been stated already, the tag has to be created up front:&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_15263772788053154 jive_text_macro" jivemacro_uid="_15263772788053154"&gt;
&lt;P&gt;POST /qrs/tag&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "name": "New tag"&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;201 Created&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "id": "{new tag id}",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "name": "New tag",&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; ...&amp;nbsp; // remaining properties snipped&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;







&lt;/PRE&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;Next, get your app of interest:&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15263772787955038" jivemacro_uid="_15263772787955038"&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;GET /qrs/app/{app-id}&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;200 OK&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; "id": "{app-id}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; "modifiedDate": "{current-app-modified-date}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; "tags": [&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "{old tag 1 id}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name": "Old tag 1"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "id": "{old tag 2 id}",&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "name": "Old tag 2"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... // and so on, if there are a ton of tags on the app&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; ],&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;&amp;nbsp; ... // remaining properties snipped&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 10pt;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;







&lt;/PRE&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;Finally, add the new tag to the app, notice that you only need to supply the properties I show in your PUT request.&lt;/P&gt;&lt;P style="font-size: 13.3333px;"&gt;&lt;/P&gt;&lt;PRE __default_attr="javascript" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_15263772787825495" jivemacro_uid="_15263772787825495" modifiedtitle="true"&gt;
&lt;P&gt;PUT /qrs/app/{app-id}&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "modifiedDate": "{current-app-modified-date}", // this is key, and is what's causing the 409 CONFLICT if missing&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "tags": [&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "{old tag 1 id}" }, // only the id property is needed, name etc can be sent, but will be ignored&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "{old tag 2 id}" },&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { "id": "{new tag id}" }&amp;nbsp;&amp;nbsp;&amp;nbsp; // this is what we're actually after, adding a reference to the tag in the app's tag list&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ]&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;200 OK&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "id": "{app-id}",&lt;/P&gt;
&lt;P&gt;&amp;nbsp; "modifiedDate": "{new-app-modified-date}",&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="font-size: 9pt;"&gt;&amp;nbsp; "tags": [&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // the three tags as per the request&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ],&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ... // remaining properties snipped&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;







&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hopefully this is helpful going forward!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 15 May 2018 09:51:04 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/894667#M3098</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-05-15T09:51:04Z</dc:date>
    </item>
    <item>
      <title>Re: Add tag to an App using RepositoryService</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/1512381#M9557</link>
      <description>&lt;P&gt;i combined the original answer with this one and tada it works!&lt;/P&gt;</description>
      <pubDate>Mon, 26 Nov 2018 15:43:17 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/1512381#M9557</guid>
      <dc:creator>bekahbeets</dc:creator>
      <dc:date>2018-11-26T15:43:17Z</dc:date>
    </item>
    <item>
      <title>Re: Add tag to an App using RepositoryService</title>
      <link>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/1717974#M12889</link>
      <description>&lt;P&gt;Thanks Kwl. This is the best way to add tags. The previous one gives 204 response but the tag does not get assigned to the app.&lt;/P&gt;</description>
      <pubDate>Thu, 11 Jun 2020 14:49:44 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Integration-Extension-APIs/Add-tag-to-an-App-using-RepositoryService/m-p/1717974#M12889</guid>
      <dc:creator>pratyushraizada</dc:creator>
      <dc:date>2020-06-11T14:49:44Z</dc:date>
    </item>
  </channel>
</rss>

