<?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: Advanced Authentication Cortex API in Cortex XDR Discussions</title>
    <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/advanced-authentication-cortex-api/m-p/1244579#M8933</link>
    <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/110844"&gt;@ianatgrafton&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Greetings for the day!&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Implementing Advanced Authentication for the Cortex Public API requires specific cryptographic logic to prevent replay attacks. While official Knowledge Base articles primarily provide PowerShell examples for Standard authentication, the logic for Advanced authentication is documented in Python and can be translated to PowerShell using .NET classes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Advanced Authentication Requirements:&lt;/STRONG&gt;&lt;BR /&gt;Unlike Standard authentication, which passes the raw API key in the Authorization header, Advanced authentication requires a dynamic signature for every request. The following headers are mandatory:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;x-xdr-auth-id: The API Key ID retrieved from the Cortex XDR console.&lt;BR /&gt;x-xdr-timestamp: The current UTC time in milliseconds.&lt;BR /&gt;x-xdr-nonce: A unique, randomly generated 64-character alphanumeric string.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Authorization: A SHA256 hex digest of the combined string: API_KEY + NONCE + TIMESTAMP.&lt;/P&gt;
&lt;P&gt;---------&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;General Reference for Standard Auth (PowerShell):&lt;/STRONG&gt;&lt;BR /&gt;For reference, the simpler Standard implementation looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;$headers = @{&lt;BR /&gt;"x-xdr-auth-id" = "&amp;lt;API_ID&amp;gt;"&lt;BR /&gt;"Authorization" = "&amp;lt;API_KEY&amp;gt;" # Note: Raw key, no hashing&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;Invoke-RestMethod -Method 'Post' -Uri $url -Headers $headers -Body $jsonBody -ContentType "application/json"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ref Article: (How to make a request to the Cortex XDR API using the PowerShell only)&lt;/P&gt;
&lt;P&gt;&lt;A href="https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000kGi7CAE" target="_blank"&gt;https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000kGi7CAE&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you feel this has answered your query, please let us know by clicking Like and &lt;STRONG&gt;"Mark this as a Solution".&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;BR /&gt;S. Subashkar Sekar&lt;/P&gt;</description>
    <pubDate>Wed, 24 Dec 2025 20:43:36 GMT</pubDate>
    <dc:creator>susekar</dc:creator>
    <dc:date>2025-12-24T20:43:36Z</dc:date>
    <item>
      <title>Advanced Authentication Cortex API</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/advanced-authentication-cortex-api/m-p/1243624#M8910</link>
      <description>&lt;P&gt;Does anybody have any examples of how they have implemented Advanced Auth for the Cortex API&lt;BR /&gt;&lt;BR /&gt;I only have PowerShell available examples using that that would be preferred, but I can probably interpret most scripting languages.&lt;BR /&gt;&lt;BR /&gt;If not examples, maybe links to articles discussing the process to implement it&amp;nbsp;more generally.&lt;BR /&gt;&lt;LI-PRODUCT title="Cortex XDR" id="Cortex_XDR"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Dec 2025 14:13:41 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/advanced-authentication-cortex-api/m-p/1243624#M8910</guid>
      <dc:creator>ianatgrafton</dc:creator>
      <dc:date>2025-12-10T14:13:41Z</dc:date>
    </item>
    <item>
      <title>Re: Advanced Authentication Cortex API</title>
      <link>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/advanced-authentication-cortex-api/m-p/1244579#M8933</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://live.paloaltonetworks.com/t5/user/viewprofilepage/user-id/110844"&gt;@ianatgrafton&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Greetings for the day!&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Implementing Advanced Authentication for the Cortex Public API requires specific cryptographic logic to prevent replay attacks. While official Knowledge Base articles primarily provide PowerShell examples for Standard authentication, the logic for Advanced authentication is documented in Python and can be translated to PowerShell using .NET classes.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Advanced Authentication Requirements:&lt;/STRONG&gt;&lt;BR /&gt;Unlike Standard authentication, which passes the raw API key in the Authorization header, Advanced authentication requires a dynamic signature for every request. The following headers are mandatory:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;x-xdr-auth-id: The API Key ID retrieved from the Cortex XDR console.&lt;BR /&gt;x-xdr-timestamp: The current UTC time in milliseconds.&lt;BR /&gt;x-xdr-nonce: A unique, randomly generated 64-character alphanumeric string.&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;Authorization: A SHA256 hex digest of the combined string: API_KEY + NONCE + TIMESTAMP.&lt;/P&gt;
&lt;P&gt;---------&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;&lt;STRONG&gt;General Reference for Standard Auth (PowerShell):&lt;/STRONG&gt;&lt;BR /&gt;For reference, the simpler Standard implementation looks like this:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;$headers = @{&lt;BR /&gt;"x-xdr-auth-id" = "&amp;lt;API_ID&amp;gt;"&lt;BR /&gt;"Authorization" = "&amp;lt;API_KEY&amp;gt;" # Note: Raw key, no hashing&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;Invoke-RestMethod -Method 'Post' -Uri $url -Headers $headers -Body $jsonBody -ContentType "application/json"&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Ref Article: (How to make a request to the Cortex XDR API using the PowerShell only)&lt;/P&gt;
&lt;P&gt;&lt;A href="https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000kGi7CAE" target="_blank"&gt;https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA14u000000kGi7CAE&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you feel this has answered your query, please let us know by clicking Like and &lt;STRONG&gt;"Mark this as a Solution".&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;Thanks &amp;amp; Regards,&lt;BR /&gt;S. Subashkar Sekar&lt;/P&gt;</description>
      <pubDate>Wed, 24 Dec 2025 20:43:36 GMT</pubDate>
      <guid>https://live.paloaltonetworks.com/t5/cortex-xdr-discussions/advanced-authentication-cortex-api/m-p/1244579#M8933</guid>
      <dc:creator>susekar</dc:creator>
      <dc:date>2025-12-24T20:43:36Z</dc:date>
    </item>
  </channel>
</rss>

