<?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: API - GET ConfigVersions and CURL question in Controllers</title>
    <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503167#M1586</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For extractSantizedFile, NBI Read should be the only group required.&amp;nbsp; Are you by chance using any external AAA providers (TACACS, RADIUS, etc.)?&amp;nbsp; If so, make sure they're configured correctly.&amp;nbsp; Upgrades and patches will sometimes change the task lists.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked on a 3.1.0 instance and it seems to be behaving correctly.&amp;nbsp; You're on 3.1.5 right?&amp;nbsp; Let me roll up to that version and check.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Feb 2017 19:49:22 GMT</pubDate>
    <dc:creator>Spencer Zier</dc:creator>
    <dc:date>2017-02-16T19:49:22Z</dc:date>
    <item>
      <title>API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503164#M1583</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hey everyone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am having an issue trying to use CURL to GET ConfigVersion to work so that I can use the Config Diff.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Below, you will see that I can run the ConfigArchives success but get a 404 error when I try to use ConfigVersions.&amp;nbsp; Does anyone know what I am doing wrong?&amp;nbsp; Running PI 3.1.4 Update 01 and PI 3.1.5 Maintenance Release with Device Pack 8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any help would be much appreciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;[dsampson@mnet-ws-dave curl]$ curl -k "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://user:password@cpi/webacs/api/v1/data/ConfigArchives/582721" rel="nofollow" target="_blank"&gt;https://user:password@cpi/webacs/api/v1/data/ConfigArchives/582721&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;?xml version="1.0" ?&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;lt;queryResponse type="ConfigArchives" responseType="getEntity" requestUrl="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://cpi/webacs/api/v1/data/ConfigArchives/582721" rel="nofollow" target="_blank"&gt;https://cpi/webacs/api/v1/data/ConfigArchives/582721&lt;/A&gt;&lt;SPAN&gt;" rootUrl="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://cpi/webacs/api/v1/data" rel="nofollow" target="_blank"&gt;https://cpi/webacs/api/v1/data&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp; &amp;lt;entity dtoType="configArchivesDTO" type="ConfigArchives" url="&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://cpi/webacs/api/v1/data/ConfigArchives/582721" rel="nofollow" target="_blank"&gt;https://cpi/webacs/api/v1/data/ConfigArchives/582721&lt;/A&gt;&lt;SPAN&gt;"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configArchivesDTO displayName="582721" id="582721"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deviceIpAddress&amp;gt;10.10.10.10&amp;lt;/deviceIpAddress&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;deviceName&amp;gt;devicename.com&amp;lt;/deviceName&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;lastSuccessful&amp;gt;true&amp;lt;/lastSuccessful&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configArchivesDTO&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;/entity&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/queryResponse&amp;gt;&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;[dsampson@mnet-ws-dave curl]$ curl -k "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://user:password@cpi/webacs/api/v1/data/ConfigVersions/582721" rel="nofollow" target="_blank"&gt;https://user:password@cpi/webacs/api/v1/data/ConfigVersions/582721&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;?xml version="1.0" ?&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;errorDocument&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;httpResponseCode&amp;gt;404&amp;lt;/httpResponseCode&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;httpMethod&amp;gt;GET&amp;lt;/httpMethod&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;message&amp;gt;No such entity as ConfigVersions / 582,721.-PRS-101&amp;lt;/message&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;id&amp;gt;presentation.PRS-101&amp;lt;/id&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;uriPath&amp;gt;data/ConfigVersions/582721&amp;lt;/uriPath&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;queryParams&amp;gt;{}&amp;lt;/queryParams&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/errorDocument&amp;gt;&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 17:58:30 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503164#M1583</guid>
      <dc:creator>dasampson</dc:creator>
      <dc:date>2017-02-16T17:58:30Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503165#M1584</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;GET data/ConfigArchives and GET data/ConfigVersions are not sequenced with the same IDs.&amp;nbsp; The GET data/ConfigArchives resource let's you know, for the devices where a config archive was attempted, if the latest attempt was successful and if not, why not.&amp;nbsp; The GET data/ConfigVersions resource describes which config archives we have (which version, which files are part of it, when was it captured, from which device, and so on).&amp;nbsp; Among its output will be one or more fileId values, which can be passed to GET op/configArchiveService/extractSanitizedFile (to have sensitive information redacted/masked) or GET op/configArchiveService/extractUnsanitizedFile (to have sensitive information left intact).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, after identifying a device in question with GET data/ConfigArchives and confirming the last attempt is successful, you should filter on GET data/ConfigVersions (for example, data/ConfigVersions?.full=true&amp;amp;deviceName=devicename.com) to get the details of the archive(s) and the fileIds.&amp;nbsp; I hope that helps &lt;IMG src="https://community.cisco.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 19:18:11 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503165#M1584</guid>
      <dc:creator>Spencer Zier</dc:creator>
      <dc:date>2017-02-16T19:18:11Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503166#M1585</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That did work, thanks Spencer.&amp;nbsp; Now if I can ask another question that is related. (yell at me if I should branch this conversation).&amp;nbsp; I try to use the fileId that I received from in my ConfigVersions result in a extractSanitziedFile request but get an "Access is denied to Prime Infrastructure".&amp;nbsp; The user account that I am using has NBI Read and NBI Credential rights.&amp;nbsp; Do I need to add additional rights to be able to extract the file?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 19:41:02 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503166#M1585</guid>
      <dc:creator>dasampson</dc:creator>
      <dc:date>2017-02-16T19:41:02Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503167#M1586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;For extractSantizedFile, NBI Read should be the only group required.&amp;nbsp; Are you by chance using any external AAA providers (TACACS, RADIUS, etc.)?&amp;nbsp; If so, make sure they're configured correctly.&amp;nbsp; Upgrades and patches will sometimes change the task lists.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I checked on a 3.1.0 instance and it seems to be behaving correctly.&amp;nbsp; You're on 3.1.5 right?&amp;nbsp; Let me roll up to that version and check.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 19:49:22 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503167#M1586</guid>
      <dc:creator>Spencer Zier</dc:creator>
      <dc:date>2017-02-16T19:49:22Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503168#M1587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;My api user account is a local user account on Prime Infrastructure. (we do use ISE for AAA auth normally for Prime).&amp;nbsp; Here is my curl statement and results.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;[dsampson@mnet-ws-dave curl]$ curl -k "&lt;/SPAN&gt;&lt;A class="jive-link-external-small" href="https://username:password@cpi/webacs/api/v1/op/configArchiveService/extractSanitziedFile?fileId=95032208" rel="nofollow" target="_blank"&gt;https://username:password@cpi/webacs/api/v1/op/configArchiveService/extractSanitziedFile?fileId=95032208&lt;/A&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;html&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;head&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;link rel="stylesheet" href="https://community.cisco.com/webacs/styles/wcs.css" type="text/css"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;/P&gt;&lt;P&gt;function windowTitle()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var productName = 'Prime Infrastructure';&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if(productName=="Prime Infrastructure"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parent.document.title ="Access is denied to "+"Prime Infrastructure";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else if(productName=="Evolved Programmable Network Manager"){&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; parent.document.title ="Access is denied to"+"EPN Manager";&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;body&amp;nbsp; onload="windowTitle();" class="popup" text="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;table width="100%" height="62" border="0" cellspacing="0" cellpadding="0"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td height="62" width="180"&amp;gt;&amp;nbsp;&amp;lt;/td&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td valign="bottom" style="background-color:#ffffff;&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="mainMenu"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table width="100%" border="0" cellspacing="0" cellpadding="0"&amp;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;lt;tr&amp;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;lt;td height="43" valign="bottom"&amp;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;lt;/td&amp;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;lt;/tr&amp;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;lt;tr&amp;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;lt;td bgcolor="FFFFFF" height="19"&amp;gt;&amp;nbsp; &amp;lt;/td&amp;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;lt;/tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td valign="top"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="navBar"&amp;gt; &amp;nbsp; &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td valign="top"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div class="content"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;table&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;td class="pageTitleProp"&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&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;&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; Access is denied to&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Prime Infrastructure.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;br&amp;gt;Please contact the network administrator&amp;lt;/br&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/table&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/td&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;lt;/tr&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/table&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div class="alarms"&amp;gt; &amp;nbsp;&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/body&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;[dsampson@mnet-ws-dave curl]$&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 19:55:08 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503168#M1587</guid>
      <dc:creator>dasampson</dc:creator>
      <dc:date>2017-02-16T19:55:08Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503169#M1588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ignore my last, it is because I spelled "sanitized" wrong.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 20:07:35 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503169#M1588</guid>
      <dc:creator>dasampson</dc:creator>
      <dc:date>2017-02-16T20:07:35Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503170#M1589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ah yeah, that would do it.&amp;nbsp; Glad that's solved &lt;IMG src="https://community.cisco.com/legacyfs/online/emoticons/happy.png" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you have any further questions please feel free to reach out.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Feb 2017 20:14:21 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503170#M1589</guid>
      <dc:creator>Spencer Zier</dc:creator>
      <dc:date>2017-02-16T20:14:21Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503171#M1590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I may have a related question (hope it's OK to piggy back off this post). I would like to have a simple config diff yes/no like what is in the GUI when I look under each device. I would like for me to be able to run the API and it spit out every device's name and if the startup config matches the running config with a yes/no to hand to compliance if/when we get audited. I REALLY don't want to have to go into every single device to see if it matches (very time consuming).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried running api.request=("ConfigArchives") by itself with no additional parameters and I don't see a startup/run match there. I see a lastSuccessful which is still good to know, but not what I need. If i try to run api.request="configDiff") python blows up on me saying:&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;gt; api.request("configDiff")&lt;/P&gt;&lt;P&gt;Traceback (most recent call last):&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "&amp;lt;stdin&amp;gt;", line 1, in &amp;lt;module&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Python27\lib\site-packages\piapi.py", line 397, in request&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self.request_service(resource, params, timeout)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Python27\lib\site-packages\piapi.py", line 358, in request_service&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return self._parse(response)&lt;/P&gt;&lt;P&gt;&amp;nbsp; File "C:\Python27\lib\site-packages\piapi.py", line 180, in _parse&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; raise PIAPIRequestError("An error has occured during the API invocation")&lt;/P&gt;&lt;P&gt;piapi.PIAPIRequestError: An error has occured during the API invocation&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm new to APIs and am wanting to learn (new DC is possibly moving to ACI), so this is my first run at it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2017 16:36:20 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503171#M1590</guid>
      <dc:creator>Noclss2000</dc:creator>
      <dc:date>2017-05-05T16:36:20Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503172#M1591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Not sure what's happening with your Python script.&amp;nbsp; If you have the complete URL that you requested and the raw response you got from PI I could maybe provide some pointers as to what's wrong.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As to your use case, telling at a glance if running and startup configs are in sync, I'd suggest using our GET data/ConfigVersions resource.&amp;nbsp; Whereas GET data/ConfigArchives shows you all of the devices that we potentially have config archives for, and whether or not the last attempt to pull a config archive was successful, the ConfigVersions resource shows you each instance of a config archive.&amp;nbsp; For example, if you've archived the config a given device 12 times, then there will be 12 records in ConfigVersions for that device.&amp;nbsp; The diffType response parameter will let you know if the startup and running config are in sync with each other or not.&amp;nbsp; The isLast response parameter will be true for the latest config archive pulled for a given device.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So to find all of the devices with out-of-sync running and startup configs, based on the last config archive pulled, you'd query&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/webacs/api/v2/data/ConfigVersions?.full=true&amp;amp;isLast=true&amp;amp;diffType=OUT_OF_SYNC&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2017 17:00:34 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503172#M1591</guid>
      <dc:creator>Spencer Zier</dc:creator>
      <dc:date>2017-05-05T17:00:34Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503173#M1592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Oh, I should add, I think it's a good idea to continue to query the ConfigArchives resource, as it will let you know if PI is having problems archiving device configs.&amp;nbsp; But if you need to tell if the config is out of sync, again, use the above.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2017 17:01:58 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503173#M1592</guid>
      <dc:creator>Spencer Zier</dc:creator>
      <dc:date>2017-05-05T17:01:58Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503174#M1593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hmm, when I try putting &lt;SPAN style="color: #3d3d3d; font-family: arial; font-size: 12px;"&gt;/webacs/api/v2/data/ConfigVersions?.full=true&amp;amp;isLast=true&amp;amp;diffType=OUT_OF_SYNC in the browser to get the XML output, it keeps prompting me to login, even when passing the user/pass through the URL. Other queries I've tried work fine.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, it looks like running api.request("ConfigVersions", params={"diffType": "OUT_OF_SYNC"}) is scrolling tons of stuff on me. unfortunately, I see lots of "OUT_OF_SYNC"&lt;/P&gt;&lt;P&gt;I think that means a long day for me &lt;IMG src="https://community.cisco.com/legacyfs/online/emoticons/sad.png" /&gt;.&lt;/P&gt;&lt;P&gt;edit: I have another guy that works a little with programming that is going to make the output more readable for me.&lt;/P&gt;&lt;P&gt;Thanks for the help on this!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2017 17:15:14 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503174#M1593</guid>
      <dc:creator>Noclss2000</dc:creator>
      <dc:date>2017-05-05T17:15:14Z</dc:date>
    </item>
    <item>
      <title>Re: API - GET ConfigVersions and CURL question</title>
      <link>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503175#M1594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, regarding CSV, the API doesn't return them (excepting one of the reporting services, which returns a zip of CSV files directly obtained from the reporting framework).&amp;nbsp; The reason being, CSV is a very linear, rigid format.&amp;nbsp; In many cases, we nest documents within other documents (like fileInfos which nest inside the configVersionsDTO); sometimes there's just one nested document, sometimes there's dozens (like interfaces from the InventoryDetails resource when reporting on a stacked switch).&amp;nbsp; For this reason, conversion to CSV is left as a client-side concern.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 May 2017 19:41:10 GMT</pubDate>
      <guid>https://community.cisco.com/t5/controllers/api-get-configversions-and-curl-question/m-p/3503175#M1594</guid>
      <dc:creator>Spencer Zier</dc:creator>
      <dc:date>2017-05-05T19:41:10Z</dc:date>
    </item>
  </channel>
</rss>

