<?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: Refresh Token issue in APIs &amp; Integrations</title>
    <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1244365#M86675</link>
    <description>&lt;P&gt;BAD_REFRESH_TOKEN in HubSpot is usually one of three things:&lt;BR /&gt;&lt;STRONG&gt;(1) &lt;/STRONG&gt;the user uninstalled/reinstalled the app (token revoked)&lt;BR /&gt;&lt;STRONG&gt;(2) &lt;/STRONG&gt;you’re refreshing in parallel (race condition across workers/instances)&lt;BR /&gt;&lt;STRONG&gt;(3)&lt;/STRONG&gt; you’re using a token issued to a different app/env (mismatch/store mix-up).&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;This checklist covers the common root causes + what to verify (revocation vs rotation vs concurrency):&amp;nbsp;&lt;SPAN&gt;&lt;A href="https://www.nango.dev/blog/hubspot-oauth-bad-refresh-token?utm_source=chatgpt.com" target="_blank" rel="noopener"&gt;https://www.nango.dev/blog/hubspot-oauth-bad-refresh-token&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;It has OAuth implementations for hundreds of APIs (including HubSpot) and handles token refresh, concurrency, broken token detection, etc., for you.&lt;/P&gt;</description>
    <pubDate>Fri, 23 Jan 2026 10:01:49 GMT</pubDate>
    <dc:creator>OA0023</dc:creator>
    <dc:date>2026-01-23T10:01:49Z</dc:date>
    <item>
      <title>Refresh Token issue</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/998279#M74620</link>
      <description>&lt;P&gt;I have built a private API that receive messages from chat from Hubspot.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have 2 applications sending messages to my API. Both were working fine but since a week, one app crash due to an issue with the refresh token.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I receive a message in my API, I get a HubspotLink object which contains&amp;nbsp;refreshToken=eu1-ad...b2, tokenExpire=2024-06-27T15:10:14.805Z&lt;/P&gt;&lt;P&gt;My working application, if the refresh token is expired go through this function:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture d’écran 2024-06-27 à 16.16.15.png" style="width: 999px;"&gt;&lt;img src="https://community.hubspot.com/t5/image/serverpage/image-id/120647i198C4E3E772DB8EE/image-size/large?v=v2&amp;amp;px=999" role="button" title="Capture d’écran 2024-06-27 à 16.16.15.png" alt="Capture d’écran 2024-06-27 à 16.16.15.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;and then I have a working access token then everything goes well&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My failing application has exactly the same behavior until it reach the function to get a new refresh token (see screenshot). There, it goes in the "If" and gives me "Error 400 while getting token {"status":"BAD_REFRESH_TOKEN","message":"missing or invalid refresh token","correlationId":"663b9397-c63b-4809-ba4f-0599049db23b"}"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why the refresh token is now considered as invalid ? Is there something i'm supposed to do in hubspot settings because I see nothing I can do in the code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;thanks !&lt;/P&gt;</description>
      <pubDate>Thu, 27 Jun 2024 15:10:14 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/998279#M74620</guid>
      <dc:creator>RMelliti</dc:creator>
      <dc:date>2024-06-27T15:10:14Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh Token issue</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/998405#M74627</link>
      <description>&lt;P&gt;&lt;SPAN&gt;It looks like the refresh token has been got incorrectly.&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;As soon as the access token expires, call the refresh token function it will update the refresh token and return a new access token.&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;Please see the code attached:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="02974_1-1719511091183.png" style="width: 400px;"&gt;&lt;img src="https://community.hubspot.com/t5/image/serverpage/image-id/120669iE81CFCE3E2E44DC2/image-size/medium?v=v2&amp;amp;px=400" role="button" title="02974_1-1719511091183.png" alt="02974_1-1719511091183.png" /&gt;&lt;/span&gt;&lt;SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;Best regards,&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="02974_0-1719510898077.png" style="width: 392px;"&gt;&lt;img src="https://community.hubspot.com/t5/image/serverpage/image-id/120668i92FA3D317E26080D/image-dimensions/392x141?v=v2" width="392" height="141" role="button" title="02974_0-1719510898077.png" alt="02974_0-1719510898077.png" /&gt;&lt;/span&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 27 Jun 2024 18:02:07 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/998405#M74627</guid>
      <dc:creator>AddaxLab</dc:creator>
      <dc:date>2024-06-27T18:02:07Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh Token issue</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1003289#M74885</link>
      <description>&lt;P&gt;It's already what I'm doing but somehow, I have&amp;nbsp;&lt;SPAN&gt;"Error 400 while getting token {"status":"BAD_REFRESH_TOKEN","message":"missing or invalid refresh token","correlationId":"663b9397-c63b-4809-ba4f-0599049db23b"}"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Somehow, it seems that my application send corrupted token or something consider as invalid by the API&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 10 Jul 2024 09:48:21 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1003289#M74885</guid>
      <dc:creator>RMelliti</dc:creator>
      <dc:date>2024-07-10T09:48:21Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh Token issue</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1046234#M76933</link>
      <description>&lt;P&gt;HI &lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/20405"&gt;@himanshurauthan&lt;/a&gt;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/324811"&gt;@zach_threadint&lt;/a&gt;&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Hope you'll be able to understand our issue :&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;P&gt;About the refresh token issue, It's already what we're doing but somehow, we still have&amp;nbsp;&lt;SPAN&gt;"Error 400 while getting token {"status":"BAD_REFRESH_TOKEN","message":"missing or invalid refresh token","correlationId":"663b9397-c63b-4809-ba4f-0599049db23b"}"&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Somehow, it seems that our application send corrupted token or something consider as invalid by the API.&lt;BR /&gt;&lt;BR /&gt;Really need your help please.&lt;BR /&gt;Regards.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 26 Sep 2024 07:56:57 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1046234#M76933</guid>
      <dc:creator>Guyomeo</dc:creator>
      <dc:date>2024-09-26T07:56:57Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh Token issue</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1047492#M76994</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.hubspot.com/t5/user/viewprofilepage/user-id/783834"&gt;@Guyomeo&lt;/a&gt;&amp;nbsp;&lt;span class="lia-unicode-emoji" title=":waving_hand:"&gt;👋&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Is it possible that this is a result of your app being uninstalled? To test this, I'd suggest using the GET HubSpot OAuth Refresh Token endpoint. For example:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-unlink="true"&gt;&lt;STRONG&gt;GET&lt;/STRONG&gt; https://api.hubapi.com/oauth/v1/refresh-tokens/&lt;STRONG&gt;YOUR_REFRESH_TOKEN&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;If you receive a 404 Not Found error response, this means you've made a mistake in your capture/storage/retrieval of the given refresh token, or the refresh token is no longer valid because the app has been uninstalled from the given HubSpot Portal.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I hope that proves helpful. Please let me know if you have any follow-up questions.&lt;/P&gt;</description>
      <pubDate>Sun, 29 Sep 2024 02:02:34 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1047492#M76994</guid>
      <dc:creator>zach_threadint</dc:creator>
      <dc:date>2024-09-29T02:02:34Z</dc:date>
    </item>
    <item>
      <title>Re: Refresh Token issue</title>
      <link>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1244365#M86675</link>
      <description>&lt;P&gt;BAD_REFRESH_TOKEN in HubSpot is usually one of three things:&lt;BR /&gt;&lt;STRONG&gt;(1) &lt;/STRONG&gt;the user uninstalled/reinstalled the app (token revoked)&lt;BR /&gt;&lt;STRONG&gt;(2) &lt;/STRONG&gt;you’re refreshing in parallel (race condition across workers/instances)&lt;BR /&gt;&lt;STRONG&gt;(3)&lt;/STRONG&gt; you’re using a token issued to a different app/env (mismatch/store mix-up).&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;This checklist covers the common root causes + what to verify (revocation vs rotation vs concurrency):&amp;nbsp;&lt;SPAN&gt;&lt;A href="https://www.nango.dev/blog/hubspot-oauth-bad-refresh-token?utm_source=chatgpt.com" target="_blank" rel="noopener"&gt;https://www.nango.dev/blog/hubspot-oauth-bad-refresh-token&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR /&gt;It has OAuth implementations for hundreds of APIs (including HubSpot) and handles token refresh, concurrency, broken token detection, etc., for you.&lt;/P&gt;</description>
      <pubDate>Fri, 23 Jan 2026 10:01:49 GMT</pubDate>
      <guid>https://community.hubspot.com/t5/APIs-Integrations/Refresh-Token-issue/m-p/1244365#M86675</guid>
      <dc:creator>OA0023</dc:creator>
      <dc:date>2026-01-23T10:01:49Z</dc:date>
    </item>
  </channel>
</rss>

